前言¶
用 DeepSeek Harness(DSH)做智能体开发时,同一个机器上往往同时存在多种「dsh」来源:全局 npm install -g、npx 缓存里的多版本并存、以及官方桌面客户端。升级 npx 副本不会立刻换掉当前进程,重启又要自己拼命令;桌面装包和 CLI 装包也不在同一个界面里。下面介绍的 dsh-version-manager(维护者 ccsdyc)是一个 DSH 客户端插件(Harness bundle),在左侧导航增加「版本管理 / Versions」面板,把 npm、npx、desktop 三类安装放在分段切换器里统一查看和操作。
这是什么¶
dsh-version-manager 在 npm 上发布为 dsh-version-manager(当前资料中的包版本为 1.0.0,许可证 MIT)。它通过 cordis.patch.yml 注入客户端 UI,并在 Host 侧注册一组 /dsh-versions/* API,用于列举本机安装、拉取 registry 最新 rc/alpha、执行升级与删除、下载官方桌面安装包、写桌面快捷方式,以及在 CLI 场景下安全重启 DSH。
分类上属于 客户端 插件:package.json 中 dsh.client.platform 为 web,并依赖 @deepseek-ai/dsh-client-ui-sidebar 等布局能力。社区目录页见 SkillHub;源码与完整说明见 GitHub。
核心功能¶
三区域版本面板¶
面板默认按「当前进程来源」优先排序,其余区域为 npm、npx、desktop。切换器下有一条状态行:区分正在运行的版本与磁盘上已安装的最新版本(例如 npx 并列安装时出现 running 0.2.2-alpha.2 · newest installed 0.2.2-alpha.3)。
- npm:全局安装的
@deepseek-ai/dsh,可升级,不可删除。 - npx:缓存中的多版本列表;最新 rc 与 alpha 各一行,其余已装版本可升级或删除;
running角标跟当前进程的_npx/<hash>。 - desktop:读取本机已装桌面版(Windows 卸载注册表、macOS
DeepSeek*.app的CFBundleShortVersionString),并与download.deepseek.com固定安装 URL 上解析出的发布版本对比;可触发两步式下载与启动安装程序。
有未确认的更新时,侧栏入口与对应分段会出现 new 标记;点开分段即视为确认该区域的发布版本,状态写入 localStorage 键 dsh-version-manager:dismissed。
升级、删除与重启¶
升级路径与 README 一致:
- 全局 npm:
npm install --global @deepseek-ai/dsh@<version> - npx:
npx --yes @deepseek-ai/dsh@<version> --version(只填充缓存,不删旧副本)
若升级的是当前进程所在安装,面板会要求确认并在完成后自动重启;仅升级另一区域则只安装副本。工具栏 Restart DSH 仅对 CLI 启动(npm/npx)且 launcher 提供 ctx.appExit 时可用,桌面客户端不走此路径。重启日志默认落在 $DSH_HOME/logs/dsh-version-manager-restart.log(macOS、Windows 另有回退路径)。
删除规则:不能删「当前运行来源」和「各渠道最新已装」;npm 区域不提供删除。npx 删除会清理对应 _npx 目录及匹配的 npm cache 索引项。
桌面客户端一键装包¶
官方安装包 URL 固定、文件名不含版本号:
https://download.deepseek.com/desktop/dsh-latest-windows-x64.exe
https://download.deepseek.com/desktop/dsh-latest-macos-arm64.dmg
https://download.deepseek.com/desktop/dsh-latest-macos-x64.dmg
流程分两步:先用 Host 原生目录选择器选保存位置,再下载并拉起安装程序(macOS 用 open 挂载 DMG)。仅接受上述域名与 URL;下载失败会删除残缺文件。
桌面快捷方式¶
工具栏 桌面快捷方式 / Desktop shortcut 按本次会话的启动方式写启动器,而不是简单指向「已安装的桌面 exe」。Windows 生成 DeepSeek Harness.lnk;macOS CLI 为 DeepSeek Harness.command,桌面客户端为指向 bundle 的 DeepSeek Harness.app 符号链接。CLI 快捷方式会保留当前的 profile 与启动参数(含 web / --profile 等,去掉 --no-open)。
Windows 默认图标来自插件自带的 assets/tray.ico;可通过环境变量 DSH_VERSION_MANAGER_ICON 覆盖。图标会先复制到 %LOCALAPPDATA%\dsh-version-manager\shortcut.ico 再写入 .lnk,以避免工作区低完整性标签导致 Explorer 不刷新图标。
语言与界面¶
面板语言默认由 IANA 时区推断:大陆常用时区(如 Asia/Shanghai)显示中文,其余(含港澳时区)显示英文,不跟随应用 locale。页脚 English / 中文 按钮优先级更高,选择保存在 localStorage。
安装与启用¶
插件以 npm 包形式发布。README 给出的标准装法如下(web profile):
dsh plugin --profile web add dsh-version-manager
若 CLI 只添加了依赖,还需在插件管理器中启用 bundle,再重启 DSH。Host 端在启动时加载,package.json 要求 Node >= 24.9.0。
离线或无法直接访问 registry 时,可将仓库中的 dsh-version-manager 文件夹打成 zip(根目录为文件夹本身),在目标机上:
- 解压到任意路径,例如
D:\dsh\dsh-version-manager。 - 完全退出 DSH。
- Windows 双击
install.cmd;macOS/Linux 执行sh install.sh。 - 重启 DSH 并刷新页面。
安装脚本会定位 %DSH_HOME%(或 ~/.dsh)与 web profile,尝试 dsh plugin --profile web add link:<路径> 并写入本地 link;可用 --profile、--dsh、--dry-run、--no-cli 等选项。安装前会把 profile 的 package.json 备份为 package.json.dshvm-backup。
自托管插件市场索引可参考 README:用 node tools/make-market-index.mjs 生成 index.json 后挂到 HTTPS 静态站点,再在 DSH 的 plugin-market 设置里添加该 URL(格式 1 支持 npm/Git 源,不支持 zip 作为市场源)。
典型用法¶
日常操作主要在 DSH Web 客户端左侧 版本管理 / Versions 入口完成,无需记忆零散 shell 命令。
- 打开面板,在分段切换器中查看 npm / npx / desktop 的安装与运行状态;有红点或侧栏
new时先做 re-check 或点开对应分段确认更新。 - 在 npx 或 npm 区域对目标 semver 执行升级;若提示需重启,使用状态行中的 Restart on 指定版本动作或工具栏 Restart DSH。
- 需要固定启动方式时,点击 桌面快捷方式,在桌面得到与当前会话一致的启动器(npx 会话不会误写成桌面 exe 快捷方式)。
- 桌面版落后时,切换到 desktop 分段,选目录后完成官方安装包下载与安装。
Host 侧路由包括 /dsh-versions/list、/upgrade、/restart、/delete、/desktop/install、/shortcut 等,Client 通过同源 fetch 调用;具体行为以 README「Transport」一节为准。
适用场景与注意¶
适合谁:经常在同一台开发机上切换 DSH 的 rc/alpha 通道、用 npx 试新版本又不想手工清缓存,或希望从 Web UI 拉官方桌面安装包并与本机已装版本对比的开发者。
权限与安全:插件与当前 DSH 进程使用相同权限执行升级、删缓存、写桌面快捷方式、下载安装包等操作。安装前应阅读 源码仓库 与 MIT 许可证,确认路由与 shell 调用符合你的环境策略。修改 index.js 后必须重启 DSH 才能生效新 Host 逻辑;仅刷新页面只重载浏览器端。
环境依赖:面板会驱动本机 npm/npx;Windows 快捷方式优先 PowerShell;macOS 读取 plist 依赖 plutil/open。registry 与桌面安装功能需要网络。Intel macOS 的 x64 DMG 若未返回 Content-Disposition,界面会显示 latest version unavailable 且不设更新点——README 说明这是当前制品行为,将来头信息补齐后会自动生效。
生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 等社区目录由第三方维护,与 DeepSeek / 幻方无官方从属关系,本文不以「官方应用商店」描述安装来源。
结尾¶
经过上面的步骤,可以把本机多种 DSH 安装源收拢到一块面板:看得见「正在跑谁、磁盘上最新是谁」,按需升级、删 npx 副本、拉桌面包,并在 CLI 场景下一键重启。需要安装名与时区语言细节时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/ccsdyc/dsh-version-manager
- GitHub:https://github.com/ccsdyc/dsh-version-manager