DeepSeek Harness(dsh)

DeepSeek 官方开源的 Agent 运行框架,命令行叫 dsh。 它的作用是让模型能真正「动手干活」:读取你的项目文件、修改代码、执行命令、拆解长任务, 并且每一步都能看到推理过程和工具调用。本页教你把它接到聚合AI。

没碰过命令行?本页已经自带完全新手篇(就在下面),也可以先看独立的 命令行入门。

一分钟理解它是什么。官方给的定义是「Agent = Model + Harness」: 模型是脑子(负责思考),Harness 是手脚(负责真正去读文件、跑命令)。 所以 dsh 不是聊天软件,而是「让 AI 在你电脑上干活」的运行底座。 你只要给它一个文件夹和一把本站的 API 密钥,它就能在那个文件夹里帮你做事。

整套流程只有 3 件事:① 打开终端窗口 → ② 粘贴一条命令并回车 → ③ 在自动打开的网页里填几个字段。 下面从「终端怎么打开、命令怎么粘」开始讲,没用过命令行也能照做。

本页内容

  1. 完全新手篇:终端怎么开、命令怎么粘(务必先看)
  2. 准备三样东西
  3. 第 1 步:启动 dsh
  4. 第 2 步:把本站配置进去
  5. 第 3 步:选择工作区
  6. 第 4 步:发第一个任务
  7. 第 5 步:确认已接上本站
  8. 常见问题(照着查)
  9. 进阶:直接改配置文件(可选)
  10. 费用与安全提醒

完全新手篇:终端怎么开、命令怎么粘

如果你没用过「终端」「命令行」「PowerShell」这些词,这一节就是为你写的。整个过程只有三个动作:打开终端 → 复制命令 → 粘贴并回车。

① 先打开一个「终端」窗口

终端就是一个可以用文字下命令的黑框框,你电脑里本来就有,不用装。按你的系统照做:

你的系统怎么打开(任选一种)
Windows 10 / 11 方法一:按键盘 Win 键 → 直接输入 powershell → 点出来的「Windows PowerShell」。
方法二:按 Win + X → 在菜单里点「终端」或「Windows PowerShell」。
(Windows 里黑色的「命令提示符 cmd」也能用,但推荐 PowerShell。)
macOS 方法一:按 Command + 空格 → 输入 终端(或 Terminal)→ 回车。
方法二:访达 → 应用程序 → 实用工具 → 终端。
Linux 多数桌面环境按 Ctrl + Alt + T 即可;或在应用菜单里搜「终端 / Terminal」。

打开后你会看到一个窗口,里面有类似 PS C:\Users\你的名字> 或 你的名字@MacBook ~ % 的字样,最后那个符号(> 或 % 或 $)表示它在等你的命令。这就是对的。

② 复制本页的命令

本页每一个灰色代码框的右上角都有一个「复制」按钮,点一下,整条命令就复制好了。不用手动拖鼠标选中。

手动选中也可以:从命令的开头一直拖到结尾,然后按 Ctrl + C(macOS 按 Command + C)。 注意只复制命令本身,不要把前后多余的空格、换行或说明文字一起带上。

③ 粘贴进终端,然后按回车执行

在终端窗口里粘贴,粘贴完必须按一下回车键(Enter),命令才会开始跑。粘贴快捷键对照:

系统在终端里粘贴补充说明
WindowsCtrl + V,或在窗口里点鼠标右键Win10 老版本控制台:右键就是粘贴。Ctrl+V 不行时用右键。
macOSCommand + V—
LinuxCtrl + Shift + VLinux 终端里 Ctrl+V 不是粘贴,要用组合键或右键。

粘贴后你应该能看到命令文字出现在窗口里,光标停在末尾 —— 再按回车,它就开始执行了。

④ 怎么算成功、怎么算失败

你看到的说明
窗口滚出一堆文字后停住,出现 http://127.0.0.1:3080 这样的网址 成功。浏览器通常会自动打开这个页面;没自动开就手动复制这个网址到浏览器地址栏。
窗口滚出很多 npm warn 开头的黄字 多数只是警告,不影响使用,继续等它跑完即可。
出现 'node' 不是内部或外部命令 / command not found: node 电脑还没装 Node.js,去做第 0 步。
出现 npm.ps1 ... 禁止运行脚本(Windows 常见) PowerShell 的安全策略拦住了 npm。见下面「Windows 的两个常见坑」。
窗口像卡住了,好几分钟没有任何新文字 多半在联网下载(第一次要下载程序本体)。先等够 5 分钟;仍不动就按 Ctrl+C 停掉,换国内镜像后重试(见下)。
其它任何看不懂的红色报错 不用怕,把终端里最后 5~10 行文字复制下来发给客服,我们帮你看。

⑤ Windows 的两个常见坑

坑一:提示「禁止运行脚本」(无法加载文件 npm.ps1)。这是 PowerShell 默认策略导致的,不是命令写错了。两种解法,任选一种:

  • 解法 A(推荐,一次解决):把下面这条命令粘进 PowerShell 并回车(它会问一句,输入 Y 再回车):
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
  • 解法 B:不用 PowerShell,改用「命令提示符」:按 Win 键 → 输入 cmd → 打开后在黑窗口里执行同样的命令。

坑二:下载卡住不动。换成国内镜像再试(只影响本机 npm 的下载来源,不影响使用):

npm config set registry https://registry.npmmirror.com

想改回官方源:把上面那条的地址换成 https://registry.npmjs.org 再执行一次即可。

⑥ 怎么停、怎么再开、怎么换目录

想做的事怎么做
停止服务 在正在运行它的那个终端窗口里按 Ctrl + C(macOS 也是 Ctrl+C)。直接关掉窗口也可以。
下次再用 重新打开终端,再执行一次第 1 步那条命令即可(配置会记住,不用重填)。
先进入某个文件夹 用 cd 命令,例如 cd "D:\我的项目"(macOS/Linux:cd ~/Projects/demo)。路径里有空格一定要加英文双引号。不是必须的,第 3 步在网页里选工作区也可以。
怎么知道文件夹的完整路径 Windows:在资源管理器里进到该文件夹,点一下顶部地址栏,路径会变成可复制的文本。macOS:右键该文件夹 → 按住 Option 键 → 选「拷贝…为路径名称」。

开始之前:准备三样东西

  1. 一台装了 Node.js 的电脑(下面第 0 步教你怎么装、怎么确认)。
  2. 一把聚合AI 的 API 密钥:登录本站控制台 → 左侧「API 密钥」→ 新建,复制形如 sk-xxxxxxxx 的那串字符(只显示一次,先粘到记事本)。
  3. 一个准备让它干活的文件夹:比如你的代码项目目录。记住它在哪,第 3 步要选它。

0安装 Node.js(已装可跳过)

在刚打开的终端里,粘贴下面这行并回车,能显示版本号(v20 以上)就说明装好了:

node -v

看到 v22.13.0 这样的输出 = 成功,可以直接跳到第 1 步。
看到「不是内部或外部命令 / command not found」= 还没装,按下表装完再回来。

系统怎么装
Windows 打开 nodejs.org 下载 LTS 版,双击一路点「下一步」;或在 PowerShell 里执行 winget install OpenJS.NodeJS.LTS。装完关掉旧窗口、重新开一个终端,再执行 node -v。
macOS 到 nodejs.org 下载 LTS 的 .pkg 双击安装;装了 Homebrew 的话执行 brew install node。
Linux 执行 curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - && sudo apt install -y nodejs。

1启动 dsh(就一条命令)

在终端里粘贴这一条,回车:

npx @deepseek-ai/dsh web

第一次运行会联网下载程序,等 1~3 分钟属正常(屏幕不动也在下载);之后启动只要几秒。
跑完会自动打开浏览器,地址是 http://127.0.0.1:3080;没自动打开就手动把地址复制到浏览器。

这个终端窗口不要关。它就是服务本身,关掉窗口 = 服务停止,网页就打不开了。用完再关。

如果你在服务器上通过 SSH 使用,服务不会自动开浏览器,加一个参数即可:npx @deepseek-ai/dsh web --no-open,然后按它打印的地址访问。

2把本站配置进去(关键一步)

全部在刚才打开的网页里点鼠标操作,不需要改任何配置文件:

  1. 在网页左侧打开 设置 → 模型(Settings → Models)。
  2. 点 添加模型提供商(Add model provider)。
  3. 把卡片顶部切换成 自定义模型 API(Custom model API)。
  4. 按下表把 5 个字段照抄进去(「填什么」那一列可以直接复制):
字段填什么说明
Provider ID juheai 小写字母。填了就不能改,改只能删掉重建,所以别乱填。
显示名称 聚合AI 随便写,只用于你自己辨认。
Base URL https://api.juheai.shop/v1 末尾的 /v1 必须带,末尾也不要多打斜杠。
API 协议 OpenAI Chat Completions 在下拉里选这一项(本站按此协议对接)。
API 密钥 你复制的 sk-xxxxxxxx 粘贴时注意前后不要带空格或换行,粘完可以再看一眼首尾字符。
模型 deepseek-v4-pro
deepseek-v4-flash
点 获取可用模型(Fetch available models)可自动列出并勾选;如果拉取失败,就手动把这两个模型 id 一个一个填进去,效果完全一样。

最后点保存。配置改完立即生效,不需要重启服务。

3选择工作区(新手最容易漏的一步)

点界面上的 选择工作区(Choose workspace),添加并选中一个文件夹—— 它就是 AI 被允许操作的目录。建议先用一个不重要的小项目试手。

不选工作区,底部的输入框是灰的,发不出消息——很多人卡在这里以为是程序坏了。

如果列表里找不到你的文件夹:直接点「添加 / Add」后手动粘贴该文件夹的完整路径(新手篇⑥讲了怎么复制路径)。

4发第一个任务

工作区选中后,在底部输入框里粘贴下面这句(这是一个只读任务,不会改动你的文件),然后发送:

分析这个项目的目录结构,说明它是做什么的、怎么启动,列出主要模块。不要修改任何文件。

稍等片刻,你会看到它一边思考一边调用工具(读文件、列目录等)。 如果某个操作需要你确认,界面会先弹出来问你,你点同意它才继续。

5确认已经接上本站

  • 回到本站控制台 → 使用日志,能看到刚刚的调用记录(模型名、token 数、扣费),说明走的就是本站额度。
  • 如果日志里没有记录,说明请求没发到本站,回到第 2 步检查 Base URL 和密钥。

常见问题(照着查)

现象原因与处理
不知道终端在哪、命令没地方贴 看本页最上面的完全新手篇,里面有各系统打开终端的步骤和粘贴快捷键。
粘贴后没有任何反应 大概率是没按回车。命令只是被贴进窗口,还需要按一下 Enter 才会执行。
输入框是灰的,发不出消息 没选工作区。点「选择工作区」添加并选中一个文件夹。
MISSING_CREDENTIAL / 提示密钥缺失 密钥没保存成功。回「设置 → 模型」重新粘贴密钥并保存;粘贴时注意不要带上多余空格或换行。
UNKNOWN_MODEL 你选的模型没在这个提供商里登记。编辑该提供商,把 deepseek-v4-pro / deepseek-v4-flash 补进模型列表。
报 401 / Unauthorized 密钥错误或已删除(控制台里核对一下);也可能是 Base URL 漏了 /v1。两者都检查一遍。
「获取可用模型」返回 401 或列表为空 该功能是便利选项,不是必须的。改成手动填写模型 id 即可正常使用。
密钥和地址都对,但所有请求都被网关拒绝 部分中转网关不接受 OpenAI 的原样请求。按下面「进阶」加两行兼容开关(supportsDeveloperRole: false、maxTokensField: max_tokens)。
只有「会思考的模型」失败 同上:这类模型的系统提示会以 developer 角色发送,网关不认。加 supportsDeveloperRole: false。
浏览器打不开 127.0.0.1:3080 终端窗口被关了,或换了目录重新运行过。重新执行第 1 步的命令;端口被占用时可用 npx @deepseek-ai/dsh web --port 3081。
提示没有权限、命令执行失败 工作区目录选得不对,或系统权限限制。换一个你有完全权限的项目目录再试。
重启电脑后又要重新弄一遍吗 不用。配置会被记住,只要重新执行第 1 步那条命令即可。

进阶(可选):直接改配置文件

网页上能配的字段是基础项。如果你想加兼容开关、限制超时、声明模型能力,可以编辑这个文件(dsh web 默认档案名为 web):

$DSH_HOME/profiles/web/cordis.patch.yml

接入本站的最小配置长这样,可直接复制后替换密钥环境变量名:

- id: llm-pi-ai
  config:
    providers:
      juheai:
        apiKeyEnv: JUHEAI_API_KEY
        api: openai-completions
        baseURL: https://api.juheai.shop/v1
        compat:
          supportsDeveloperRole: false
          maxTokensField: max_tokens
        models:
          - id: deepseek-v4-pro
          - id: deepseek-v4-flash

· 密钥文件在 $DSH_HOME/.credentials.yaml(网页上保存的密钥存这里),也可以用 apiKeyEnv 指向环境变量。
· 改完不需要重启,下一次请求就会读取新配置。
· compat 两行是「网关挑食」时的万金油:先加上,若一切正常也可以去掉。

费用与安全提醒

  • 费用:Agent 任务是一轮轮工具调用串起来的,token 消耗比普通对话高不少。日常建议用 deepseek-v4-flash,复杂任务再切 deepseek-v4-pro。本站缓存读的单价远低于输入价,重复读取同一份大文件时更省。
  • 安全:它会真的读写你指定的文件夹、执行命令。不要把密钥文件、客户数据、生产环境目录设为工作区;敏感操作留意确认弹窗。
  • 版本:dsh 目前处于开发者预览阶段,官方明确说会有破坏兼容性的更新。升级后用不了就按本页步骤重新配置一次。
  • 官方文档:deepseek-harness.github.io 源码:github.com/deepseek-ai/deepseek-harness

还是搞不定?把这三样发给客服,基本一看就知道问题在哪:① 终端里最后 5~10 行文字(可截图)② 你在第 2 步填的 Base URL ③ 报错时网页上的提示原文。