Skip to content

Releases

v0.1.1 — 文档修正:去掉「要重启」的误导说明,上手改成编号步骤

Choose a tag to compare

@zhengjy01 zhengjy01 released this 27 Sep 03:12

文档修正版。没有功能变更,装 0.1.0 的人不需要做任何事。

  • 改正了一处会误导人的说明:README 原先写「装完重启一次 DSH」。这是错的——把插件加进 profile 时,
    宿主会自己热重载组合(dsh.profile.patchReload 未设置即为热重载),只需要刷新一下浏览器页面。
    实测依据:安装当天宿主 pid 全程未变,而插件的宿主半与客户端 bundle 都已生效。
  • 上手说明改成编号操作步骤:在哪 → 点什么 → 应该看到什么,并预留了截图位。

完整步骤见 README.zh.md。

v0.1.0 — 首个版本:运行时管理 MCP 服务器,不需要重启

Choose a tag to compare

@zhengjy01 zhengjy01 released this 27 Sep 03:09

MCP server manager for DeepSeek Harness — add, edit, enable and test MCP servers from the Web
settings page or from agent tools, connected and disconnected at runtime without restarting DSH.

自建的 MCP 服务器管理器:从 Web 设置页或直接让 agent 增删改查 MCP 服务器,连接与断开都在运行时完成。

上手(照着做)

全程不需要重启 DSH。 装进 profile 后宿主会自己热重载插件树,你只要刷新一下浏览器页面。

  1. 装插件 —— 终端执行 dsh plugin --profile web add @zhengjunyao/dsh-mcp-manager

    预期:命令结束打印一行 + @zhengjunyao/dsh-mcp-manager。

  2. 打开设置页的「MCP 管理」 —— 刷新 Web GUI → 左侧进 设置 → 找到 MCP 管理 卡片

    预期:卡片里有总开关、服务器列表,每台服务器带状态徽标(active / starting / waiting / error / stopped)。

📷 【截图位 2】起点界面:证明「MCP 管理」卡片在哪、长什么样
怎么截:刷新 Web GUI → 左侧进「设置」→ 滚动到「MCP 管理」卡片 → 停在卡片完整可见(标题 + 总开关 + 服务器列表同框)
敏感处理:若列表里已有服务器,打码服务器名与命令里的本地路径
补图:把本段整段替换为 ![MCP 管理设置卡片](图片地址)

  1. 加一台服务器并确认它真的连上了 —— 点添加,填名称(会成为工具前缀 mcp__<名称>__)、选传输方式(stdio 填命令 / Streamable HTTP 填 URL),保存

    预期:服务器立刻出现,徽标从 starting 走到 active,工具数 > 0,工具名形如 mcp__<名称>__<工具名>,并且当场就能被 agent 调用。

📷 【截图位 3】结果验证:证明「连上了、工具真的注册了」
怎么截:服务器处于 active → 展开工具名列表 → 停在同时看到徽标、工具数与若干 mcp__…__… 工具名的状态
敏感处理:工具名一般可留;服务器名与路径若含个人信息请打码
补图:把本段整段替换为 ![服务器已连接并注册工具](图片地址)

完整步骤(含试连、草稿试连、Agent 工具与配置文件写法)见 README.zh.md。

这一版有什么

  • 运行时增删启停:连接 = 在运行时挂载 harness 自带的 @deepseek-ai/dsh-mcp-client 一个实例,断开 = fiber.dispose();传输、凭据清洗、重连退避与 mcp__<服务器名>__<工具名> 命名契约全部复用核心已测代码
  • 8 个 Agent 工具:mcp_manager_status / list / add / update / remove(不传 confirm 只预检)/ test(可传草稿试连、不落盘)/ import(从旧管理插件导入)/ reload
  • Web 面板:实时阶段徽标、工具数与工具名、测试连接、启停、编辑、删除、导入、重读配置
  • stdio 与 Streamable HTTP 两种传输
  • 配置存 $DSH_HOME/dsh-mcp-manager.json(0600,原子写,认 DSH_HOME)

一个设计取舍,值得说明

它不自己实现 MCP 协议,而是驱动 harness 自带的桥——因此全文没有一次 tools.restrict()。
被它替代的那个第三方实现是逐个工具名调 restrict() 调和可见性,而每次调用都会重算整个
registry view,实测把 web 宿主压到 CPU 94.7%、端口 8 秒零应答、JS 堆 1080 MB。本条不是推测:
发布包经回拉验证,剥掉注释后可执行代码里 .restrict( 出现 0 次。

兼容性

需要 DSH >= 0.1.5-rc.1;已在 0.1.7-rc.2 上端到端验证通过。