DeepSeek Harness 项目组插件 (dsh-ProjectModel)

前言

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:仅通过追加插槽实现,不改动原始侧栏与对话框样式。

典型用法

在对话中直接指令:

  1. 组织项目组:
    “把 E:\proj-a 和 E:\proj-b 加进项目组「后端」”
  2. 查看文件:
    “在 QzoneDown-Go 里看下 go.mod”
  3. 运行命令:
    “对 SSL-Assistant 跑一下 git status”
  4. 跨项目对比:
    “同时对比一下 QzoneDown-Go 和 SSL-Assistant 的 go.mod”
  5. 查看规范:
    “看看 QzoneDown-Go 的 AGENTS.md 里对代码风格有什么要求”
  6. 设置默认:
    “把这个工作区的默认项目组设为 github”
  7. 添加说明:
    “给 QzoneDown-Go 加一句说明:QQ 空间下载器主项目”

注意事项

  • 插件依赖 @deepseek-ai/dsh-tools、@deepseek-ai/schemastery、@deepseek-ai/dsh-settings,这些依赖随 DSH 安装提供。
  • 组内文件路径默认放行是基于当前会话的沙箱限制。
  • MIT 开源协议。

参考资料

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

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

小夜