@walknpm/todo-dsh-plugin
A DeepSeek Harness tool plugin that exposes @walknpm/todo-cli as 21 model-callable tools.
Install
npm install @walknpm/todo-dsh-plugin @walknpm/todo-cli
Usage
Create a cordis.yml patch file:
- insert:
- id: todo-dsh-plugin
name: './node_modules/@walknpm/todo-dsh-plugin/src/index.mjs'
config:
srcDir: './node_modules/@walknpm/todo-cli/src'
Start DSH Web with the patch:
node lib/bin.js web --patch ./cordis.yml --host 127.0.0.1 --port 3456
Watch for the load log:
[todo-dsh-plugin] plugin loaded: srcDir=./node_modules/@walknpm/todo-cli/src
[todo-dsh-plugin] registered 21 tools: add, list, get, update, delete, toggle, search, stats, subtask_add, subtask_toggle, subtask_delete, recur, dep_add, dep_remove, timer_start, timer_stop, pin, duplicate, bulk_complete, export, archive
Configuration
| srcDir | string | yes | — | Absolute path to todo_cli/src |
| dataDir | string | no | ~/.todo-cli | Data directory for JSON store |
Registered Tools (21)
Core CRUD
todo_add | title*, priority, tags, category, due, note, assignee, estimate, pinned |
todo_list | status, sort, category, priority, tag, overdue, dueToday |
todo_get | id* |
todo_update | id*, title, priority, tags, category, due, note, assignee, estimate |
todo_delete | id* |
todo_toggle | id* |
todo_search | keyword* |
todo_stats | (none) |
Subtasks
todo_subtask_add | id*, title* |
todo_subtask_toggle | id*, subtaskId* |
todo_subtask_delete | id*, subtaskId* |
Recurring & Dependencies
todo_recur | id*, freq*, interval |
todo_dep_add | id*, depId* |
todo_dep_remove | id*, depId* |
Time Tracking & Pin
todo_timer_start | id* |
todo_timer_stop | id* |
todo_pin | id* |
Bulk & Export
todo_duplicate | id* |
todo_bulk_complete | ids* (number[]) |
todo_export | format (json/csv/md) |
todo_archive | (none) |
* = required
Architecture
DSH Tool Registry
└─ @walknpm/todo-dsh-plugin
├─ todo.js (domain logic from @walknpm/todo-cli)
└─ store.js (JSON persistence)
└─ ~/.todo-cli/todos.json
License
MIT