前言¶
在 DSH 的插件式開發中,長任務智能體常會遇到一個實際問題:初始需求已經明確,但執行到後面,範圍、約束或方向可能悄悄改變。已有做法裏,Plan Mode 通常在實現前回答“計劃是否正確”;dsh-requirements-alignment 關注的是執行期間“是否仍在解決同一個問題”。
它由 jiezeng2004-design 維護,許可證爲 MIT,package.json 版本爲 0.4.2,要求 Node.js >=22.18.0,packageManager 爲 pnpm@11.19.0。
這是什麼¶
dsh-requirements-alignment 是一個 DeepSeek Harness(DSH)插件,定位爲運行時需求漂移防護。它把用戶請求轉換爲可持續維護的 requirement baseline,並在 agent 執行過程中保護該基線。
它不修改 plan mode、exit_plan_mode,也不修改任何 @deepseek-ai/* core package。
核心機制¶
建立需求基線¶
插件會建立並維護 requirement baseline,字段包括:
goalexplicitConstraintsmustPreserveallowedScopeuserDecisionsopenDirectionDecisions
establish_baseline 工具用於記錄基線。該操作不詢問用戶;重複記錄會提升 baseline revision。
檢測方向級漂移¶
在默認 auto 模式下,插件會把 drift-guard 策略以 order 60 注入每個 agent 的 prompt。它關注的是方向級變化,例如:
- 範圍擴張
- 約束衝突
- 用戶可見行爲變化
- 架構變化
- 假設失效
- 用戶方向變化
記錄漂移並詢問用戶¶
report_drift 工具會記錄一個 drift candidate,並通過 native user-questions channel 向用戶詢問一次,隨後記錄用戶決策。
默認情況下會提供 approve 與 stay-within-scope 選項。用戶選擇 exact note 時,結果可映射爲 approve、reject 或 revise。
只有本插件管理的 alignment state 會進入 requirement baseline;無關的 ask_user_question calls 不會污染該基線。
命令與模式¶
/align¶
/align 用於檢查當前對齊狀態,並觸發一次新的 alignment inspection。它只做檢查,不阻塞執行。
/align-mode¶
/align-mode 用於查看模式快照,並設置 runtime override。
持久化 runtime override:
/align-mode auto
/align-mode manual
/align-mode off
移除 runtime override:
/align-mode reset
資料還給出單 session 切換方式,僅影響調用該命令的 session 的 effective mode:
/align-mode session
四層模式模型¶
插件使用四層模式模型:session override、runtime override、profile default、effective mode。
effective mode 按以下順序取第一個有效值:
valid session override -> valid runtime override -> valid profile default -> auto
如果某個已持久化的 mode value 無效,插件會回退到 next valid layer 或 profile default,並可能 repair settings document。
狀態持久化¶
canonical alignment state 持久化到 AlignmentStateStore sidecar,後端爲 official storage-domain over storage-json。該狀態不寫入 session events;session log 只接收 official DSH events。
它支持 resume、fork、compaction 恢復。Session override 由 session lifecycle identity 鍵控,資料中提到 id + createdAt + cwd;fork 會在 seed boundary 繼承 effective session override。
alignment/* 事件詞彙僅用於 legacy compatibility、migration 和 test/fold fallbacks;production never appends it。
安裝與啓用¶
資料中的安裝命令均帶 --profile web。資料中出現過 registry 形式的安裝命令:
dsh plugin --profile web add dsh-requirements-alignment
如有本地 checkout,資料中也給出以下形式:
dsh plugin --profile web add <path-to-this-checkout>
插件以 profile bundle 安裝,包含 dsh.bundle.patch 與 cordis.patch.yml,並添加兩個條目:
requirements-alignmentrequirements-alignment-ask-user
Web client 會注入:
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale
典型用法¶
1、安裝插件:
dsh plugin --profile web add dsh-requirements-alignment
2、啓動普通 DSH 任務。默認開啓 auto 模式;清晰任務會以零中斷方式運行,只有在執行即將改變方向時才詢問用戶。
3、隨時使用 /align 檢查當前執行是否仍匹配 requirement baseline。
4、需要改變運行模式時,使用:
/align-mode auto
/align-mode manual
/align-mode off
5、需要移除 runtime override 時,使用:
/align-mode reset
適用場景與注意¶
它適合需要在長任務中保持需求方向一致的 DSH 插件工作流。它可以與 Plan Mode 組合使用:Plan Mode 關注實現前的計劃審查,dsh-requirements-alignment 關注實現中的方向保持。
注意:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。 - 本插件許可證爲 MIT。
- 資料只給出帶
--profile web的安裝命令,未說明所有安裝是否都必須如此。 - 資料同時出現 registry 形式與本地 checkout 形式,未明確唯一推薦命令。
結尾¶
dsh-requirements-alignment 的價值在於把“用戶意圖”從一次性 prompt 變成可持續維護的運行時基線:記錄方向,觀察漂移,必要時詢問一次,並把決策寫回基線。
GitHub 倉庫:
https://github.com/jiezeng2004-design/dsh-requirements-alignment