前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的理念,開發者可以針對特定場景擴展功能。在開發智能體時,模型經常在沒有完成 Todo 列表項的情況下結束對話,或者在沒有跟蹤進度的情況下陷入循環。dsh-todo-continuation 插件旨在解決這一問題,通過門禁機制與建議性提示,幫助智能體在 agent/turn-stopping 邊界保持工作流的完整性。
插件簡介¶
dsh-todo-continuation 是由 DoiiarX 維護的一個 DSH 插件。它作爲 Todo 門禁與提示插件,在 agent/turn-stopping 邊界依據當前 turn 的最新 todo/write 快照決定是否放行結束,並對“長期不用 Todo”和“長期不更新 Todo”給出建議性提示。
核心功能¶
- 停止門禁:噹噹前 turn 存在未完成、且不以“等待用戶”前綴開頭的 todo 時,插件會注入一條繼續消息,讓模型在同一 turn 內繼續推進,而不是帶着未完成項結束。
- 無 Todo 提示:連續
noTodoPromptEveryNTurns(默認 5)輪沒有任何 todo 快照時,提示模型使用todo_write規劃與跟蹤工作。 - 過期 Todo 提示:已有 todo 列表卻連續
staleTodoPromptEveryNTurns(默認 20)輪不更新時,提示模型保持列表最新。
安裝與啓用¶
安裝依賴:
cd <本插件目錄>
pnpm install
在 $HOME/.dsh/profiles/web/package.json 中掛載插件:
{
"dependencies": {
"@doiiarx/dsh-todo-continuation": "link:<本插件目錄絕對路徑>"
},
"dsh": {
"profile": {
"bundles": [
"@doiiarx/dsh-todo-continuation"
]
}
}
}
然後在 profile 目錄運行 pnpm install。
典型用法¶
在設置頁的「Todo 門禁」小節中,可以編輯以下配置項:
* waitingTodoPrefixes:未完成項以此開頭時視爲「等待用戶」,允許結束(默認:信息不足:、要求用戶確認:)。
* noTodoPromptEveryNTurns:連續多少輪無 Todo 後提示開始使用(默認:5)。
* staleTodoPromptEveryNTurns:已有 Todo 卻連續多少輪不更新後提示保持最新(默認:20)。
適用場景與注意¶
- 職責邊界:插件絕不創建、刪除、完成或改寫 Todo——列表的唯一作者仍是模型。
- 行爲:門禁只把關“能否結束”,兩條提示都是建議性的(不阻止結束),且各自每間隔最多觸發一次,避免每輪催促。
- 安全性:用戶的取消(
agent.cancel)與終態 turn 錯誤在停止邊界前中止,絕不會被門禁覆蓋。 - 運行權限:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
總結¶
該插件通過門禁機制與建議性提示,幫助智能體在 agent/turn-stopping 邊界保持工作流的完整性。更多細節可查看 GitHub 倉庫 或 DSH 社區目錄。