# 发布说明 v0.4.3（对齐 dsh 0.1.5-rc.1）

[← 返回 README](../README.zh.md) ｜ 相关：[v0.4.2 发布说明](v0.4.2.md) ·
[dsh 0.1.5-rc.1 适配记录](../design/adaptation-dsh-0.1.5-rc1.md)

**发布日期**：2026-09-10 ｜ **区间**：`v0.4.2 → v0.4.3`
**规模**：依赖对齐 1 commit + 适配记录 1 commit + 发布 1 commit；
无源码与测试改动，测试套件与用例数不变（6 套 101 例全绿）

v0.4.3 是一次**宿主对齐**版本：把运行时依赖从 dsh 0.1.2-rc.1 线升到
0.1.5-rc.1，避免已发布的 v0.4.2 在新宿主里继续装入自带的旧 mcp-client
副本。**没有任何用户可见的行为变化**——配置格式、装载语义、deny 隔离与
CLI 输出与 v0.4.2 完全一致。

---

## 变更

### `@deepseek-ai/dsh-mcp-client` `^0.1.2-rc.1` → `^0.1.5-rc.1`

`^0.1.2-rc.1` **不会**解析到 `0.1.5-rc.1`：npm semver 要求带 prerelease 的
候选版本与比较符的 major.minor.patch 元组相同。v0.4.2 因此在 dsh 0.1.5-rc.1
宿主进程里加载插件自带的 0.1.2-rc.1 客户端及其 0.1.2-rc.1 peer
（`dsh-tools` / `dsh-scope` / `dsh-timeout` 等）。

升到 `^0.1.5-rc.1` 后，mcp-client 与全部 peer 解析到 **0.1.5-rc.1**，与宿主
同版。pnpm 12 为这批刚发布的 rc 写入 `pnpm-workspace.yaml` 的
`minimumReleaseAgeExclude`，否则供应链门禁会挡住安装。

静态核对：`tools.restrict`、`agents.list` / `isOwnedBy`、会话事件名、
mcp-client `Config`、`serverName` 约束、`mcp__<name>__<tool>` 命名与
`MAX_TIMER_DELAY_MS` 均无断裂。实现 diff 仅 `tools/list` 增加重复
continuation cursor 校验。

隔离实机：`ProjectMcpRegistry` 读项目 `.dsh/mcp.yml` 后
`scan` → `attempt` → `active`，`mcp__compat-probe__probe` →
`pong:compat-015`。完整记录见
[适配记录](../design/adaptation-dsh-0.1.5-rc1.md)。

---

## 升级

无破坏性变更，无需改任何配置文件。

已装 v0.4.2 且宿主已升到 dsh 0.1.5-rc.1 的 profile，把插件升到 v0.4.3
即可去掉进程内双副本：

```powershell
dsh plugin --profile <p> add dsh-project-mcp-manager@0.4.3
```

本地 link 开发：`pnpm install` 后确认
`@deepseek-ai/dsh-mcp-client` 解析为 `0.1.5-rc.1`。
