🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

liqichen/dsh-plugin-manager

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

DSH 插件管理器:在 DeepSeek Harness 设置面板内嵌 GUI,管理 MCP 服务 / Skills…

基本兼容但装前注意:npm 同名包「dsh-plugin-manager」归属 hrhgit/deepseek-harness-plugin-manager,装到的可能不是本插件 · 最近上游提交 2026/8/15 · 已提供中文文档

DSH 插件管理器:在 DeepSeek Harness 设置面板内嵌 GUI,管理 MCP 服务 / Skills / 内置插件包,改动热生效无需重启

综合分
38.6
GitHub 分
38.6
用户评分
—
★ Stars
16
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add liqichen/dsh-plugin-manager
npm 同名包「dsh-plugin-manager」归属 hrhgit/deepseek-harness-plugin-manager,装到的可能不是本插件,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · market
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 42 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/21
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-plugin-manager @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

npm 同名包「dsh-plugin-manager」归属 hrhgit/deepseek-harness-plugin-manager,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 20:15:00

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-settings
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
🧩 DSH 插件管理器

dsh-plugin-manager — 在 DeepSeek Harness 设置面板里内嵌的图形化管理器,让你像操作普通 App 一样管理 MCP 服务 / Skills / 内置插件包,开关、删除实时热生效,无需重启 dsh web。

License
Version
Platform
DeepSeek Harness

📑 目录

- ✨ 功能特性
- 📸 界面预览
- 🚀 安装
- 🖥️ 使用说明
- ⚙️ 工作原理
- 📡 API 参考
- 🗂️ 目录结构
- ❓ 常见问题
- ⚠️ 注意事项
- 📜 许可证

✨ 功能特性

| 能力 | 说明 | 生效方式 |
|---|---|---|
| 🎛️ MCP 开关 | 一键禁用/启用任意 MCP 服务(写入 disabled: true 或移除) | 实时热生效,无需重启 |
| 🗑️ MCP 删除 | 从 cordis.patch.yml 删除整个 MCP 条目(上方注释保留) | 实时热生效,无需重启 |
| 📚 Skills 管理 | 浏览全部 skill 及描述;删除 = 移入 .trash- 目录,可恢复 | 立即生效 |
| 📦 插件包浏览 | 只读查看 DSH 本体 160+ 内置插件包的名称/版本/说明 | 只读 |
| 🛡️ 自动备份 | 每次写操作前自动备份配置为 cordis.patch.yml.bak- | — |
| 🔌 零额外进程 | 后端内嵌在 dsh web 宿主里,同源 API,不占端口、无 CORS 暴露 | — |

📸 界面预览

管理页位于 DSH 设置面板 → 「插件管理」,三个标签页:

| MCP 服务 | Skills | 内置插件包 |
|---|---|---|
| MCP 服务页 | Skills 页 | 内置插件包页 |

🚀 安装

前提:已安装 DeepSeek Harness(dsh web),并了解 ~/.dsh 目录结构。

方式一:从本仓库安装(推荐)

1. 克隆并放入用户插件目录
git clone https://github.com/liqichen/dsh-plugin-manager.git
mkdir -p ~/.dsh/plugins/dsh-plugin-manager
cp -r dsh-plugin-manager/{index.js,client.js,package.json} ~/.dsh/plugins/dsh-plugin-manager/

2. 通过 dsh CLI 注册插件
dsh plugin --profile web add ~/.dsh/plugins/dsh-plugin-manager

3. 声明依赖(让 Node 端可解析)
编辑 ~/.dsh/profiles/web/package.json,dependencies 加入:
"dsh-plugin-manager": "file:../../plugins/dsh-plugin-manager"

4. 在 ~/.dsh/profiles/web/cordis.patch.yml 的 plugins 列表加入:
- id: plugin-manager-ui
name: dsh-plugin-manager

5. 重启 dsh web,打开「设置」→「插件管理」即可使用

方式二:legacy 独立网页版(不依赖插件系统)

如果插件机制不适用,仓库提供了早期独立版 Python 服务:

python3 legacy/server.py --port 17891
浏览器打开 http://127.0.0.1:17891/

🖥️ 使用说明

打开 DSH 设置 → 插件管理,你会看到三个标签页:

🎛️ MCP 服务
- 每个 MCP 一张卡片,显示名称、传输方式(stdio/http 徽章)、运行状态、配置 id
- 右侧开关:一键禁用/启用;删除按钮:移除该条目(有二次确认)
- 顶部显示配置文件路径与总数量

📚 Skills
- 列出所有 skill 及 SKILL.md 中的描述、目录路径
- 删除 = 移入 ~/.dsh/skills/.trash-,可手动恢复

📦 内置插件包
- 表格展示 DSH 本体全部插件包(只读),升级请使用 npm update -g @deepseek-ai/dsh

操作完成后,页面会提示「✅ 改动已实时热生效」;已打开的会话建议开新会话,以刷新工具列表。

⚙️ 工作原理

本插件是标准 DSH 双端插件,随 dsh web 一同启动,无需独立进程:

┌─────────────────────────── dsh web 宿主 ───────────────────────────┐
│                                                                     │
│  浏览器端 (client.js)                 Node 端 (index.js)            │
│  ┌───────────────────────┐            ┌─────────────────────────┐  │
│  │ 设置面板「插件管理」页 │   fetch    │ 注册 /plugin-manager/   │  │
│  │ React UI · 同源 API   │ ─────────▶ │ api/* 路由(内嵌后端)     │  │
│  └───────────────────────┘            │ 读 / 写:                │  │
│                                       │  · ~/.dsh/profiles/web/ │  │
│                                       │    cordis.patch.yml     │  │
│                                       │  · ~/.dsh/skills/       │  │
│                                       │  · ~/.dsh/profiles/     │  │
│                                       │    node_modules/@deep-  │  │
│                                       │    seek-ai/             │  │
│                                       └─────────────────────────┘  │
└────────────────────────────────────────────────────────────────────┘

涉及的文件路径:

| 路径 | 作用 |
|---|---|
| ~/.dsh/profiles/web/cordis.patch.yml | MCP 服务配置(补丁层),修改后宿主 HMR 热生效 |
| ~/.dsh/skills/ | Skill 目录,删除时重命名为 .trash-- |
| ~/.dsh/profiles/node_modules/@deepseek-ai/ | DSH 本体插件包(只读) |

📡 API 参考

后端内嵌在 dsh web 宿主,同源提供两个接口:

GET /plugin-manager/api/state

返回当前全部状态:

{
"mcp": [
{ "id": "mcp-scrapling", "serverName": "scrapling", "transport": "stdio", "command": "scrapling", "disabled": false }
],
"skills": [ { "name": "obsidian-cli", "desc": "…", "path": "/Users/me/.dsh/skills/obsidian-cli" } ],
"plugins": [ { "name": "dsh-client-web", "version": "1.2.3", "desc": "…" } ],
"patchFile": "/Users/me/.dsh/profiles/web/cordis.patch.yml",
"skillsDir": "/Users/me/.dsh/skills"
}

POST /plugin-manager/api/action

三种操作,kind 区分:

{ "kind": "mcp-toggle",  "id": "mcp-scrapling", "disable": true }
{ "kind": "mcp-delete",  "id": "mcp-scrapling" }
{ "kind": "skill-delete", "name": "obsidian-cli" }

响应统一为 { "ok": true, "message": "已禁用 mcp-scrapling(热生效)" }。
所有写操作先备份 cordis.patch.yml 为 .bak-,再改文件。

🛠️ 用 DSH 开发(吃自己的狗粮)

本项目就是用 DeepSeek Harness 开发出来的 —— 从想法到上线,整个开发过程由运行在 DSH 里的 AI 编码智能体完成:

- 通过 DSH 的 MCP 工具(浏览器自动化、文件读写等)逆向研究官方双端插件的扫描与注入机制(dsh-client-modules、dsh-cordis-host-runner、settings.section slot 契约)
- 直接读写 cordis.patch.yml / ~/.dsh/skills/ 反复实验,验证「配置改动 → 宿主 HMR 热生效」链路
- 用 Playwright / Chrome DevTools 自动化截图、检查 UI 效果
- 最终产物又作为标准 DSH 插件被安装回 DSH,用来管理 DSH 自己 —— DSH 管理 DSH 自己

这正是 DeepSeek Harness 的设计哲学:Everything is a Plugin。

🗂️ 目录结构

dsh-plugin-manager/
├── index.js          # Node 半:内嵌后端,注册 /plugin-manager/api/* 路由
├── client.js         # 浏览器半:设置面板「插件管理」React UI
├── package.json      # DSH 双端插件元数据(dsh.client.inject 声明宿主依赖)
├── docs/
│   └── screenshots/  # 界面截图
├── legacy/
│   └── server.py     # 早期独立 Python 网页服务版本(备用)
├── README.md
└── LICENSE           # MIT

❓ 常见问题

Q: 页面提示「插件后端未响应」?
浏览器端连不上 /plugin-manager/api。检查安装步骤 3、4 是否都完成,以及 ~/.dsh/profiles/node_modules/dsh-plugin-manager 是否正确指向插件目录,然后重启 dsh web。

Q: 开关/删除后工具列表没变?
配置改动是热生效的,但当前已打开的会话仍持有旧的工具列表,请新开一个会话。

Q:删掉的 MCP 怎么恢复?
mcp-delete 只删除配置条目,不会卸载 npm 包。用最近的备份 cordis.patch.yml.bak- 恢复,或手动把条目加回 cordis.patch.yml 即可。

Q:删掉的 Skill 怎么恢复?
把 ~/.dsh/skills/.trash-- 重命名回 ~/.dsh/skills/ 即可。

Q:想彻底删除 Skill?
管理器只做「移入回收站」;彻底删除请手动 rm -rf 对应的 .trash- 目录。

Q:能从管理器升级 DSH 本体吗?
不能。内置插件包页是只读的,DSH 本体升级请用 npm update -g @deepseek-ai/dsh。

⚠️ 注意事项

1. 操作的是真实配置 —— 所有改动直接写 cordis.patch.yml 与 ~/.dsh/skills/。每次写前自动备份,出问题可用最近的 .bak- 恢复。
2. MCP 删除 ≠ 卸载包 —— 只删配置条目,包体仍在,重新配置即可恢复。
3. Skill 删除可恢复 —— 是「移入 .trash-」而非真删。
4. 热生效有边界 —— 配置实时生效,但已开会话的工具列表不自动刷新,请开新会话。
5. 只作用于当前 profile —— 默认管理 ~/.dsh/profiles/web/,其他 profile 需相应调整路径。

📜 许可证

MIT © liqichen

觉得好用的话点个 ⭐,有问题欢迎提 Issue。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群