DeepSeek Harness Hub
← 返回列表

技能与 MCP 控制台6pofx/dsh-tool-explorer

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

分级浏览技能并管理 MCP 服务器开关

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/3 · 已提供中文文档

DSH(DeepSeek Harness)技能与 MCP 管理控制台插件:按来源分级浏览全部已加载技能,独立开关模型/用户调用,创建/编辑/删除技能(可恢复回收站),从 GitHub 多选批量安装;增删改 MCP 服务器、状态监控与连接测试。Management console for DeepSeek Harness (dsh): grouped skill browsing, model/user invocation toggles, GitHub batch install, recoverable trash, and MCP server management.

综合分
29.4
GitHub 分
29.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add 6pofx/dsh-tool-explorer
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-settings@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-tool-explorer

npm version
npm downloads
license

DeepSeek Harness (DSH) 管理控制台:在 Web 设置页中浏览、安装、更新、编辑与启停技能,并添加、编辑、启用/禁用、测试与监控 MCP 服务器。

功能

技能
- 全量目录(项目/用户/内置/插件各来源)与共享 .skill-lock.json 合并展示
- 按来源分级浏览:可折叠来源树(项目 .dsh → 项目 .agents → 自定义 → ~/.dsh/skills → ~/.agents/skills → 插件 → 内置),来源下再按 provider 分组,附已加载/禁用计数;支持来源、状态筛选与平铺视图
- 搜索、详情预览、在线新建/编辑(kebab-case 校验、frontmatter 表单、Markdown 正文)
- 独立模型 / 用户调用开关:可只关模型调用(disable-model-invocation,保留 / 菜单),也可只关用户调用;双关 = 完整禁用
- 可恢复回收站:删除用户根技能 → 移入 /skills-trash(锁文件条目快照存档);还原可字节级恢复(含锁条目),永久删除/清空则彻底移除
- GitHub 安装:URL 解析(owner/repo、tree 路径、#branch)、候选预览、多选/全选批量安装(同一仓库仅下载一次 tarball,逐技能独立处理冲突,失败可重试)、安装到 ~/.agents/skills 或 ~/.dsh/skills、检查更新/应用(备份+回滚)、卸载
- skillFolderHash 与 Skills CLI(npx skills)字节级兼容

MCP
- 服务器列表:实时状态(fiber 阶段)、工具清单、各服务器工具计数
- 添加/编辑/删除(stdio + streamable-http)与启用/禁用开关 —— 全部通过 profile patch 层写入(HMR 热生效,无需重启)
- 跨 agent 导入:扫描 ~/.claude.json、~/.cursor/mcp.json、~/.codex/config.toml(TOML 子集)、~/.cline/mcp_settings.json、~/.roo/mcp.json、~/.continue/mcp.json、~/.codeium/windsurf/mcp_config.json,一键导入
- 测试连接:独立 SDK 探测(不干扰运行中实例)
- 写入栅栏(expected-hash):与手改配置并发安全

安装

已发布到 npm(v0.4.1):

dsh plugin --profile web add dsh-tool-explorer

dsh plugin 会自动 reconcile bundle。重启一次 dsh web(host 插件在启动时加载),打开 设置 → Skills 和 MCP。

本地开发

pnpm install
pnpm run typecheck   # host + client 源码类型检查
pnpm run build       # tsc host -> lib/,tsdown client -> client/client.js(含包装与校验)
pnpm test:self       # 116+ 断言:mock host CRUD、跨 agent 导入、GitHub 安装、回收站、真实 stdio 探测

本地安装循环:

pnpm pack
dsh plugin --profile web remove dsh-tool-explorer
dsh plugin --profile web add file:G:/dsh-tool-explorer/dsh-tool-explorer-0.4.0.tgz

⚠️ 新增运行时依赖(如 tar)必须重新打包并重装 —— 只拷贝 lib/ 不够。

参考实现

M5 功能集(来源分级浏览、独立调用开关、可恢复回收站)参考了以下社区插件(克隆在 .ref/ 下备查):

- cheshireez/dsh-skill-hub —— 基于官方 ctx.skills 注册表的 GUI 技能中枢;其 .trash/ 重命名 + 还原 + 清空模式启发了本插件的可恢复回收站
- SeverusZh/dsh-skills-mcp-group-manager —— 分组管理与"影子 provider 过滤模型技能目录"
- BAIKAI23333/dsh-skills-manager —— 设置页技能管理器
- peiqi10086/dsh-skills-market —— 侧边栏技能面板(用户/项目/内置)+ SkillHub 商城

设计取舍:启停沿用平台文档化的 frontmatter 双开关(disable-model-invocation / user-invocable),而非 skill-hub 的 SKILL.md.disabled 重命名;回收站放在技能根之外,避免 provider watcher 观察到干扰。

目录结构

| 路径 | 用途 |
|---|---|
| src/index.ts | host 入口;从注入服务组装普通 host 对象(绝不修改 Cordis scope Proxy) |
| src/routes.ts | /dsh-tool-explorer/api/ 路由(写操作强制同源校验) |
| src/mcp.ts | MCP 管理:patch 层增删改、启停、状态推导、SDK 探测 |
| src/skills.ts | 技能目录(注册表 × 锁文件 × 磁盘)、编辑/启停、独立模型/用户调用开关、frontmatter 解析(完整 YAML) |
| src/skills-trash.ts | 可恢复回收站:删除入站、还原、永久删除、清空(/skills-trash + manifest) |
| src/skills-install.ts | GitHub 安装生态:tarball 下载(区域代理)、候选发现、锁文件 v3、CLI 兼容目录哈希 |
| src/agents-mcp.ts | 跨 agent MCP 导入(JSON + Codex TOML 子集解析) |
| src/patch-text.ts | patch 层方言:解析(!!js 容错)、行级手术编辑、[] 占位符处理、原子写 |
| scripts/ | client bundle 包装/校验、自测、以及 dsh-mcp-client 本地补丁(见下) |

dsh-mcp-client 本地补丁

两个幂等补丁修复上游 dsh-mcp-client 的缺口(已上报官方讨论;每次 mcp-client 更新后需重跑——dshmarket 升级会还原官方文件):

1) 静音 stdio 服务器 stderr(banner/JSON 日志曾刷爆 dsh web 输出)
node scripts/patch-mcp-client-stderr.mjs
2) 限制启动等待(挂起/不可达的服务器曾阻塞就绪提示行)
node scripts/patch-mcp-client-async.mjs

备份文件以 index.js..bak 形式保留在被修补文件旁。

反馈

问题、功能建议与官方沟通渠道:

- 上文两个本地补丁已上报官方:见 DeepSeek Harness Discussions #5129——官方修复进展可以跟帖关注。
- 其他与本插件相关的问题,请在本仓库发起 issue 或 discussion。

许可证

MIT

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

同作者(6pofx)的其他插件

💬 加入 DPharness 群聊

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

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群