在 DeepSeek Harness 中接入 WanAPIs

DeepSeek Harness(命令行里叫 dsh)是 DeepSeek 开源的编码智能体,支持接入任何 OpenAI 兼容的接口。接 WanAPIs 一共三件事:在界面里把 WanAPIs 加成模型提供商;在配置文件里声明思考档位,模型选择器才能选关闭 / low / high / max;再让联网搜索也走 WanAPIs,否则会报 no API key for "DEEPSEEK_API_KEY"。下面每一步都在 Harness 0.2.0-rc.2 的 Web 版上实测过,截图也出自这次实测。

一览

API 地址
https://api.wanapis.com/v1(只填到 /v1)
API 协议
OpenAI Chat Completions(配置文件里写作 openai-completions)
聊天模型
deepseek-v4.1-flash,上下文窗口填 1000000
思考强度
关闭 / low / high / max,要在配置文件里声明
联网搜索模型
deepseek-v4.1-flash-1017(只能用这个,要在配置文件里改)
配置文件
设置 → 右上角「打开配置文件」;Web 版是 ~/.dsh/profiles/web/cordis.patch.yml
费用
deepseek-v4.1-flash 每百万 token 输入 ¥0.50 / 输出 ¥4.00,命中缓存的输入按 8% 计;联网搜索约 ¥0.1 / 次

最后验证:DeepSeek Harness 0.2.0-rc.2(Web 版)· 2026-10-19(添加提供商、思考档位切换、联网搜索均实测)

接入步骤

  1. 1

    创建一把 API Key

    在 WanAPIs 控制台注册,到「API 密钥」页创建一个 sk- 开头的 Key,分组用 default。建议给 Harness 单独建一把:控制台的日志和用量按 Key 分开统计,能一眼看出这个智能体花了多少。

  2. 2

    添加 WanAPIs 为模型提供商

    打开 Harness 的 设置 → 模型 → 添加模型提供商,切到「自定义模型 API」,按下面填。Provider ID 用小写的 wanapis:建好后基本不能改,后面配置文件里用到的密钥名 WANAPIS_API_KEY 也是从它派生的。API 地址只填到 /v1,不要写 /chat/completions,Harness 会自己补上。

    设置 → 模型 → 添加模型提供商 → 自定义模型 API
    Provider ID: wanapis
    显示名称:    WanAPIs
    API 地址:    https://api.wanapis.com/v1
    API 协议:    OpenAI Chat Completions
    API 密钥:    sk-xxx
  3. 3

    获取可用模型:先「取消全选」,再勾 deepseek-v4.1-flash

    点表单里的「获取可用模型」,会弹出 WanAPIs 上你能用的全部模型,而且默认全部勾选,有两百多个。先点「取消全选」,在搜索框输入 deepseek,只勾 deepseek-v4.1-flash,再点「添加所选」。其他想用的模型(比如 gpt-5.6-sol、claude-opus-5)也在这里一起勾上。列表按 Key 的分组过滤,如果 Key 不在 default 分组,可能找不到 deepseek-v4.1-flash,点表单里的「添加模型」手动填模型 ID 也一样能用。

    DeepSeek Harness「选择要添加的模型」对话框:搜索 deepseek,只勾选 deepseek-v4.1-flash
    先「取消全选」,搜索 deepseek,只勾需要的模型
  4. 4

    把上下文窗口设成 1000000,创建提供商

    点模型那一行右边的「›」展开模型选项,「上下文窗口」填 1000000。不填的话 Harness 按 26 万上下文估算,长会话会被它提前截断,提示已达输出上限。「最大输出 token 数」留空即可。最后点「创建提供商」。

    DeepSeek Harness 自定义模型 API 表单:Provider ID wanapis、API 地址 https://api.wanapis.com/v1、协议 OpenAI Chat Completions,模型 deepseek-v4.1-flash 的上下文窗口为 1000000
    填好后的完整表单。API 密钥以圆点显示,上下文窗口填 1000000
  5. 5

    打开思考强度:在配置文件里声明档位

    Harness 不会从接口识别 DeepSeek 的思考档位,界面里也没有这个设置。不声明的话,模型选择器里只有「模型」,没有「推理等级」。打开 设置 → 右上角「打开配置文件」(Web 版的文件在 ~/.dsh/profiles/web/cordis.patch.yml),找到上一步自动写进去的 llm-pi-ai 那一段,在 wanapis 下加一行 reasoning,在 deepseek-v4.1-flash 下加 compat 和 reasoningEfforts,也就是下面标了「新增」的几行。缩进要用空格,改之前可以先复制一份备份。

    ~/.dsh/profiles/web/cordis.patch.yml
    - id: llm-pi-ai
      name: "@deepseek-ai/dsh-llm-pi-ai"
      config:
        providers:
          wanapis:
            reasoning: high               # 新增:新会话默认用哪一档
            displayName: WanAPIs
            apiKeyEnv: WANAPIS_API_KEY
            api: openai-completions
            baseURL: https://api.wanapis.com/v1
            models:
              - id: deepseek-v4.1-flash
                name: deepseek-v4.1-flash
                contextWindow: 1000000
                compat:                   # 新增
                  thinkingFormat: deepseek  # 新增:没有这行,选 Off 也照样思考
                reasoningEfforts:         # 新增
                  off:                    # 新增
                  low: low                # 新增
                  high: high              # 新增
                  max: max                # 新增
  6. 6

    在模型选择器里切换思考档位

    保存后 Harness 会自动重新加载配置,实测不用重启;没变化就重启一次。之后在输入框右下角的模型选择器里,「推理等级」可以选 Off / Low / High / Max。Off 是完全不思考,最快也最省;日常写代码用 High;难题用 Max。DeepSeek 只有 low、high、max 三档,medium 之类的效果和 high 一样,所以给这四个选项就够了。

    DeepSeek Harness 模型选择器的推理等级菜单:Off、Low、High、Max
    声明后,推理等级可以选 Off / Low / High / Max
  7. 7

    让联网搜索也走 WanAPIs

    Harness 的网页搜索插件不走聊天用的模型,而是自己直连 DeepSeek 官方,去找 DEEPSEEK_API_KEY;只配了 WanAPIs 的话,一搜就报 no API key for "DEEPSEEK_API_KEY"。在同一个配置文件末尾加上下面这段即可。apiKeyEnv 填 WANAPIS_API_KEY,复用第 2 步存好的 Key,不用再填一遍;如果你的 Provider ID 不是 wanapis,就照抄 llm-pi-ai 那段里 apiKeyEnv 的值。model 必须是 deepseek-v4.1-flash-1017,换成别的模型名,在我们这边不会真正执行搜索。

    ~/.dsh/profiles/web/cordis.patch.yml(加在文件末尾)
    - id: web-search-deepseek
      config:
        baseURL: https://api.wanapis.com/v1
        apiKeyEnv: WANAPIS_API_KEY
        model: deepseek-v4.1-flash-1017
  8. 8

    在「插件 → 网页搜索」里确认

    打开左侧栏的 插件 → 网页搜索:「接口地址」显示 https://api.wanapis.com/v1(标着「已覆盖」),API Key 旁显示「已配置密钥」,就说明生效了。这个页面只有 API Key、接口地址和单次请求最多搜索次数,没有「模型」这一项,所以模型只能写在配置文件里。

    DeepSeek Harness 插件 → 网页搜索设置页:接口地址为 https://api.wanapis.com/v1,显示已配置密钥
    改完配置文件后,接口地址显示为 WanAPIs,API Key 显示「已配置密钥」
  9. 9

    试一次联网搜索,留意费用

    新开一个会话,问一个需要查资料的问题。回答里带来源链接,就是搜索真的执行了。每次搜索约 ¥0.1(搜索费约 ¥0.091,加上 token)。注意 Agent 回答一个开放问题时可能连续搜好几次:我们实测一个宽泛的问题搜了 7 次,约 ¥0.7。想省钱就在提问里写「只搜一次」。控制台日志里,每次搜索都是一条单独的 deepseek-v4.1-flash-1017 记录。

    DeepSeek Harness 对话:只搜一次网页,回答 DeepSeek-V4.1-Flash-1017 的发布时间并附来源链接
    实测:限定只搜一次,15 秒给出带来源的回答
  10. 10

    成本:长会话靠缓存省很多

    deepseek-v4.1-flash 在默认分组是 输入 ¥0.50 / 输出 ¥4.00(每百万 token)。编码智能体的特点是同一段上下文被反复发送,而命中缓存的输入按 8% 计费,实际付费的主要是新增部分,所以别被「上下文很长」吓到,真正贵的是输出。先让它做一件小事,到控制台「使用日志」页确认请求到了 WanAPIs、模型名对、扣费正常,再放开用。

    默认分组单价(元 / 百万 token)
    deepseek-v4.1-flash    输入 0.50   输出 4.00   命中缓存的输入按 8% 计
    gpt-5.6-sol            输入 5.00   输出 30.00
    claude-opus-5          输入 5.00   输出 25.00

已知限制

  • 实测的是 Harness 0.2.0-rc.2 的 Web 版(dsh web)。桌面版没有实测,菜单文字可能略有不同,配置文件格式相同。
  • 思考档位和联网搜索的模型只能写在配置文件里,界面上没有对应的设置项。
  • 联网搜索只能用 deepseek-v4.1-flash-1017,其他模型名在我们这边不会真正执行搜索。
  • 「网页获取」(打开网页正文)是 Harness 在你电脑上直接访问网页,不经过 WanAPIs,也不收费。
  • Harness 还在预览阶段(0.2),配置格式以后可能变化;遇到对不上的地方,以 Harness 当前版本为准。

常见问题

联网搜索报 no API key for "DEEPSEEK_API_KEY" 怎么办?

这是 Harness 的网页搜索插件在找 DeepSeek 官方的 Key。它和聊天用的模型配置是分开的,默认直连 DeepSeek 官方。按第 7 步在配置文件末尾加 web-search-deepseek 那一段,把 baseURL 指向 https://api.wanapis.com/v1、apiKeyEnv 填 WANAPIS_API_KEY、model 填 deepseek-v4.1-flash-1017 即可。

搜索不报错,但回答说没搜到东西?

多半是 model 没改,还是默认的 deepseek-v4-flash。联网搜索必须用 deepseek-v4.1-flash-1017,其他模型名在我们这边不会真正执行搜索。改完到「插件 → 网页搜索」确认接口地址是 https://api.wanapis.com/v1。

联网搜索怎么收费?为什么一个问题扣了好几毛?

每次搜索约 ¥0.1(搜索费约 ¥0.091 加 token)。Agent 回答一个问题时会自己决定搜几次,宽泛的问题可能连搜好几次,我们实测一次搜了 7 次,约 ¥0.7。在提问里写「只搜一次」最直接。设置页里的「单次请求最多搜索次数」限制的是每次搜索请求里最多搜几次,管不了 Agent 一共发几次搜索。

模型选择器里没有「推理等级」,或者选 Off 还在思考?

没有「推理等级」,是配置文件里少了 reasoningEfforts;选 Off 还在思考,是少了 compat: thinkingFormat: deepseek。没有这一行,Off 只是不发参数,DeepSeek 默认照样思考。按第 5 步把标了「新增」的几行补全,保存后一般立即生效,没变化就重启一次 Harness。

为什么只给 Off / Low / High / Max 四档?

DeepSeek 实际只有 low、high、max 三档思考强度,medium、xhigh 之类的值效果和 high 一样,所以再加关闭就够了。reasoningEfforts 里左边是菜单显示的档位名,右边是发给 DeepSeek 的值;路由下的 reasoning: high 决定新会话默认用哪一档。

长会话提示「已达输出上限,回答被截断」?

上下文窗口没设对。Harness 不知道模型的上下文有多大时按 26 万估算,输入一长,它就把输出上限压得很小,甚至只有 1 个 token。deepseek-v4.1-flash 是 100 万上下文:在 设置 → 模型 里编辑 WanAPIs,展开模型选项把「上下文窗口」填 1000000;或在配置文件的模型条目里写 contextWindow: 1000000。

提示「API 密钥无效」,但 Key 没填错?

先到控制台「API 密钥」页看这把 Key:额度用完、已过期或被禁用时,网关返回的也是同一句「无效的令牌」,Harness 就显示成「API 密钥无效」。确认 Key 正常的话,再检查有没有复制全、末尾有没有多出空格。

「网页获取」报 resolves to a non-public IP address?

这是 Harness 的安全检查:网页获取是在你电脑上直接访问网页,目标域名解析到内网或保留地址时会被拒绝。常见原因是本机代理软件开了 fake-ip 之类的模式,把域名解析成 198.18.x.x 这类地址。和 WanAPIs 无关;关掉这个模式、给该域名放行,或者只让它用网页搜索,都能绕开。

配置文件在哪?改坏了怎么办?

设置窗口右上角的「打开配置文件」会直接打开它;Web 版的路径是 ~/.dsh/profiles/web/cordis.patch.yml,桌面版一般在 profiles 下的 desktop 目录。改之前先复制一份;改坏了把新加的那几行删掉,或者换回备份即可。最常见的错误是缩进:YAML 只能用空格,层级要和上下文对齐。

API 地址要填到 /chat/completions 吗?

不要。Harness 会自己补路径,填到 https://api.wanapis.com/v1 就行。填成完整路径会拼出重复的 /chat/completions 而失败。注意这和 WorkBuddy 的要求正好相反,别照抄。

点「获取可用模型」找不到 deepseek-v4.1-flash?

列表默认全选、而且有两百多个,先点「取消全选」再搜索 deepseek。还是找不到,多半是 Key 不在 default 分组:WanAPIs 的模型清单按 Key 的分组过滤。点「添加模型」手动填模型 ID 也能正常用;想让列表更全,换一把 default 分组的 Key。

Provider ID 可以改吗?

基本不能。请求、已保存的会话和密钥引用都指向这个 ID,配置里的密钥名 WANAPIS_API_KEY 也是从它派生的。建议直接用 wanapis;真要换,得删掉提供商重新添加,并同步改配置文件里的 apiKeyEnv。

API 协议三个选项该选哪个?

选 OpenAI Chat Completions(配置文件里是 openai-completions),兼容性最好,本教程就是用它实测的。WanAPIs 三种都支持:OpenAI Responses 对应 /v1/responses,Anthropic Messages 对应 /v1/messages。协议和地址必须匹配,选错通常表现为 404 或参数不被识别。

API Key 存在哪?会不会跟着配置文件泄露?

不会。在界面里填的 Key 存在 ~/.dsh/.credentials.yaml,配置文件 cordis.patch.yml 里只有 apiKeyEnv: WANAPIS_API_KEY 这个引用名,不含 Key 本身。所以配置文件可以放心分享,但 .credentials.yaml 不要外传,也不要提交到仓库。

配好了但请求失败,怎么查?

先去 WanAPIs 控制台的「使用日志」页看有没有这条请求:有记录,说明请求已经到网关,直接看报错原因;完全没有记录,说明请求还没发出去,问题在客户端。依次检查 API 地址是否多了 /chat/completions、Key 有没有复制全(末尾空格是常见坑)、模型 ID 是否与模型市场里完全一致。

可以在 Harness 里混用多家模型吗?

可以,这正是接中转的好处。在「获取可用模型」里把 deepseek-v4.1-flash、gpt-5.6-sol、claude-opus-5 等一起勾上,就能在一个 Key 下随时切换。注意思考档位那几行是按模型写的,只对你加了 reasoningEfforts 的模型生效。

国内能直连吗?需要梯子吗?

不需要。WanAPIs 的接口国内可以直接访问,Harness 里填上就能用,不用额外配代理。

支持哪些模型?

GPT、Claude、Gemini、DeepSeek、Kimi、Qwen、GLM、Grok 等主流文本模型都能用,完整清单见模型市场。Harness 是编码智能体,建议选支持工具调用的模型。

现在就把 DeepSeek Harness 接到 WanAPIs

一个 API Key 调用 GPT、Claude、Gemini、DeepSeek、Kimi、GLM 等模型,国内直连、按 token 实付。