DeepSeek Harness plugin

dsh-todo-guard

Reliable todo panel for DSH: survives restarts, verifies completion evidence

Jump to install

Source facts

Repository
a903067276-rgb/dsh-todo-guard
Latest update
Aug 22, 2026
Category
Development & Runtime
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/a903067276-rgb/dsh-todo-guard
Plugin: dsh-todo-guard
Author: a903067276-rgb

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-todo-guard ✅

English | 简体中文

!License: MIT

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.

Screenshot

![dsh-todo-guard panel](assets/todo-panel.png)

Requirements

  • DSH web >= 0.1.0-rc.6 (run with npx @deepseek-ai/dsh web)
  • Version compatibility (best effort — the settings card uses dual-field key+id registration to satisfy both rc.6 (id) and rc.7+ (key); verified locally on rc.6/rc.8/0.1.1-rc.2, not guaranteed on every DSH version):

- DSH 0.1.0-rc.6 and newer (incl. 0.1.1-rc.1/rc.2): try main (default). - Conservative fallbacks (the last pre-0.1.1 build): DSH 0.1.0-rc.7/rc.8 → v0.1.4 (dsh plugin add github:a903067276-rgb/dsh-todo-guard#v0.1.4); DSH 0.1.0-rc.6 → frozen rc6-compat tag (no maintenance).

  • Maintenance policy: this plugin keeps evolving with the latest DSH releases; compatibility with older DSH versions is best-effort only and not guaranteed going forward.

Features

  • Restart-proof panel — replaces the official todo strip (conversation.input.dock cell, shadowed at priority: -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-execute waterfall intercepts todo_write before 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