前言¶
DeepSeek Harness (DSH) 的原生模式通常是一個會話綁定一個工作區目錄。要在多個項目間切換,通常需要另開會話,導致上下文丟失,無法連貫處理。
dsh-ProjectModel 插件解決了這個問題。它允許在一個會話裏直接操作一組項目文件夾(項目組)。AI 可以讀寫組內任意文件、列出目錄、運行命令,並查看各項目的 AGENTS.md。每個項目可附帶一句說明,幫助 AI 快速定位目錄。
安裝¶
安裝前請確保已安裝 DeepSeek Harness (DSH) CLI 和 pnpm。
使用官方插件機制安裝:
dsh plugin --profile web add .
安裝過程會自動將插件註冊爲 profile 的依賴,並持久化配置到 settings.yaml。重啓 DSH 後生效。
核心功能¶
項目組管理
支持將多個項目文件夾組織成一個組。組內文件路徑默認允許讀寫(v1.1 起),不再彈出沙箱批准詢問。命令執行仍走 project run。
項目說明
每個項目文件夾可設置一句 desc 說明。設置頁直接編輯,list 工具和 AI 提示詞都會帶上(格式爲“標題 路徑(說明)”),方便 AI 判斷目標目錄。
跨文件夾工具
插件提供了以下工具,通過 folderId 指定目標,無需手動切換工作區:
* list:列出項目組及所有文件夾信息。
* readFile / writeFile / listDir:對指定文件夾讀寫文件、列目錄。
* run:在指定文件夾運行命令(支持 PowerShell)。
* agents:查看指定項目的 AGENTS.md。
* setFolderDesc:設置文件夾說明。
安全與上下文
* 安全沙箱:文件操作限制在已註冊文件夾內,fs.contains 越界拒絕。
* 上下文感知:Agent 的提示詞會自動帶上項目組與全部文件夾列表。
* 零侵入 UI:僅通過追加插槽實現,不改動原始側欄與對話框樣式。
典型用法¶
在對話中直接指令:
- 組織項目組:
“把E:\proj-a和E:\proj-b加進項目組「後端」” - 查看文件:
“在 QzoneDown-Go 裏看下 go.mod” - 運行命令:
“對 SSL-Assistant 跑一下git status” - 跨項目對比:
“同時對比一下 QzoneDown-Go 和 SSL-Assistant 的 go.mod” - 查看規範:
“看看 QzoneDown-Go 的 AGENTS.md 裏對代碼風格有什麼要求” - 設置默認:
“把這個工作區的默認項目組設爲 github” - 添加說明:
“給 QzoneDown-Go 加一句說明:QQ 空間下載器主項目”
注意事項¶
- 插件依賴
@deepseek-ai/dsh-tools、@deepseek-ai/schemastery、@deepseek-ai/dsh-settings,這些依賴隨 DSH 安裝提供。 - 組內文件路徑默認放行是基於當前會話的沙箱限制。
- MIT 開源協議。