dsh-plugin-kit:DeepSeek Harness(DSH)Web GUI 插件全家桶

前言

做 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 删除是递归删除;内置 web profile 不允许删除
  • 全局搜索依赖 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye