A local task checklist plugin for DeepSeek Harness. It lets an Agent create tasks, filter them by state or tag, mark work complete, and export a clean Markdown checklist.
All task data stays in the current working directory under .dsh/task-checklist/tasks.json. The plugin does not send task data over the network.
You need Node.js 22 or newer, pnpm, and a DeepSeek Harness installation that supports JavaScript or TypeScript plugins.
Copy and run:
git clone https://github.com/fff122/dsh-task-checklist.git
cd dsh-task-checklist
pnpm install
pnpm buildRun this command from the repository root:
cat > task-checklist.patch.yml <<EOF
- insert:
- id: dsh-task-checklist
name: '$PWD/dist/src/index.js'
EOFThe plugin path is absolute because the Harness patch loader requires an absolute path.
If Harness is installed as a command:
dsh web --patch "$PWD/task-checklist.patch.yml"Otherwise, run:
npx @deepseek-ai/dsh web --patch "$PWD/task-checklist.patch.yml"Ask the Agent:
创建一个任务:准备周五的项目演示。标签用 work 和 demo,优先级为 high。
If the plugin is loaded, the Agent can use task_create. You can then ask it to list unfinished tasks, complete a task by id, or export a Markdown checklist.
| Tool | Purpose |
|---|---|
task_create |
Create a task with a title and optional details, tags, and priority. |
task_list |
List tasks, optionally filtered by todo or done status and matching tags. |
task_complete |
Mark a task complete using its id. |
task_export_markdown |
Export matching tasks as a Markdown checklist. |
Each Harness working directory has its own checklist at .dsh/task-checklist/tasks.json. Writes are atomic, so an interrupted write cannot leave a partially written data file. Task identifiers are returned by task_create and task_list; use them with task_complete.
The tag filter is an all tags filter. For example, filtering by work and demo returns only tasks that have both tags.
From the cloned repository:
git pull
pnpm install
pnpm buildRestart Harness with the same patch command after rebuilding.
Run the complete package quality gate from the repository root:
pnpm run format:check
pnpm run typecheck
pnpm run test
pnpm run buildThe implementation is deliberately separated into small modules:
src/
index.ts # Harness entry point and tool registration
task-schema.ts # Task types and input normalization
task-store.ts # Local persistence, filtering, completion, and export
test/
index.test.ts
mount.test.ts
task-schema.test.ts
task-store.test.ts
For the plugin model and patch overlay format, see the official DeepSeek Harness plugin guide.