前言¶
DSH 的插件生態強調「一切皆插件」。在 DSH Web 中運行 Coding Agent 類任務時,開頭寫下的範圍與限制可能隨着輪次增加而被弱化或忽略。Taskify 是一個 DSH Web 插件,目標是不修改 composer 中的原始 Prompt,把“這次只做什麼”和“哪些不能動”作爲持續邊界帶入後續輪次。
下面介紹 GearVoid/dsh-taskify 的定位、核心機制、安裝方式和注意事項。
這是什麼¶
dsh-taskify 是一個 DSH Web 插件,用於爲當前 Session 建立任務邊界:
- 用 Focus 固定當前任務的執行範圍;一個 Session 最多一個 Focus。
- 用 Persistent Anchors 保留用戶明確說出的硬約束;一個 Session 可以有多個 Anchors。
- 不改寫 composer 中的原始 Prompt,也不替用戶自動發送。
- 項目位於 GitHub 倉庫
GearVoid/dsh-taskify,許可證爲 MIT。
核心機制¶
Focus:固定本次最多做到哪裏¶
Focus 回答的問題是:“這次最多做到哪裏?”
- 可以由用戶手寫,也可以來自 AI 建議。
- AI 給出的 Focus suggestion 只是草稿,必須由用戶確認後才成爲當前 Session 的 Focus。
- 用戶可以對 Focus 執行 Set、Edit、Pause、Resume 或 Clear。
Persistent Anchors:保留明確硬約束¶
Persistent Anchors 回答的問題是:“哪些東西不能變?”
- Anchors 從當前 Prompt 或草稿中提取用戶明確說出的硬約束。
- 每個 Anchor 必須帶有來自當前草稿的 exact evidence。
- 偏好或弱化表達不會升級成硬約束;
anchors: []是合法成功結果。 - 用戶可以對單個 Anchor 執行 Pause、Resume、Remove,也可以 Clear All。
提取保護¶
- Literal Lock:保護代碼塊、行內代碼、路徑、URL、IP/端口、版本、CLI 和常見標識符。
- Provenance:evidence 必須是當前草稿的精確子串。
- Concrete Claim Guard:防止 Anchor 憑空加入新路徑、URL、CLI、版本或明顯代碼標識符。
狀態與後續輪次¶
- Host 是權威狀態;Client 只是可丟棄快照緩存。
- Revision/CAS 會拒絕過期寫入。
- Durable replay:當 DSH persistence provider 確認 flush 時,狀態可通過已知事件重放恢復;失敗或不可確認時會明確降級。
- Session isolation:狀態按精確 session id 隔離;新 Session 和 fork 默認不繼承 Focus 或 Anchors。
- 後續輪次通過 DSH 官方
systemPrompt.context獲得 active Focus 與 active Anchors;paused 項不會進入上下文。
安裝與更新¶
使用 Web profile 安裝指定版本:
dsh plugin --profile web add github:GearVoid/dsh-taskify#v0.4.1
執行完成後啓動 Web:
dsh web
已列出的兼容環境如下:
- DeepSeek Harness 啓動器:
0.1.2-rc.1 - DSH 核心插件 API:
0.1.2-rc.1 - DSH Web Client API:
0.1.2-rc.1 - Node.js:
^22.19.0 || >=24.0.0 - pnpm:
11.x(本倉庫使用11.19.0)
典型用法¶
先寫原始任務,再點擊 Taskify,確認邊界,最後發送原始 Prompt。
1、在 composer 中寫原始任務。
2、點擊 Taskify,讓插件建議 Focus 並提取 Anchors。
3、對 Focus 做確認、編輯或忽略;檢查 Anchors。
4、發送原始 Prompt。
5、後續輪次中,active Focus 與 active Anchors 持續進入上下文。
示例輸入:
把 dashboard 卡片佈局改得更緊湊、整齊一點,後端別動,不要新增依賴,也別順手改其他功能
生成結果可以是:
Focus
調整 dashboard 卡片佈局,使其更緊湊、整齊
Anchors
不修改後端
不新增依賴
不處理其他功能
這裏的原始 Prompt 保持不變。
適用場景與注意¶
適合在多輪任務中持續保留“範圍”和“硬約束”的場景,例如只調整某個模塊、不動後端、不新增依賴、不擴展到鄰近功能。
需要注意以下邊界:
- Taskify 是持續的 model guidance,不是 sandbox、policy engine 或機械攔截層。
- 當前不包含文件寫入攔截、依賴安裝攔截、自動 rollback、Git baseline、semantic diff audit、native
/goalreplacement、watchState/polling/WebSocket、多 Client 即時同步、自動任務完成判斷。 - Focus suggestion 不自動生效;只有用戶確認後纔會成爲當前 Session 的 Focus。
- Anchors 只提取明確約束,不會把偏好或弱化表達升級成硬規則。
- 修改尚未發送的草稿只會使 pending/armed request 失效,不會刪除 active Focus 或 Anchors。
- 新 Session 和 fork 默認不繼承 Focus 或 Anchors。
- 插件以當前
dsh進程權限運行。安裝前應檢查源碼與許可證。 - DSH 仍處於 Developer Preview,未來版本可能帶來兼容性變化。
參考¶
- GitHub:
https://github.com/GearVoid/dsh-taskify - 目錄頁(來自插件線索,未在當前抓取資料中逐項覈實):
https://www.skillhub.cn/plugins/GearVoid/dsh-taskify