前言¶
DeepSeek Harness(DSH)裏,模型通過 todo_write 維護任務列表;面板展示的是會話投影,只有再次調用 todo_write 時整表纔會被替換更新。多步、工具密集的回合裏,常見兩種脫節:模型先寫計劃再連續執行 bash、read、edit 等調用,注意力在工具輸出上,面板長時間停在第一項 in_progress;或者工作已在最後一步用文字答完、該步沒有工具調用,回合結束時仍顯示「1 in progress · N pending」。下面介紹 Host 側 Cordis 插件 dsh-todo-progress-guard,在不改 DSH 核心、不新增會話事件類型的前提下,用兩種機制補齊上述缺口。
這是什麼¶
dsh-todo-progress-guard 是 DSH Host 插件(npm 包名同插件 id),維護者爲 GitHub 用戶 LaochenFEIZHAI,社區目錄分類爲工作流。簡介原文:在回合中途提醒模型刷新 todo_write,並在回合正常結束時把遺留項收束爲已完成,使待辦進度與 agent 實際進展一致。
核心功能¶
插件只做兩件事,對應 README 中的 Two mechanisms。
回合內提醒(tools/post-execute)¶
當前回合存在未完成的待辦列表,且模型連續若干步或若干次其他工具調用而未調用 todo_write 時,插件在該步最後一次工具結果之後注入一條上下文消息(source.kind = "todo-progress-reminder",form: "notice",在聊天流裏以可摺疊注入行展示)。正文會原樣重複當前列表,便於模型在下一步直接 todo_write 整表更新,而無需翻遠歷史。
回合結束補全(agent/turn-stopping)¶
回合正常結束前(在寫入 turn/end 之前、回合仍合法打開時),將仍停留在 in_progress 或 pending 的項通過一次 todo/write 快照寫回爲 completed,避免面板在任務已做完後仍顯示進行中。
安全邊界(資料原文):僅在回合確實做過工作時補全;中止、被中斷、已排隊下一步、ask_user_question / exit_plan_mode 等待人工、列表已全部 completed、或列表剛創建且尚未運行其他工具等情況下不會追加完成。插件只追加 todo/write,不改寫歷史。
安裝與啓用¶
推薦在 Web UI:Plugins → Install,粘貼下列任一 spec,會同時添加依賴並選中 bundle,補丁立即生效且無需重啓:
github:LaochenFEIZHAI/dsh-todo-progress-guard
/absolute/path/to/dsh-todo-progress-guard
dsh-todo-progress-guard
CLI 僅安裝包(dsh plugin 爲 pnpm 透傳,不會自動選中 bundle):
dsh plugin --profile web add github:LaochenFEIZHAI/dsh-todo-progress-guard
安裝後須在 Plugins 頁面啓用一次 dsh-todo-progress-guard(等價於寫入 profile 的 dsh.profile.bundles),cordis.patch.yml 纔會生效。
配置¶
默認可直接使用。若需調節,在 profile 自有 cordis.patch.yml 中按 id 覆蓋 config(patch 層會整段替換 config,需寫全三個鍵):
- id: todo-progress-guard
config:
stepThreshold: 2
callThreshold: 5
autoCompleteOnTurnEnd: true
| 字段 | 默認 | 含義 |
|---|---|---|
stepThreshold |
2 |
自上次 todo_write 起,經過多少模型步後提醒 |
callThreshold |
5 |
自上次 todo_write 起,經過多少次其他工具調用後提醒(至少一步) |
autoCompleteOnTurnEnd |
true |
回合正常結束時是否自動將遺留項標爲 completed |
兩個閾值爲 OR 關係,先達到者觸發;每步最多一條提醒,計數在回合邊界重置。非法值回退默認,不導致激活失敗。
兼容性與開發¶
- 依賴 Host 的
sessions與sessionProjections;缺失時插件保持 inactive(plaininject),不拖垮組合。 - README 寫明在 DSH
0.2.0-rc.2上驗證;使用的擴展點均爲該版本的公開契約。 - 零運行時依賴,不 import DSH 包;
engines.node爲>=20。 - 許可證 MIT;當前 package 版本
1.0.2。
本地驗證:
npm test
適用場景與注意¶
適合在 DSH 中依賴 todo_write 做多步任務規劃、且單回合內工具調用較多的工作流。插件以當前 DSH 進程權限運行,安裝前請自行查看倉庫源碼與 MIT 許可證。社區目錄站點與 DeepSeek / 幻方無官方從屬關係,僅爲生態插件索引。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/LaochenFEIZHAI/dsh-todo-progress-guard
- 倉庫:https://github.com/LaochenFEIZHAI/dsh-todo-progress-guard