前言¶
在 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 開發環境的場景。