前言¶
DeepSeek Harness 的默认工作区通常绑定单一根目录。在涉及跨仓库协作、共享公共库或只读规范参考的场景下,这种限制会导致智能体上下文割裂,难以全面理解项目结构。dsh-plugin-addir 插件解决了这个问题,支持在当前工作区下关联任意多个外部目录,并配合图形化管理、上下文注入与只读防护。
插件简介¶
dsh-plugin-addir 是一个支持多根目录工作区与上下文动态注入的 DeepSeek Harness 插件,由 keatsyh 维护。它允许用户为工作区挂载多个额外文件夹,配置别名、描述及只读标记,让智能体能够跨目录协同工作。
核心功能¶
- 多根目录关联与图形化管理:支持为任意工作区挂载多个额外文件夹,为每个目录配置别名和描述。
- 上下文动态注入:每轮对话自动将当前生效的目录树注入给大模型上下文,支持使用别名简写路径(如
[backend]/src/app.ts)。 - 细粒度只读防护:勾选只读的目录将被文件工具守卫拦截 write/edit 操作,允许 read/grep。
- 跨会话持久化:关联关系按工作区根路径隔离并持久化至本地存储,应用重启后自动恢复。
- 内置智能体工具:提供 addir_list、addir_add、addir_remove 工具,支持由智能体自主管理目录。
安装与启用¶
- 安装插件:在 Web Profile 下执行以下命令安装。
dsh plugin --profile web add dsh-plugin-addir
- 桌面端生效:桌面端安装后需完全退出应用才能生效。
配置与使用¶
插件安装后,需在插件设置中开启相关功能。
- 启用工具:设置
enableTools为true,智能体将获得addir_*工具权限,可自主增删目录。 - 目录管理:在工作区列表点击“…”选择“编辑”,点击“添加文件夹”选择本地目录,设置别名(如
backend)并保存。 - 典型指令示例:
> 请阅读 [backend] 目录下的路由定义,并在当前前端项目中生成对应的 API 请求函数。
注意事项¶
- 只读保护范围:只读保护仅拦截 write/edit 操作,允许 read/grep,不会限制代码阅读和搜索。
- 别名隔离:不同工作区之间的别名存储是隔离的。
- 权限控制:关闭
enableTools后,智能体将不再拥有addir_*工具,仅允许用户在 UI 中手动管理。
生态背景¶
DSH 理念是「一切皆插件」。该插件收录于社区目录(https://www.skillhub.cn/plugins/keatsyh/dsh-plugin-addir),与 DeepSeek 或幻方无官方从属关系。