DSH Hub
dsh-toolbox-ui cover

Imzl-zl/dsh-toolbox-ui

dsh-toolbox-ui

UIWeb UI36 GitHub stars· updated 2026-10-26

Toolbox panel for DeepSeek Harness Web: MCP manager (tools & JSON Schema, market, import, workspace copy) and skills manager (scopes & shadowing, enable/disable, model auto-invocation, skillhub.cn market).

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-toolbox-ui@^1.9.0

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-toolbox-ui DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-toolbox-ui.svg)](https://dshhub.dev/plugins/dsh-toolbox-ui)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Imzl-zl/dsh-toolbox-ui, cleaned of badges and images.

<h1 align="center">dsh-toolbox-ui</h1> <p align="center">DeepSeek Harness Web 的 <b>MCP 管理面板</b> + <b>技能管理面板</b></p> <p align="center"><b>中文</b> | <a href="README.en.md">English</a></p>

点右下角悬浮按钮或侧栏「工具箱」打开,面板浮在会话之上——改配置、看技能,都不打断正在进行的对话。两个能力面在同一个面板里切换:MCP 与技能。

面板本身跟随 DSH 的界面语言:DSH 设成 English 时,面板里的文案、按钮与状态一律是英文(词典在 lib/client.js 的 EN_DICT);设成中文或宿主没有语言服务时,显示中文原文。语言开关在 DSH 里,不在面板里:设置 → 通用 → 语言。面板刻意不设自己的开关——语言只有宿主一个真相源,两套开关必然对不上。没手动选过语言时,宿主按浏览器语言推断(浏览器是英文,面板就是英文;这时去设置里选一次中文即可,之后记住该选择)。

界面预览

MCP 市场

47 个逐条一手核实过的服务,分 10 类;搜索为主操作,配「只要免密钥」筛选与排序。每条如实标注免费额度、要准备什么(密钥 / 连接信息 / 装完还得改的参数),卡片直接安装;已配置的只识别并跳过。

技能面板

看本机每个技能的真实作用域与同名遮蔽,启停、删除、读正文与诊断,并一键切换「模型自动调用」——它直接改 SKILL.md 的 disable-model-invocation,只动那一行。

特性

MCP 面

  • 逐条看状态、传输方式、连接参数与已注册的工具;展开工具可看完整输入 JSON Schema(必填/可选、类型、枚举、默认值)
  • 启停、重连、添加、编辑、移除;凭据类字段默认掩码,点眼睛临时揭示有效运行值并一键复制
  • 全局 + 项目双作用域:全局写 Web profile(所有项目可用),项目写该项目 .dsh/mcp.json(只该项目会话可见);项目里还能「屏蔽」某个全局 MCP
  • 从本机其他客户端导入:Claude Code、Codex、OpenCode、pi、Claude Desktop、Cursor、Windsurf、VS Code、Gemini CLI、Roo Code 与跨工具共享配置,也能直接粘贴 JSON;写入前预览,支持「合并」与「替换」
  • 跨工作区搬运:把本项目的 MCP 复制到另一个已注册工作区(在宿主内完成,凭据不经过浏览器),或导出成 JSON 备份 / 分享
  • 工具延迟加载(ToolSearch):让某个服务器的工具不再每轮常驻上下文——模型先看到一份只列工具名的目录,用内置的 tool_search 搜到(关键词或 select:<确切名字>)之后,完整参数 schema 才进它的工具列表并可直接调用。默认不开:行上的「延迟 / 全量」标签点一下就切(或列表顶部一键「全部延迟」);环境变量 DSH_MCP_TOOL_SEARCH=off 整体退回全量注入。机制的三个上限(一次返回条数 / 目录行数 / 已发现集大小)可在「延迟参数」里调,写进 profile patch 的 config.toolSearch

技能面

  • 真实作用域与同名遮蔽:同名技能跨作用域是合法配置,面板逐条列出并标出哪一份生效
  • 启停(写技能文件里的两个调用面字段,不动文件本身)、删除、读正文与诊断——「技能不生效」的原因直接摆在面板里
  • 「模型自动调用」开关:直接改 SKILL.md 的 disable-model-invocation,关掉=删掉那一行(开→关能逐字节还原原文);状态一律取自技能文件本身,读不出来就说「未知」而不是猜一个值
  • 定位按磁盘上的真实位置(不按技能名):文件/目录名与 frontmatter 的 name 不一致的技能照样能读、能启停、能删
  • 市场接 skillhub.cn:安装前披露发布方认证与安全扫描结论,并要一次显式确认(该确认在服务端校验)

公共

  • 入口三选一:右下角悬浮按钮(可拖拽、记忆位置)+ 侧栏「工具箱」;可以只留一个,不能都关
  • 跟随 DSH 深色/浅色主题,适配窄屏与移动宽度
  • 更新提示与一键升级:每天最多查一次 npm、可关闭、绝不自动升级;升级后弹一次「本次更新内容」,不联网

安装

# 推荐:npm 安装 —— 之后 `dsh plugin update` 在 ^1.x 内自动升小版本
dsh plugin --profile web add dsh-toolbox-ui@^1.9.0

# 或固定 GitHub release tag(不自动跨版本,升级要换 tag 重新 add)
dsh plugin --profile web add github:Imzl-zl/dsh-toolbox-ui#v1.9.0

装完重启 dsh web。卸载(不会删除 profile 里已有的 MCP 条目):

dsh plugin --profile web remove dsh-toolbox-ui

不要把 mcp-manager-ui 手工插进 profile 的 cordis.patch.yml、Agent preset 或额外的 --patch 文件——插件命令已经完成这件事,重复装配会明确报错。

升级

dsh plugin --profile web update dsh-toolbox-ui

面板顶部有新版时会显示可关闭的提示条,点「升级」走 DSH 官方的 pluginManager。

⚠️ 1.6.1 及更早的版本不会提示 1.6.2 及之后的新版。 它们的更新检查读的是本仓库的 release feed,而那段时间该 feed 的 latest 被另一条产品线(已冻结在 1.5.5 的旧包)占着,于是永远显示「已是最新」。这个缺陷在 1.6.2 修掉了(改成查本包在 npm 上的 latest),修复只能装在新版里——所以请手动升一次,之后就恢复正常:

dsh plugin --profile web update dsh-toolbox-ui

仍装着旧包 dsh-mcp-manager-ui(≤1.5.5)的话走迁移:1.5.5 面板顶部有一条常驻提示,点「迁移」即装本包、卸掉旧包。若面板里的「升级」按钮报 ERR_PNPM_NO_MATCHING_VERSION,那是旧线的升级源已停用(本仓库的 latest 自 v1.8.2 起指向本包),直接用两条命令:

dsh plugin --profile web remove dsh-mcp-manager-ui
dsh plugin --profile web add dsh-toolbox-ui

详见安装与升级。

快速上手

打开面板:右下角悬浮按钮,或侧栏底部「工具箱」。面板浮在会话之上,按 Esc 或点「关闭」收起,不影响会话。

两个作用域:

标签页存哪谁可见改动何时生效
全局Web profile 的 cordis.patch.yml所有项目DSH 热加载,通常立即生效
某项目该项目 .dsh/mcp.json只该项目会话写盘即生效,不需重开会话或重启 Host

…

Related plugins