dsh-clarify-mode:動手前先問清楚需求

前言

在 DeepSeek Harness(DSH)裏讓 Agent 寫代碼,常見翻車點往往不是模型能力,而是需求沒說全:邊界、失敗處理、誰能用、刪了要不要找回——這些往往在實現中途纔想起來,導致返工。口頭囑咐「先別寫,多問幾句」很難穩定生效,因爲寫文件、跑命令的工具仍在 Agent 可見列表裏。

dsh-clarify-mode(維護者 xiaofeng-bm)是 DSH 生態裏的工作流類插件:通過 /clarify 進入需求澄清模式,在恢復寫文件能力之前,用多輪結構化問答把目標、不做項和驗收標準收攏成一份 spec。下文介紹它的機制、安裝方式與典型用法。DSH 社區插件目錄見 SkillHub 條目,與 DeepSeek / 幻方無官方從屬關係;插件以當前 DSH 進程權限運行,安裝前請自行查看 GitHub 源碼 與 MIT 許可證。

這是什麼

插件在 Harness 裏增加一種只問不寫的會話階段:用戶描述想做之事,Agent 一次一問(帶「爲什麼問」和默認選項),必要時解釋術語且不重複計輪;P0 盲區覆蓋且能寫出可判真假的驗收標準後出具需求確認卡,用戶確認後將 spec 寫入 .dsh/clarify/spec.md,再解鎖 write / edit / bash 等工具。

當前 package 版本爲 0.1.0,要求 dsh 版本 >=0.2.0-rc.2。

核心機制

只問不寫(硬約束)

澄清模式開啓後,write、edit、bash、subagent 等從模型可見工具表移除,不是靠提示詞約束,而是 Agent 根本看不見這些工具。README 註明模式內 subagent 亦被禁用,避免通過子 Agent 繞開限制。

會解釋、不佔輪次

用戶對題目中的名詞有疑問時,Agent 用不超過 3 行說明並給一個場景例子,然後用同一題 id 重問,不消耗提問輪次。若同一題解釋兩次仍不明白,會換更易理解的問法,而不是第三次長篇解釋。

問清爲止,有軟頂與硬頂

開問前,模型從盲區清單中篩 3–8 條本次必須問清的項並標 P0/P1。P0 全部覆蓋且驗收標準能寫出至少 3 條可驗證項即可提前收工;否則繼續問,最多 12 輪硬頂強制收尾(可通過配置調整,見下文)。收工時給出目標、明確不做的、驗收標準;用戶確認後落盤 spec 並恢復工具。

默認可通過 cordis.patch.yml 配置 softRounds: 5、maxRounds: 12:softRounds 爲軟節奏線,超過後提示回看待辦表但不截斷;maxRounds 爲硬頂。

安裝與啓用

插件市場:在 DSH 設置 → 插件市場 中搜索「澄清」。

手工安裝(README 原文命令,web profile 示例):

dsh plugin --profile web add dsh-clarify-mode

安裝目錄位於 ~/.dsh/profiles/<profile>/node_modules/dsh-clarify-mode/。行爲主要由包內的 policy.md、dimensions.md 決定,修改後下一輪生效,無需重啓進程。

典型用法

進入模式並說明需求:

/clarify                    進入模式,然後說你的需求
/clarify 我想做個記賬小程序   進入模式並直接開始
/clarify off                退出,恢復寫文件能力

Web 界面下,模式開啓時輸入框左側會出現 澄清 · 已問 N ✕ 標籤,點擊可退出。每張問題卡提供「夠了,直接開始」,可不等問完即叫停。

確認需求卡選「確認,開始做」後,README 示例輸出爲:spec.md 已寫入 .dsh/clarify/spec.md,澄清模式退出,工具恢復,隨後進入實現階段。演示對話(記賬小程序、是否多人使用、軟刪除、導出等)見 項目 README。

配置與自定義

在 profile 的 cordis.patch.yml 中可補丁配置,例如:

- id: clarify-mode
  name: "dsh-clarify-mode"
  config:
    softRounds: 5
    maxRounds: 12

README 配置表摘要:

鍵 默認 說明
softRounds 5 軟節奏線
maxRounds 12 硬頂輪次
domain auto 領域預設:web-app / miniapp / bot / script / api / auto
specPath .dsh/clarify/spec.md 確認後 spec 路徑
hiddenTools write, edit, bash, subagent, ... 模式內隱藏的工具列表
customDimensions [] 追加訪談維度
customRules '' 追加協議規則
standbyHint true 模式外是否注入提示

policy.md 控制訪談協議;dimensions.md 爲領域盲區清單,增刪行即可改變提問範圍。

適用場景與注意

適合:vibe coding 或 spec-driven 流程中,希望在改倉庫前先固化驗收標準;團隊習慣把「不做什麼」寫清楚的場景。

注意:

  • 澄清狀態標籤僅 Web 客戶端注入;TUI / headless 下主要依賴 /clarify 命令。
  • 需求卡「確認」不計入輪次;選「再問幾個問題」會使預算加 2。
  • 輪次按問題 id(q1…qN)計數,同一題重問沿用同一 id,不重複計數。
  • 插件與本地代碼、Shell 同級權限,安裝前請審閱源碼與許可證。

結尾

dsh-clarify-mode 把「先澄清再實現」做成 Harness 內的硬約束工作流:問清 P0、出驗收清單、確認後寫 spec,再放開寫文件。目錄頁:SkillHub — dsh-clarify-mode;源碼與完整演示:github.com/xiaofeng-bm/dsh-clarify-mode。

羽毛球分组比赛记分
小程序二维码

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

小夜