dsh 怎么更新?DeepSeek Harness 更新到最新版三种方式:npx 自动更新、npm update -g、源码 git pull
更新 dsh 分三步:先查当前版本,再按安装方式更新——npx 自动用最新、全局安装用 npm update -g、源码用 git pull 重新构建,最后验证版本号。本文把三种安装方式的更新命令、更新前备份、更新后验证与失败兜底一次讲清。
概览:先弄清自己怎么装的,再选更新命令
dsh 的更新方式取决于当初怎么安装的,装法不同,更新命令就不同。 三条路的数据目录相同(~/.dsh),更新本体不影响插件与配置(来源)。整体流程三步:
- 检查:确认当前版本与最新版本;
- 更新:按安装方式执行对应命令;
- 验证:核对版本号、重启确认正常。
三种安装方式对应的更新路径,先看这张表心里有数:
| 安装方式 | 更新命令 | 是否需要手动 | 适合人群 |
|---|---|---|---|
| npx 一键运行 | 无需命令(自动拉最新) | 基本不需要 | 想省事、不装全局的 |
| npm 全局安装 | npm update -g @deepseek-ai/dsh | 需要 | 经常在终端用 dsh 命令的 |
| 源码构建 | git pull + 重新构建 | 需要 | 开发者、要改源码的 |
第一步:检查当前版本
先摸清「现在是什么版本、最新是什么版本」,再决定要不要更新。 操作步骤:
- 打开终端,按你的安装方式执行版本命令:
# 全局安装过:查当前版本
dsh --version
# npx 方式:查当前版本(同样命令)
npx @deepseek-ai/dsh --version
- 查询 npm 上的最新版本:
npm view @deepseek-ai/dsh version
- 对比两个版本号:一致说明已是最新,无需更新;不一致则进入下一步(来源)。
小提示:忘了自己是怎么装的?执行
which dsh,能返回路径就是全局安装,没有输出则是 npx 方式。
第二步:更新前备份(可选但推荐)
更新前花 10 秒备份数据目录,更新出问题也能放心回退。 数据都存在 ~/.dsh 下:
# 备份数据目录(含配置、会话与插件清单)
cp -r ~/.dsh ~/.dsh.backup-$(date +%Y%m%d)
# 确认备份完成
ls ~/.dsh.backup-*
更新失败或插件异常时,用备份目录对照排查,不影响恢复现场。
第三步:按安装方式更新
三种安装方式对应三条更新路径,选你当初用的那条执行。
方式一:npx 方式(自动更新)
npx 每次运行都会重新拉取最新版,本质上已经自动更新,无需任何命令。 只要保证 npm 缓存里不是旧包就行:
# 直接启动,即用最新版
npx @deepseek-ai/dsh web
如果发现启动的版本还是旧的,多半是缓存残留,强制刷新:
# 清空 npm 缓存后重跑
npm cache clean --force
npx @deepseek-ai/dsh web
# 更彻底:删掉 npx 临时缓存目录再启动
rm -rf ~/.npm/_npx
npx @deepseek-ai/dsh web
方式二:npm 全局安装更新
当初用 npm install -g @deepseek-ai/dsh 装的,就用 npm update -g 升级,一条命令到位。 操作步骤:
- 执行全局更新命令:
npm update -g @deepseek-ai/dsh
- 等待 npm 下载并覆盖旧版本,出现
changed或版本号输出即成功; - 核对版本号(
dsh --version),确认已变为最新。
若当初用的是 pnpm / yarn,用对应命令:
pnpm add -g @deepseek-ai/dsh@latest或yarn global add @deepseek-ai/dsh。
方式三:源码构建更新
当初用 git clone 源码构建的,进仓库目录拉取最新代码后重新构建。 操作步骤:
# 进入源码仓库目录(你当初 clone 的位置)
cd ~/dev/deepseek-harness
# 拉取最新代码
git pull
# 重新安装依赖并构建(与当初安装时一致)
npm install
# 按仓库文档执行构建命令,例如 npm run build(以实际为准)
- 构建完成后重启 dsh web:
npx @deepseek-ai/dsh web
冲突兜底:如果 git pull 报「本地有修改」导致失败,先备份改动再拉取:
git stash # 暂存本地改动
git pull # 拉取最新
git stash pop # 恢复本地改动(若有冲突再手动处理)
第四步:更新后验证
更新完别急着用,先确认版本与功能正常,避免「假更新」。 操作步骤:
- 重新执行版本命令,确认版本号已变为最新(对比
npm view结果); - 重启 dsh web,确认服务正常启动、页面能打开;
- 打开设置 → 插件中心,确认已装插件正常加载(装过 DSH Plugin Hub 的话,会看到插件列表与版本);
- 到设置 → 系统日志确认没有 update 类错误。

更新失败?常见问题与解决
更新失败先看报错类型,再对症处理。 常见问题清单:
| 问题 | 可能原因 | 解决办法 |
|---|---|---|
| npx 启动的还是旧版本 | npm 缓存残留旧包 | npm cache clean --force 后重跑,或删 ~/.npm/_npx |
npm update -g 报 EACCES 权限错误 | 全局目录无写权限 | 用 sudo npm update -g @deepseek-ai/dsh,或改用 npx 方式 |
| 下载超时 / 网络慢 | 默认 npm 源访问受限 | npm config set registry 换镜像源后重试 |
git pull 报冲突 | 本地改过源码文件 | git stash 暂存改动 → 拉取 → git stash pop 恢复 |
| 更新后插件不生效 | 插件版本与新版 dsh 不兼容 | 在插件中心重新安装该插件,或等插件作者更新 |
| 更新后网页打不开 | 端口被占用 / 服务未重启 | 重启 dsh web,检查 127.0.0.1:3080 端口占用 |
| 版本命令无输出 | 没全局安装、命令不存在 | 用 npx @deepseek-ai/dsh --version,或先全局安装 |
| 不确定更新成功 | 只看了安装过程没核对版本 | 用 dsh --version 对比 npm view @deepseek-ai/dsh version |
还定位不了时,打开设置 → 系统日志查看完整报错,再按对应排查文章处理。
顺带一提:dsh 本体和插件的更新是两回事
本文更新的是 DeepSeek Harness(dsh)本体;插件的更新在插件中心里单独操作。 别混淆:
- dsh 本体:用上文三种方式更新;
- DSH plugin 插件:打开设置 → 插件中心,在「已安装」页逐个点更新,或
dsh plugin --profile web list查看版本。插件更新失败可在 DSH Plugin Hub 重新安装对应插件。
总结速查
一句话:先 dsh --version 看版本,再按安装方式更新(npx 自动 / npm update -g / git pull + 构建),最后重启验证。 四个提醒:
- 更新前备份
~/.dsh,出问题有退路; - npx 方式基本不用手动更新,有缓存才需要强制刷新;
- 全局安装一条命令:
npm update -g @deepseek-ai/dsh; - 更新后必须验证:版本号 + 重启 + 插件中心三连查。
来源:dsh CLI README、DeepSeek Harness 官方文档 - Quickstart、dshplugin/dsh-plugin-hub
常见问题
按当初的安装方式选命令:npx 方式每次运行自动拉最新(必要时 npm cache clean --force 强制刷新);npm 全局安装执行 npm update -g @deepseek-ai/dsh;源码构建进仓库目录 git pull 后重新构建。更新完用 dsh --version 核对版本号。
全局安装过用 dsh --version;npx 方式用 npx @deepseek-ai/dsh --version。对比最新版执行 npm view @deepseek-ai/dsh version,两个版本号一致就说明已是最新。
不需要。npx 每次运行都会拉取最新版,本质是自动更新;只有当 npm 缓存残留旧包时才需要 npm cache clean --force,然后重跑 npx @deepseek-ai/dsh web。
执行 npm update -g @deepseek-ai/dsh 即可升级到最新版;若安装时用了 pnpm/yarn,用对应命令,如 pnpm add -g @deepseek-ai/dsh@latest。权限不足报 EACCES 时再考虑加 sudo。
不会。dsh 的本体程序与数据目录(~/.dsh)分离,更新二进制不影响插件与配置;插件自身的更新建议在设置 → 插件中心里单独操作,更新失败也可在 DSH Plugin Hub 重新安装。
来源
- dsh CLI README· deepseek-ai
- DeepSeek Harness 官方文档 - Quickstart· deepseek-harness
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub