DeepSeek Harness 插件:dsh-init-command(兩階段生成項目 AGENTS.md 指南)

前言

在 DeepSeek Harness (DSH) 生態中,AGENTS.md 文件定義了智能體的行爲規範、構建命令與代碼風格。手動維護此文件既耗時,又容易因項目變更而滯後。dsh-init-command 插件通過 /init 斜槓命令,利用大模型分析當前項目的目錄結構與上下文,自動生成或更新 AGENTS.md。它採用兩階段調用策略:先判斷項目類型與工具鏈,再將判斷結果嵌入提示詞生成文檔。

核心功能

該插件的核心在於通過結構化的兩階段流程,確保生成的文檔基於實際項目內容,而非模型的臆測。

  • 兩階段 LLM 生成:第一階段收集項目兩層目錄結構,向模型發送提示詞,要求其輸出結構化的項目類型與工具鏈(語言、框架、構建工具等);第二階段將判斷結果與目錄結構嵌入提示詞,生成 AGENTS.md。
  • 階段二可見性控制:默認情況下,生成階段只顯示模型的 reasoning 流塊(思考過程),正文直接寫入文件而不進入會話。使用 --dry-run 時,會完整流式預覽所有內容。
  • 階段一思考模式:項目分析任務相對簡單,默認關閉思考模式(reasoningEffort: 'off')以節省 token。需要更嚴謹的分析時,使用 --think 參數開啓思考。
  • 兩層目錄結構收集:自動收集根目錄及子目錄的條目(過濾 .git、node_modules 等噪音),支持 --depth 設置深度(-1 不限制)和 --ignore 跳過指定條目。
  • 空目錄處理:當目錄爲空(項目尚未製作)時,插件不會盲目生成。它會在會話中詢問用戶項目內容,或通過 --desc <text> 提供描述來生成一份註明“尚未製作”的規劃稿。
  • Git 初始化:提供 --git 參數,在生成文檔後自動執行 git init、將默認分支從 master 重命名爲 main,並根據項目類型從 GitHub 下載對應的 .gitignore 模板。
  • 初始提交:使用 --commit 參數(隱式啓用 --git)創建初始提交。
  • 模型路由回退:模型調用優先級爲:插件配置 -> 會話最近一次請求 -> agent 選項。
  • 零依賴:僅使用 Node.js 內置模塊,無需構建。

安裝與啓用

該插件以 bundle 形式安裝,會自動註冊到指定的 profile 中。

在包含插件目錄的路徑下執行:

dsh plugin --profile <profile-name> add ./dsh-init-command

安裝後,DSH 會將插件加入 dsh.profile.bundles。驗證安裝是否成功:

dsh --profile <profile-name> --dump-config
# 應輸出包含 "# == dsh-init-command" 的配置層

配置

/init 命令需要可用的模型路由。插件配置優先級最高,會話配置次之,agent 選項最低。三者都不可用時,命令將返回錯誤。

在 cordis.patch.yml 或 profile 的 patch 層中配置:

- insert:
    - id: init
      name: dsh-init-command
      config:
        provider: deepseek
        model: deepseek-chat

使用

在 DSH Web UI 或命令適配器的輸入框中,使用以下命令。

命令 行爲
/init 兩階段調用模型,在工作區根目錄生成或替換 AGENTS.md。階段二默認顯示思考過程、隱藏正文,正文直接寫入文件。
/init --dry-run 生成內容但不寫入文件,完整流式預覽(包含思考過程與最終輸出)。
/init --think 階段一(項目分析)開啓模型的思考模式。
/init --git 生成 AGENTS.md 後初始化 Git 倉庫,重命名分支,並下載 .gitignore。
/init --commit 生成後創建初始 Git 提交(隱式啓用 --git)。
/init --depth <n> 設置目錄樹收集深度。1 爲頂層,2 爲兩層(默認),-1 不限制。
/init --ignore <pattern> 額外跳過名字匹配的條目(支持逗號分隔或重複使用)。
/init --desc <text> 爲空目錄提供項目描述,生成規劃稿。
/init --git --dry-run 組合使用,僅提示將要進行的操作(初始化、下載模板等),不執行寫入。

注意:目錄爲空時,/init 不會自動生成。需使用 /init --desc "<描述>" 提供描述,或先創建文件再運行。

注意事項

  • 思考模式默認關閉:階段一默認不開啓思考,以提升速度和節省 token。如需更深入的項目分析,請使用 --think。
  • 空目錄行爲:插件不會爲空目錄盲目生成,必須通過 --desc 提供描述。
  • 模型路由優先級:請確保在配置、會話或 agent 選項中至少指定了 provider 和 model,否則命令無法執行。
  • 零依賴:插件僅使用 Node 內置模塊,確保在無額外環境配置下可運行。
  • 人工審閱:生成的 AGENTS.md 爲模型初稿,其中的命令和結構均基於目錄收集結果。使用前需人工審閱並按項目實際約定調整。

結語

dsh-init-command 爲 DSH 用戶提供了從零開始定義項目智能體指南的自動化手段。它通過兩階段調用和結構化輸入,降低了維護 AGENTS.md 的門檻,適合需要快速搭建項目 AI 開發環境的場景。

更多詳情與源碼,請訪問:GitHub 倉庫 | 社區目錄

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

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

小夜