dsh-requirements-alignment:DeepSeek Harness 的需求漂移防護插件

前言

在 DSH 的插件式開發中,長任務智能體常會遇到一個實際問題:初始需求已經明確,但執行到後面,範圍、約束或方向可能悄悄改變。已有做法裏,Plan Mode 通常在實現前回答“計劃是否正確”;dsh-requirements-alignment 關注的是執行期間“是否仍在解決同一個問題”。

它由 jiezeng2004-design 維護,許可證爲 MIT,package.json 版本爲 0.4.2,要求 Node.js >=22.18.0packageManagerpnpm@11.19.0

這是什麼

dsh-requirements-alignment 是一個 DeepSeek Harness(DSH)插件,定位爲運行時需求漂移防護。它把用戶請求轉換爲可持續維護的 requirement baseline,並在 agent 執行過程中保護該基線。

它不修改 plan modeexit_plan_mode,也不修改任何 @deepseek-ai/* core package。

核心機制

建立需求基線

插件會建立並維護 requirement baseline,字段包括:

  • goal
  • explicitConstraints
  • mustPreserve
  • allowedScope
  • userDecisions
  • openDirectionDecisions

establish_baseline 工具用於記錄基線。該操作不詢問用戶;重複記錄會提升 baseline revision

檢測方向級漂移

在默認 auto 模式下,插件會把 drift-guard 策略以 order 60 注入每個 agent 的 prompt。它關注的是方向級變化,例如:

  • 範圍擴張
  • 約束衝突
  • 用戶可見行爲變化
  • 架構變化
  • 假設失效
  • 用戶方向變化

記錄漂移並詢問用戶

report_drift 工具會記錄一個 drift candidate,並通過 native user-questions channel 向用戶詢問一次,隨後記錄用戶決策。

默認情況下會提供 approvestay-within-scope 選項。用戶選擇 exact note 時,結果可映射爲 approverejectrevise

只有本插件管理的 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 overrideruntime overrideprofile defaulteffective 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.patchcordis.patch.yml,並添加兩個條目:

  • requirements-alignment
  • requirements-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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜