Bundle
dsh-poke-todo
DeepSeek Harness Cordis plugin porting jcode's auto-poke incomplete-todos feature.
- Source
- JessenReinhart
- License
- MIT
- Updated
- Updated 7 days ago
Readme
# dsh-poke-todo A [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness) Cordis plugin that ports the **auto-poke** behavior from [jcode](https://github.com/1jehuang/jcode). When an agent is about to finish a turn while its session still has incomplete todos, the Host half injects a synthetic continuation: > You have N incomplete todo(s). Continue working, or update the todo tool. The plugin listens to the DSH `agent/turn-stopping` serial event, queries the session's current todo projection from `sessionProjections`, and calls `agent.steer()` to continue the turn instead of idling. ## Install The plugin declares a `dsh.bundle` manifest, so a published build is installed with the DSH CLI: ```sh dsh plugin --profile <name> add dsh-poke-todo ``` For a local checkout, use the repo installer (runs `pnpm add link:` and registers the bundle): ```sh node scripts/install.mjs --profile desktop --from local ``` ## Layout - `lib/index.js` — static ES module exporting the Cordis contract (`name`, `inject`, `apply`). - `plugin/host.js` — dynamic host function body for `cordis_define`. - `plugin/client.js` — client-side RPC bridge and styles for dynamic installation. - `cordis.patch.yml` — bundle layer patch for permanent profile compositions. - `scripts/install.mjs` — profile installer. - `scripts/define-payload.mjs` — emits the dynamic `cordis_define` JSON payload. - `test/` — unit tests for the host and static modules. ## Safety & semantics - Up to `MAX_CONSECUTIVE_POKES = 3` consecutive pokes per session before the circuit breaker trips. - The budget resets when a genuine human message is claimed (`agent/inbox/claimed`). - `completed`, `cancelled`, and `canceled` are treated as finished. - Aborted turns (`signal.aborted`) are ignored. ## Publish ```sh npm version patch && npm publish ``` The bundle manifest in `package.json` (`dsh.bundle.patch`) and the root `cordis.patch.yml` make the published package installable via `dsh plugin add`.
Install
dsh plugin --profile web add github:JessenReinhart/dsh-poke-todo
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-poke-todo from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.