dsh-host-update
DeepSeek Harness 宿主本体自动更新插件 —— 侧边栏独立入口,检测 @deepseek-ai/dsh 更新、一键静默更新并重启,并对当前 profile 的插件做兼容性诊断。
功能
- 宿主更新检测:仅以宿主本体(
@deepseek-ai/dsh + dsh-base 核心)为更新目标;stable/beta/dev 通道跟随 dshmarket(读 state.json,读不到回退 stable)。
- 一键静默更新并重启:侧边栏点击 → 同源校验 → 大版本二次确认 →
npm i -g → 页面重载(macOS 由 launchd KeepAlive 自动重建宿主进程)。
- 配置诊断:复用
dshmarket 的 analyzeProfile 口径,输出 errors / warnings / peerMismatches / duplicates / multiVersion,并给出可粘贴给 agent 的修复提示词(含更新后目标核心 Peer 预检 targetSim)。
- 多 profile 隔离:
web/headless/tui 各自独立缓存与状态文件。
- 跨平台:macOS 实机验证;Windows/Linux 通过
npm prefix -g / npm root -g / findDshInstallDir 多级定位宿主,更新后按平台返回 restartHint。
安装
dsh plugin --profile web add dsh-host-update
# 或本地 link 安装
dsh plugin --profile web add link:/path/to/dsh-host-update
使用
安装后侧边栏底部(sidebar.footer.action)常驻「检查更新」入口:
- 无更新:显示「已是最新」,副标题灰字。
- 有更新:图标右上角出现蓝点 +
NEW 徽标,主标题「有新版本 x.y.z」。
- 点击展开浮层:「立即检查 / 更新并重启 / 诊断 / 复制修复提示词」。
- 收起侧边栏(56px rail)时自动切换为 36px 圆形图标。
配置
插件默认启用(enabled: true)。可通过 profile 的 cordis.patch.yml 覆盖:
- id: host-update
config:
enabled: true
schedule: daily # hourly | daily | weekly
allowMajor: false # 是否允许跨大版本自动更新
autoRollback: true
通道与启用状态也可通过 API 调整:POST /api/host-update/settings {"channel":"beta","enabled":true}。
诊断提示词示例
点击「诊断」后,浮层展示 errors → warnings → peerMismatches → targetSim 分级,并提供一键复制的修复提示词,内容形如:
请帮我诊断并修复 DeepSeek Harness 宿主更新的兼容问题(profile: web,宿主 @deepseek-ai/dsh):
- 当前宿主: 0.1.0-rc.8 -> 目标: 0.1.0-rc.9(通道 latest/stable)
- 启动失败(errors): ...
- 诊断警告(warnings): ...
- Peer 不匹配: dsh-at-file peer @deepseek-ai/dsh-agent@* resolved 0.1.0-rc.8 satisfied=false
- 更新后目标 ... 的核心 Peer 预检: ...
请给出最小改动方案(优先 pnpm patch / 升级单个插件,避免重排官方 bundle)...
开发
npm install
node --check lib/index.js && node --check client/client.js
npm pack --dry-run # 校验发布内容
开源
License
MIT © 2026 Trewyn