本文是一份在 CachyOS 上从零安装并跑通 DeepSeek Harness 的安装指引。DeepSeek Harness 是 DeepSeek 开源的 harness 架构(基于 Cordis「一切皆插件」构建),命令行入口叫
dsh,既可当桌面应用,也能dsh web在本地起 Web 界面。
一、准备工作
- 一台装有 Node.js 的 CachyOS(或其他 Linux)。
- 一个 DeepSeek API Key(首次启动后填到界面里)。
- 本文命令默认在 fish 下执行;用 bash/zsh 时路径写法一致,仅
fish_add_path那步换成export PATH=~/.local/bin:$PATH。
二、安装步骤
步骤 1:把 npm 全局前缀改到用户目录
不要 sudo npm install -g——sudo 会把全局包塞进系统目录、权限一团乱,后续升级卸载都埋雷。正确做法是让 npm 的全局包完全住在用户目录里:
fish⎘npm config set prefix ~/.local
步骤 2:把 ~/.local/bin 加入 PATH
dsh 命令装好后会落在 ~/.local/bin,需要把它加进 PATH 才能直接敲。
fish⎘mkdir -p ~/.local/bin
fish_add_path ~/.local/bin
注意(fish 专属):
fish_add_path默认不添加不存在的目录,所以必须先mkdir -p ~/.local/bin再添加,否则会被静默跳过。另外别用source ~/.bashrc往 fish 里灌路径——~/.bashrc是 bash 语法(如export PATH=...),fish 不认,会报「不支持使用 ‘=’」。fish 用~/.config/fish/config.fish+fish_add_path管理路径。
验证一下:
fish⎘echo $PATH
确认输出里包含 /home/你的用户名/.local/bin 即可。

步骤 3:全局安装 dsh(放行原生模块脚本)
直接安装:
fish⎘npm install -g @deepseek-ai/dsh
注意:npm v10+ 默认拦截安装脚本。DeepSeekRuntime 依赖若干原生模块(
node-pty、koffi、@deepseek-ai/dsh-subprocess-local、@google/genai、protobufjs),它们的安装脚本若被跳过,dsh的终端/子进程能力会残缺(典型是node-pty的pty.node没生成,Web 界面里跑命令就依赖它)。所以推荐一开始就放行这几个包的脚本:fish⎘npm i -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs @deepseek-ai/dsh若你像上面那样先装了没带
--allow-scripts,补一句重装即可:fish⎘npm un -g @deepseek-ai/dsh npm i -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs @deepseek-ai/dsh

步骤 4:确认原生终端模块就位
装完后,确认 node-pty 的预编译模块存在:
fish⎘ls ~/.local/lib/node_modules/@deepseek-ai/dsh/node_modules/node-pty/prebuilds/linux-x64/pty.node
注意:新版
node-pty用预编译文件分发,路径在prebuilds/linux-x64/,不是老式的build/Release/pty.node。若按旧路径查提示不存在,是正常现象,去prebuilds下找就行。文件约 76k 即说明原生终端模块就绪。
到这一步安装完成。环境应当是:dsh 全局装在 ~/.local、~/.local/bin 已在 PATH、pty.node 已就位、原生依赖脚本已执行。

三、启动与使用
步骤 5:启动 Web 界面
fish⎘dsh web
浏览器打开:
http://127.0.0.1:3080

首次进入做两件事:Settings → Models 填入 DeepSeek API Key 并选中模型,然后新建会话即可。
嫌每次手动填麻烦,可提前用环境变量喂入:
fish⎘set -x DEEPSEEK_API_KEY "sk-你的密钥" dsh web
补充:官方其实也推荐直接
npx @deepseek-ai/dsh web一行启动、免全局安装。本文走全局安装,是为了在 CachyOS 上常驻一个dsh命令、平时随手就能敲;若你只偶尔用,npx那条完全等价。
步骤 6:用自然语言驱动 harness
跑起来后就能让它干活了,例如:
- “分析一下当前内存占用最高的几个进程”
- “看看有哪些 systemd unit 是 failed 的”
- “磁盘空间还剩多少,哪个目录最大”
想要更强能力,可去装官方 / 社区插件(GitHub 上 dsh-plugin 话题下有一堆);DeepSeekRuntime 的「创造模式」甚至能对话生成自己的插件——这是 harness「一切皆插件」的玩法,超出本文安装范围,以后单聊。
四、重装 / 换机提醒
- 永远别
sudo npm install -g。prefix 已指向用户目录,普通用户装就够了。 - DeepSeekRuntime 仍是开发者预览版,更新可能有破坏性变更。踩到坑可锁版本安装,别无脑拉最新。
- 换 shell 或重装系统后,记得重跑
mkdir -p ~/.local/bin和fish_add_path ~/.local/bin——这一步最易忘,忘了dsh命令就找不到。 - 若
dsh web报pty.node相关错误(原生模块没编译好),先装base-devel python,再到node-pty目录执行npx node-gyp rebuild本地编译一遍。



