Skip to main content

一、产品简介

DeepSeek Harness(命令行工具 dsh)是 DeepSeek 官方开源的 Agent 运行框架,官方定位为「Model + Harness = Agent」——它本身不提供模型,而是为大模型装上操作文件、终端、网页和外部服务的「手脚」,让模型在你的工作区里自主拆解任务、读文件、改代码、执行命令并交付成果。它采用「一切皆插件」架构,模型只是其中一种可替换的能力,因此可以接入任意 OpenAI 兼容或 Anthropic 兼容的模型服务。 DeepSeek Harness 提供 Web UI(默认 http://127.0.0.1:3080)、命令行与 SDK 三种使用方式。通过对接 GravitexAI,您可以获得:

二、环境要求

  • 已安装 Node.js(建议使用 LTS 版本)
  • 支持 macOS / Linux / Windows,Web UI 通过浏览器访问
DeepSeek Harness 目前处于开发者预览(Developer Preview)阶段,迭代较快,可能存在不兼容变更,升级前请留意官方更新说明。

三、前置条件

  • 在你的机器上已安装 Node.js
  • 已在 GravitexAI 控制台 创建 API Key(格式 sk-xxxxxxxxxx

四、快速开始

第一步:安装并启动 DeepSeek Harness

无需全局安装,直接通过 npx 启动 Web UI:
该命令默认在 http://127.0.0.1:3080 启动 Web UI 并自动打开浏览器;加 --no-open 可只启动服务不打开浏览器。配置和数据默认保存在 $DSH_HOME 目录(macOS/Linux 为 ~/.dsh/,Windows 为 %USERPROFILE%\.dsh\)。

第二步:获取 GravitexAI API Key

  1. 访问 GravitexAI 控制台
  2. 点击「新建令牌」,命名并保存
  3. 复制以 sk- 开头的密钥备用

第三步:添加自定义提供方

在 Web UI 中打开 设置 → 模型,选择「添加自定义提供方」,按下表填写:
一个提供方只能使用一种协议。OpenAI 系列模型(如 gpt-5.5)必须使用 openai-responses 协议,DeepSeek、Gemini、Kimi 等模型使用 openai-completionsClaude 系列模型推荐使用 Anthropic 原生协议(anthropic-messages)接入,Base URL 填 https://api.gravitex.ai(不带 /v1。协议不同需各建一个提供方(如 gravitexgravitex-openaigravitex-anthropic,见第六节「进阶配置」)。
填写完成后的表单如下图所示: DeepSeek Harness 添加自定义提供方

第四步:添加模型

在提供方表单的「模型目录」中点击 获取可用模型,DeepSeek Harness 会调用网关的 GET /models 接口列出可用模型,搜索并勾选想要的模型后点「添加所选」即可: DeepSeek Harness 获取可用模型 如果探测失败或列表为空,手动输入模型 ID 效果完全一样。注意模型必须与所属提供方的协议匹配,例如: 完整模型 ID 以 GravitexAI 模型广场 公布的为准。

第五步:选择模型开始使用

保存提供方后,在会话的模型选择器中即可看到 GravitexAI 下的模型,选中即可开始任务。选择模型会同时将其设为新会话的默认值;模型变更在下一次请求时生效,无需重启服务 DeepSeek Harness 选择模型

五、常用功能速查

六、进阶配置(可选)

通过 Web UI 完成上文配置后,一般无需阅读本节。模型页面只开放基础字段(密钥、地址、协议、模型 ID、上下文窗口等),其余能力——推理等级、图片输入、请求兼容性开关等——需直接编辑 $DSH_HOME/settings.yaml(macOS/Linux 默认 ~/.dsh/settings.yaml,Windows 默认 %USERPROFILE%\.dsh\settings.yaml;浏览器与服务器在同一台机器时,也可点击设置页顶部的「打开配置文件」直接打开)。保存后下一次请求即生效,无需重启服务 关于密钥:本节示例中的 apiKeyEnv: GRAVITEX_API_KEY 表示密钥从环境变量读取,手写配置前请先在终端设置:
以上命令只在当前终端会话生效。Windows 下如需永久生效,可使用 setx GRAVITEX_API_KEY "sk-xxxxxxxxxx"(设置后需重新打开终端);macOS/Linux 可将 export 命令写入 ~/.zshrc~/.bashrc
如果你已在 Web UI 中保存过提供方的密钥,settings.yaml 中会自动写入一条凭据引用。在此基础上补充配置时保留该引用、不要替换成 apiKeyEnv 即可;apiKeyEnv 写法适用于完全手写配置、密钥由环境变量提供的场景。

完整参考配置

以下是一份包含三个提供方的完整 settings.yaml 示例,按需删减后复制使用:

字段说明

后两个 compat 字段也可以写在提供方层级,对该提供方下所有模型统一生效:

七、常见问题

当前提供方没有解析到凭据。按配置方式分别检查:通过 Web UI 配置的,在模型页面重新保存 API Key;手写配置使用 apiKeyEnv 的,确认对应环境变量已设置(如 export GRAVITEX_API_KEY="sk-...")且启动 dsh 的终端能读到它。不要在聊天里粘贴 Key 绕过。
模型 ID 未被当前提供方识别。核对该模型是否已添加到提供方的模型列表中,注意模型 ID 的大小写与拼写需与 GravitexAI 模型广场 完全一致。
确认该模型所在提供方的协议为 openai-responses。GPT 系列模型不能放在 openai-completions 协议的提供方下,需要单独建一个 openai-responses 协议的提供方(如 gravitex-openai)后再添加模型。
401 说明密钥或地址不匹配,确认 Base URL 为 https://api.gravitex.ai/v1 且密钥以 sk- 开头、没有多余空格。列表为空或探测失败时直接手动输入模型 ID 即可,效果完全一样。
网关与 OpenAI 的请求形状存在差异。在 settings.yaml 的提供方层级设置 compat.supportsDeveloperRole: falsecompat.maxTokensField: max_tokens 后重试(写法见第六节)。
留空的 off 不发送任何推理字段,默认思考的模型会继续思考。请为该模型设置 compat.thinkingFormat: deepseek(见第六节示例)。
手动录入的模型默认按纯文本对待。在 settings.yaml 中给该模型加上 input: [text, image];反之如果提供方拒绝了带图片的请求,说明声明了模型实际不具备的图片能力,把 image 移除后开启新会话即可。
不能。Provider ID 是永久的(请求、已保存会话、凭据引用都引用它),如需修改请添加新提供方并删除旧提供方;显示名称、Base URL、协议、凭据和模型列表均可随时编辑。

八、相关资源