前言¶
做 DSH 智能体时,日常配置不一定只有模型调用。环境变量、密钥、MCP 服务器、Prompt、Profile、RSS 新闻、全局搜索、Codegraph 查询、终端调试,都是开发过程中会反复用到的入口。
dsh-plugin-kit 把这些常见入口做成一组 DSH Web GUI 插件卡片。它不替代 DSH 核心能力,而是通过官方 profile 机制挂载到 dsh web,给 Web GUI 增加一批可直接配置的插件。
下面介绍它的定位、安装方式、核心功能和需要留意的限制。
这是什么¶
dsh-plugin-kit 是 DeepSeek Harness(DSH)Web GUI 的插件全家桶。
它包含以下能力:
- 环境变量 / 密钥管理
- MCP 服务器配置
- Prompt 管理
- Profile 管理
- 全局搜索
- Codegraph 集成
- 终端面板
- RSS / 新闻聚合
- 插件开发脚手架
仓库由 hyzyn 维护,许可证为 MIT。GitHub 地址是:
https://github.com/hyzyn/dsh-plugin-kit
所有插件都走官方 profile 机制挂载到 dsh web,不改 DSH 源码。
安装与启用¶
先确认已安装 DeepSeek Harness,并能启动 dsh web。
从 npm 安装无额外要求;从仓库安装需要:
Node.js >= 22.19
pnpm 10
安装聚合包:
dsh plugin --profile web add @hyzyn/dsh-all
然后重启:
dsh web
经过上面的步骤后,打开“设置 → 插件”,可以看到对应插件卡片。
package.json 显示当前版本为:
0.1.6
packageManager 为:
pnpm@10.30.3
核心功能¶
环境变量 / 密钥管理¶
这个插件用于在 Web GUI 里管理环境变量和密钥。
打开入口:
设置 → 插件 → 环境变量 / 密钥管理
添加键值后,敏感条目勾选“密钥”,再保存。保存后立即写入当前进程的 process.env。
持久化位置:
~/.dsh/env.yml
该文件里的托管区块由插件维护,不建议手工修改。键名只允许字母、数字、下划线,且不能重复。
MCP 服务器配置¶
这个插件用于给 DSH 添加 MCP 服务器。
打开入口:
设置 → 插件 → MCP 服务器配置
支持添加:
stdio
streamable-http
建议先点“连接测试”,再保存。保存后 1~2 秒内热加载为:
mcp__<服务器名>__<工具名>
持久化位置:
~/.dsh/cordis.patch.yml
这里有一个明确限制:不要手工往该文件里追加插件行,否则启动时报:
duplicate loader entry id
进程会直接退出。
Prompt 管理¶
这个插件用于管理 Prompt。
打开入口:
设置 → 插件 → Prompt 管理
可以新建、编辑 Prompt,并启用。
支持:
- 版本切换 / 回滚
- A/B 测试
- 导出 JSON / Markdown
- 从 JSON 导入
持久化位置:
~/.dsh/prompts.yml
限制:
- 每个 Prompt 至少一个版本
- 单版本内容 ≤ 500KB
Profile 管理¶
这个插件用于查看和维护 DSH profile。
打开入口:
设置 → 插件 → Profile 管理
可查看:
~/.dsh/profiles
下的全部 DSH profile。
支持:
- 创建
- 复制
- 重命名
- 删除
- 为每个 profile 设置端口
- 复制带
--port的启动命令
持久化位置:
~/.dsh/profiles/<name>
注意:删除是递归删除。内置的 web 默认 profile 不允许删除;headless 可以删除。
全局搜索¶
安装后,在侧边栏“新建会话”下方会出现全局搜索框。
输入关键词,可以搜索历史会话与设置面板。
点击会话会打开并尝试定位到匹配文字;点击面板条目会跳转到对应设置卡片。
这个功能依赖宿主已安装的 sessionQuery 服务。缺失时,会话搜索返回空列表。
如果 session-query 全文索引配置为:
openAt: "never"
历史会话会自动降级为逐会话扫描。
Codegraph 集成¶
这个插件用于代码图谱查询。
打开入口:
设置 → 插件 → Codegraph
支持:
- 查看索引状态
- 搜索符号
- 查看
callers/callees/impact - 手动
Sync/ 重建索引
安装后会自动向 systemPrompt 注入 CodeGraph 使用指引。
查询目标项目需要先有 Codegraph 索引。索引 / 重建是本地 CLI 操作,会消耗真实磁盘与 CPU。
一台 codegraph MCP 服务器同一时刻只挂载一个默认项目;其它已索引项目可在工具调用里传 projectPath 查询。
终端面板¶
安装后重启:
dsh web
在侧边栏点击“终端”,会打开内嵌 xterm.js 大弹窗。
可以新建、关闭多标签页真实 PTY 终端。
已知限制:
- resize 依赖 DSH 内部 terminal handle 结构
- 输出为
utf8文本流,cat二进制文件会出现替换字符
RSS / 新闻聚合¶
安装后,可在侧边栏“新建会话”下方点击“今日值得读”查看新闻。
也可以打开:
设置 → 插件 → RSS / 新闻聚合
支持:
- 勾选内置渠道
- 添加自定义渠道
- 从订阅源目录搜索并一键添加
首次安装启动时会联网抓取一次。
某个源不可达时,会在 digest 的“抓取失败”里列出,不影响其它源。
插件开发脚手架¶
dsh-plugin-kit 包含插件开发脚手架,用于生成新的 DSH 插件。
仓库提供了以下门禁命令:
pnpm typecheck
pnpm build
pnpm aggregate
典型用法¶
先安装聚合包:
dsh plugin --profile web add @hyzyn/dsh-all
再重启:
dsh web
进入 Web GUI 后,按下面顺序使用:
1、打开“设置 → 插件”。
2、选择需要的插件卡片,例如“环境变量 / 密钥管理”或“MCP 服务器配置”。
3、按卡片要求填写内容。
4、保存后观察插件给出的状态,例如 MCP 热加载、环境变量写入 process.env。
如果要维护多套环境,使用“Profile 管理”。
如果要查看新闻,使用“RSS / 新闻聚合”。
如果要定位历史内容,使用侧边栏全局搜索框。
适用场景与注意¶
适合:
- 需要把 DSH 常见配置放到 Web GUI 中管理的开发者
- 需要维护多套 DSH profile 的人
- 需要集中配置 MCP 服务器、Prompt、环境变量和密钥的人
- 需要给 DSH Web GUI 增加终端、新闻聚合、全局搜索或 Codegraph 入口的人
- 需要基于 DSH 插件机制开发新插件的开发者
注意:
- 插件会挂载到
dsh web并参与 DSH 进程运行。安装前应检查源码;许可证为 MIT。 - 以下文件的托管区块由插件维护,不建议手工编辑:
~/.dsh/env.yml~/.dsh/cordis.patch.yml~/.dsh/prompts.yml- 手工追加
~/.dsh/cordis.patch.yml中的插件行,会导致duplicate loader entry id - Profile 删除是递归删除;内置
webprofile 不允许删除 - 全局搜索依赖
sessionQuery服务;缺失时会话搜索返回空列表 - Codegraph 索引与重建是本地 CLI 操作,会消耗磁盘与 CPU
- 终端面板输出为
utf8文本流,二进制内容可能出现替换字符
结尾¶
dsh-plugin-kit 的价值,是把 DSH 常见配置和日常调试入口做成一组 Web GUI 插件卡片。
先安装聚合包:
dsh plugin --profile web add @hyzyn/dsh-all
再重启:
dsh web
然后在“设置 → 插件”里按需启用。
GitHub:
https://github.com/hyzyn/dsh-plugin-kit