# 发布说明 v0.10.0（左侧栏入口 · 适配 dsh 0.2.1-rc.5）

[← 返回 README](../README.zh.md) ｜ 相关：[MCP 管理页指南](../guide/settings-ui.zh.md) ·
[dsh 0.2.1-rc.5 适配记录](../design/adaptation-dsh-0.2.1-rc.5.md) ·
[v0.9.0 发布说明](v0.9.0.md)

**发布日期**：2026-11-04 ｜ **区间**：`v0.9.0 → v0.10.0` ｜ **标签**：`v0.10.0`
（annotated，锚定本发布说明所在提交）
**宿主**：dsh `0.2` 线，从 `0.2.1-rc.5` 起（`engines.dsh` 为 `^0.2.1-rc.5`）。
0.2.1-rc.2–rc.4 继续使用 v0.9.0；dsh 0.2.0 继续使用插件 v0.8.2；dsh 0.1.5
继续使用 v0.6.0。

源码版本和 Git 标签不表示 `dsh-project-mcp-manager` 或 `dsh-project-mcp-ui`
已经发布到 npm。

---

## 亮点速览

| 主题 | 一句话 |
|---|---|
| 新入口 | 左侧栏出现「MCP 管理」，与「插件」「自动化任务」同一套面板机制 |
| 旧入口 | 「设置 → 内置插件 → 插件：MCP 管理」保留一个版本，计划在 0.11.0 移除 |
| 宿主对齐 | 依赖下限抬到 dsh **0.2.1-rc.5**；client 桥接 schema 与 rc.2 逐字节相同 |
| 内部逻辑 | 配置读写、`/api/project-mcp/*` 路由、文件格式全部不变 |

---

## 用户可见变化

- **左侧栏新增「MCP 管理」**。点开是同一个服务器列表页，整页宽度比设置弹窗宽；
  侧栏收起成 56px 轨道时只显示图标，悬停或键盘聚焦显示名称。图标为数据库形状，
  位置紧跟「插件」。
- **两个入口并存一个版本**。新页面顶部写明旧设置页会保留到下一个版本；旧设置页
  顶部写明新入口的位置，并说明本页将在下一个版本移除。
- **隐藏方式不变**。只关闭 manager bundle 所含的 `mcp-project-ui`（或 profile
  patch 按 id 覆盖禁用）就同时隐藏左侧栏与设置页两个入口，装载器继续运行。

---

## 宿主对齐：dsh 0.2.1-rc.5

- `@deepseek-ai/dsh-mcp-client`、UI 的 `@deepseek-ai/dsh-native-command`、client
  开发依赖，以及两包 `engines.dsh` 一起抬到 `^0.2.1-rc.5`。
- 为什么是「抬下限」而不是「保持 rc.2」：rc.5 client 的 peer 是精确版本的 rc.5
  包，npm 会把 `^0.2.1-rc.2` 解析成 rc.5；在 rc.2–rc.4 宿主上会装出一套对不上的
  peer。声明 rc.5 为下限，旧宿主会得到明确的引擎拒绝，而不是静默混装。
- 已逐项核对 rc.5 的运行时接口：client 的 `Config` schema、导出、传输集合、
  reconnect 上限与 MCP SDK 2.2.0 均未变；`sidebar.panellist`、`main`、
  `settings.plugins.tab` 仍由 rc.5 的对应包声明；`connection.fetch.register`
  的入参形状不变；页面用到的 primitives 图标仍在 web 前端模块表里。
- `pnpm-workspace.yaml` 的 `minimumReleaseAgeExclude` 从 rc.2 换成 rc.5，避免
  供应链年龄策略把新版本过滤掉、回落到旧 tuple。

---

## 安装与升级

```powershell
# 新装（桌面端把 --profile 换成 desktop）
dsh plugin --profile web add dsh-project-mcp-manager@0.10.0

# 从 0.9.0 升级：重跑同一条 add，带上目标版本
dsh plugin --profile web add dsh-project-mcp-manager@latest
```

UI 由 manager 以同一精确版本自动安装，不需要单独安装或选择 `dsh-project-mcp-ui`。
升级宿主到 dsh 0.2.1-rc.5 之前不要装 0.10.0（见上文支持矩阵）。

---

## 迁移提示

- 升级到 0.10.0 后无需改配置、无需迁移文件；两个入口读写的仍是同一批受管
  `mcp.yml`。
- 如果你还在 dsh 0.2.1-rc.2–rc.4，请留在插件 v0.9.0；升级宿主到 rc.5 后再装
  0.10.0。
- 0.11.0 会移除设置标签页。如果你的操作手册或内部文档写着
  「设置 → 内置插件 → 插件：MCP 管理」，现在就可以改成左侧栏「MCP 管理」。

---

## 验证

`npm test`（Node 26.7.0，rc.5 依赖树）全绿：model 34 / mcp-file 7 / json-file 13 /
json-write 6 / registry 63 / project-watch 5 / cli 21 / ui-collapse 14 / ui-paste 14 /
ui-display 7 / panel-helpers / bundle / ui-lifecycle 11。根与 client 两套
`tsc --noEmit` 通过。`test-bundle.mjs` 额外断言浏览器 bundle 同时保留
`settings.plugins.tab` 与 `sidebar.panellist` / `main` 两处注册，且两者共用一个
id。未做真机点击回归。
