前言¶
DeepSeek Harness 的核心设计理念是「一切皆插件」。随着社区在 GitHub dsh-plugin topic 下发布的插件增多,手动管理这些插件的发现、安装和更新变得繁琐。dsh-plug-manager 是一个由 Casually 维护的插件管理器,它提供了一个集中的 Web 界面来浏览、搜索和安装这些插件,同时通过命令行工具和本地 API 提供了额外的控制能力。
功能概览¶
该插件主要包含以下功能:
-
Web UI 插件市场
- 发现与查看:支持搜索带
dsh-plugin标签的 GitHub 仓库。在详情页可以查看 Star 数、Topics、许可证以及 README。README 经过安全渲染,剥离了潜在危险的 HTML 标签和脚本。 - 操作:支持一键安装、更新和移除插件。操作由宿主进程直接执行,输出实时显示。
- 已安装管理:列出各 profile 的 bundle 栈和依赖,支持按名称或来源搜索。
- 发现与查看:支持搜索带
-
安装源智能解析
- 自动识别:自动识别插件是 npm 包还是 GitHub 源码。
- npm 优先:如果 GitHub 仓库的同名包已发布到 npm,会优先使用 npm 包(预构建产物)。
- 源码处理:未发布到 npm 时,会从 GitHub 下载 tarball。源码依赖会在解压目录内执行
npm install,防止路径解析错误。 - 兼容性:检测到 pnpm 7 在新版 Node 上的兼容性错误时,会自动切换到 npm 完成安装。
-
代理支持
- 支持配置 GitHub 代理,支持 HTTP、HTTPS、SOCKS5 等协议。
- 代理来源优先级为:持久设置 > 插件配置 (
config.proxy) > 环境变量 (DSH_PLUG_MANAGER_PROXY,HTTPS_PROXY)。
-
Agent 工具
- 提供模型侧命令:
plug_install、plug_remove、plug_update。 - 权限控制:UI 操作无需审批,但 Agent 工具在执行前会根据沙箱策略征询用户审批。
- 提供模型侧命令:
-
本地 JSON API
- 提供一系列回环接口,用于查询状态、提交任务(安装/更新/移除)、重启服务等。
安装与启用¶
安装该插件需要宿主环境已安装 pnpm。如果使用代理功能,还需要 curl。
安装命令:
dsh plugin --profile web add -w dsh-plug-manager
安装完成后,需重启 DSH 服务以加载新的 bundle 层。重启后,在设置 → 插件 → 插件市场 标签页即可使用。
典型用法¶
通过 Web UI 安装:
1. 打开 Web UI,进入「插件市场」。
2. 搜索目标插件或浏览仓库列表。
3. 点击卡片查看详情,确认无误后点击「申请安装」。
通过 Agent 工具:
模型调用工具时会自动征询用户。
# 安装插件(模型侧调用示例)
plug_install npm:example-plugin
# 移除插件
plug_remove example-plugin
# 更新插件
plug_update example-plugin
直接命令行安装:
dsh plugin --profile web add -w dsh-plug-manager
dsh plugin --profile web add -w github:Casually/deepseek-harness-plugs-manage
dsh plugin --profile web remove dsh-plug-manager
注意事项¶
- 重启要求:无论是安装、更新还是移除插件,都必须重启 DSH 服务才能使变更生效。
- 权限模型:
- Web UI 的操作由用户直接发起,等同于用户敲击命令,无需额外审批。
- Agent 工具(
plug_*)属于沙箱操作,执行前会征询用户审批。
- 源码执行:通过 git 源安装插件时,可能会执行包的
prepare脚本,请确保信任该插件源码。 - 依赖环境:依赖宿主环境安装
pnpm和curl。 - 彻底移除:移除插件会清理本地文件、依赖和源码缓存。
附录¶
- GitHub 仓库:https://github.com/Casually/deepseek-harness-plugs-manage
- 社区目录:https://www.skillhub.cn/plugins/Casually/deepseek-harness-plugs-manage