dsh-plan-first-dev:開發前自動進入 plan mode 的 DSH 插件

前言

在 DSH 中處理代碼開發任務時,常見做法是手動切換到 plan mode,讓模型先給出實現方案,經用戶確認後再開始改代碼。dsh-plan-first-dev 把這個流程做成新會話的默認行爲:代碼開發任務先進入 plan mode,產出完整方案並等待 exit_plan_mode 審批;非開發任務則可通過 no_plan_required 退出 plan mode,直接執行。

下面基於已覈實資料介紹它的功能、安裝方式、配置項和適用場景。

這是什麼

dsh-plan-first-dev 是一個 DeepSeek Harness(DSH)插件,用於“開發前自動進入 plan mode”。倉庫維護者是 asd176916847,許可證爲 MIT。

它通過 dsh.bundle.patch 機制作爲 profile 層安裝,主要做三件事:

  • 在新會話創建時自動開啓 plan mode;
  • 覆蓋 plan-mode 的 section,要求開發任務先提交完整實現方案;
  • 追加 plan-first 開發工作流 persona 指令,並註冊 no_plan_required 工具用於非開發任務退出。

該插件依賴 DSH 內置的 @deepseek-ai/dsh-plan-mode,官方插件隨 dsh 安裝,無需額外安裝。已覈實資料還給出以下 peerDependencies:

@deepseek-ai/dsh-plan-mode ^0.1.0-rc.6
@deepseek-ai/dsh-tools ^0.1.0-rc.6
@deepseek-ai/cordis ^4.0.1

核心功能

1、新會話自動進入 plan mode

插件監聽 agent/created 事件,並調用:

planMode.set(agent, true)

觸發規則是:

  • 會話從未出現過 plan/mode 事件時,自動開啓 plan mode;
  • 用戶曾主動 /plan off 或切換過模式時,不覆蓋用戶選擇。

也就是說,它默認服務新會話,不強行覆蓋用戶已經做過的模式選擇。

2、可以關閉自動開啓

如果只想保留指令層強化,不希望新會話自動進入 plan mode,可以通過配置關閉:

- id: plan-first-dev
  config:
    defaultOn: false

關閉後,插件仍保留 plan-first 相關的指令層約束,但不再自動開啓 plan mode。

3、開發任務必須先提交完整方案

插件覆蓋 plan-mode 的 section,要求代碼開發任務先提交完整實現方案。已覈實資料中列出的方案內容包括:

  • 架構;
  • 改動文件;
  • API/schema 變更;
  • 邊界情況;
  • 測試與驗收標準。

方案通過後,再通過 exit_plan_mode 提交用戶批准,批准後纔可以開始寫代碼。

4、追加 plan-first 工作流指令

插件會追加 plan-first 開發工作流 persona 指令,讓模型按照“先方案、後實現”的方式組織代碼開發任務。

5、非開發任務自動退出 plan mode

插件註冊 no_plan_required 工具。當模型判斷請求不是代碼開發任務時,例如寫作、PPT、數據分析、問答等,可以調用該工具。

插件收到調用後自動退出 plan mode,任務直接執行,無需方案與審覈。

這裏需要注意:任務類型由模型判斷,不是關鍵詞匹配。豁免行爲通過 no_plan_required 工具調用被插件識別。

安裝與啓用

已覈實資料中的安裝命令如下:

dsh plugin --profile web add "github:<owner>/dsh-plan-first-dev"

命令中的 <owner> 爲佔位符,可結合倉庫地址替換。

安裝後需要重啓 dsh web,或者重啓桌面端並讓其重新拉起服務,插件配置纔會生效。

驗證時運行:

dsh web --dump-config

查看組合配置樹中的 plan-mode、system-prompt 與 plan-first-dev 行,確認插件已經進入當前 profile 的配置組合。

典型用法

代碼開發任務的工作閉環如下:

1、新會話創建;
2、插件自動進入 plan mode;
3、模型先輸出完整實現方案;
4、通過 exit_plan_mode 提交用戶審覈;
5、用戶批准後開始實施。

非開發任務的流程如下:

1、用戶提出寫作、PPT、數據分析、問答等請求;
2、模型判斷該請求不是代碼開發任務;
3、調用 no_plan_required;
4、插件自動退出 plan mode;
5、任務直接執行。

如果希望保留指令層約束,但關閉自動進入 plan mode,可以使用:

- id: plan-first-dev
  config:
    defaultOn: false

適用場景與注意

這個插件適合在 DSH 的 web profile 中使用,尤其適合希望代碼開發任務默認“先方案、後實現”的用戶。如果希望完全手動控制 plan mode,可以將 defaultOn 設置爲 false。

使用時注意以下幾點:

  • 插件會覆蓋 plan-mode 的 section,並追加 persona 指令;
  • 插件會註冊 no_plan_required 工具,非開發任務退出依賴模型判斷;
  • 任務類型不是關鍵詞匹配,實際行爲取決於模型對當前請求的判斷;
  • 插件以當前 dsh 進程權限運行,安裝前建議檢查源碼、依賴關係和 MIT 許可證;
  • 當前覈實資料未明確給出星標數、分類和目錄頁 URL。

鏈接

GitHub:

https://github.com/asd176916847/dsh-plan-first-dev

目錄頁:

當前覈實資料未給出目錄頁 URL。

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

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

小夜