dsh-todo-guard
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 19, 2026
- Updated
- Aug 19, 2026
Introduction
dsh-todo-guard ✅
A reliable todo panel plugin for DeepSeek Harness (dsh) web: the todo strip survives restarts (works around the official panel disappearing after a restart), and completion is verified against evidence paths.
Unofficial project: independently developed and maintained by a community member, not an official DeepSeek product.
Features
- Restart-proof panel — replaces the official todo strip (
conversation.input.dockcell, shadowed atpriority: -1); after a dsh restart, reopening the session shows the todo list again - Completion verification (three states) — when the agent marks a todo
completed, evidence is checked automatically:(证据:路径)and the path exists → ✅ green check (verified)(证据:路径)but the path does not exist → 🚫 blocked, the agent gets a clear error and must fix it- no evidence marker → ⚠️ allowed, the item shows a yellow "unverified" badge (no false blocks on "did it but forgot to write evidence"; visible at a glance)
Evidence syntax
Write (证据:路径) inside a todo item (multiple allowed). Relative paths resolve against the session working directory; absolute paths work as-is:
Fix the button(证据:lib/index.js)
Run tests(证据:test/run.log)(证据:docs/result.md)
Install
dsh plugin --profile web add "github:a903067276-rgb/dsh-todo-guard#main"
# restart dsh web to activate
How it works (why it survives restarts)
- Data: todos live in the session event stream (official
todo/write, last-wins whole-list), persisted on disk — the official panel just fails to re-render them after a restart - Panel: official
useProjection('todos')projection + same-id slot shadowing (priority: -1, lowest renders) — official interfaces only - Verification: official
tools/pre-executewaterfall interceptstodo_writebefore it commits; failed evidence denies the write with a readable reason
Notes
- Pure local logic: zero model calls, zero token cost
- Fake files are the verification boundary: an existing path does not prove the work was done, but the unverified badge keeps the loop honest
- Strict mode (block when evidence is missing) is planned for v2
License
MIT