DSH Toolbox

DeepSeek Harness 报错对照

DSH 起不来,九成是这五种:连模型的那条传输断了、corepack 没了、插件是给别的 dsh 版本写的、Node 太老、host 参数写了通配地址。

每一节就是你看到的报错、为什么会这样、以及该跑的那一条命令。不猜。

传输中断

会话本身没事,是发往模型服务商的请求没走完。常见原因是网络路径、会掐长连接的代理、或者过期的 key。

先看清当前 profile 用的是哪个 provider:

dsh --profile web --dump-config

corepack 缺失

插件管理通过 corepack 调 pnpm。Node 24 自带 corepack,但某些版本管理器和 Linux 发行版会把它剥掉。

启用一次,再重试插件命令:

corepack enable && dsh plugin --profile web add @deepseek-ai/dsh-otel

插件版本不匹配

插件声明了 engines.dsh,你当前的 dsh 不在这个区间里。命令行会在启动时跳过它,而不是带着一个可能崩的组合跑。

要么升级 dsh,要么只对这一个包放行:

dsh plugin allow-version <package>

Node 太低

这个包要求 Node.js 24.9.0 或更高。npm 打了 EBADENGINE 还是装上了,然后命令行在启动时报语法错误。

先看版本,再装当前 LTS:

node --version
npm install -g @deepseek-ai/dsh@latest

通配地址被拒

--host 只接受一个具体的本机 IPv4 或 IPv6 地址,通配地址是有意拒绝的。所以容器里、局域网里写 0.0.0.0 会在启动时失败。

填你真正想绑的地址:

dsh web --host 192.168.1.20 --port 8080 --no-open

常见问题

报错文字在哪看?

在启动 profile 的那个终端里。dsh web 把堆栈打在终端,不在浏览器标签页。

这些能修好登录失效吗?

不能。凭据在 profile 里,重新走一遍对应服务商的登录流程,不要手改文件。

都不匹配怎么办?

跑 dsh --profile config --dump-config 看合成后的树。某一行根本不存在,通常就是答案。