DeepSeek Harness 插件

JessenReinhart/dsh-poke-todo

Star 数 ★ 0 分类 工作流与自动化 收录于 2026-10-16

把 jcode 的自动催办搬了过来:会话里还有未完成待办时,空闲的 agent 会被推着继续做。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:JessenReinhart/dsh-poke-todo

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

A DeepSeek Harness Cordis plugin that ports the auto-poke behavior from 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:

dsh plugin --profile <name> add dsh-poke-todo

For a local checkout, use the repo installer (runs pnpm add link: and registers the bundle):

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

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.

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。