本地安装与使用 DeepSeek Harness
前言
DeepSeek Harness(命令行 dsh)是 DeepSeek 开源的 Agent 运行时:模型、工具、会话与界面以插件方式挂接,适合在本地目录里读代码、改文件、跑命令。
它目前是 developer preview,可能有破坏性变更。
本文只介绍一种本机用法:用 npm 全局安装 后,在任意目录直接执行 dsh web。
版本与界面以你安装到的包为准。
依赖
需要 Node.js(建议 ^22.19 或 >=24,过低可能装不上或启动失败)。
在终端确认:
1 | node --version |
若版本不够,到 Node.js 官网 安装后再重开终端。
模型侧准备 DeepSeek API Key(在 开放平台 创建),勿写入仓库。
也可启动 Web UI 后在页面里填写。
实现
全局安装
希望在任意目录都能直接使用 dsh 时,执行:
1 | npm install -g @deepseek-ai/dsh |
安装完成后确认命令可用:
1 | dsh --version |
升级同一全局包时,重新执行上面的 npm install -g 即可。
如需钉住具体版本,可执行:
1 | npm install -g @deepseek-ai/dsh@0.1.0-rc.7 |
版本号按 npm 上实际版本调整。
启动 Web UI
任意目录下运行:
1 | dsh web |
看到类似 dsh web: http://127.0.0.1:3080 后,用浏览器打开该地址。
停止服务:在运行 dsh 的终端按 Ctrl+C。
会话与凭据等数据默认在用户目录下的 ~/.dsh(Windows 多为 %USERPROFILE%\.dsh),与全局命令安装位置分开。
配置模型
打开 Web UI → 设置 → 模型。
在 DeepSeek 卡片填入 API Key 并保存。
密钥一般为只写字段;保存后界面只显示脱敏信息。
若使用 OpenAI 兼容网关,可按界面添加自定义提供方:填写 Provider ID、基础 URL、协议、凭据与至少一个模型 id,保存后在模型选择器中选用。
火山方舟 Coding Plan 把基础 URL 填成下面即可,模型名一般不用改。
1 | https://ark.cn-beijing.volces.com/api/coding/v3 |
选择工作区
必须先选择工作区,否则会话输入区常常不可用。
在界面中点「选择工作区」,指定本机项目目录后再新建会话发任务。
插件
dsh-routing-suite
dsh-routing-suite 分两步:装配注入器,再安装路由预设。
注入器用 dsh-super-injector Release 的预编译包,装到 %USERPROFILE%\.dsh\plugins\dsh-super-injector。
下面以 0.3.3 为例,版本以 Release 页面为准。
先下载并解压注入器:
1 | $ver = "0.3.3" |
再克隆套装并复制两个预设目录。
目标路径是 .dsh/.agent-presets/router-standard 与 router-spec,目录内直接包含 agent.cordis.yml。
1 | git clone --recurse-submodules https://github.com/yjh051108/dsh-routing-suite.git |
然后按上文「启动 Web UI」的方式启动 dsh web。
浏览器打开 http://127.0.0.1:3080。
新建会话,在预设列表中选择 Router Standard 或 Router Spec。
端口被占用时
若端口被占用,先结束占用 3080 端口的进程,再重新启动:
1 | Get-NetTCPConnection -LocalPort 3080 -State Listen -ErrorAction SilentlyContinue | |
注意:这会终止正在运行的旧会话,操作前请先保存需要保留的内容。