DeepSeek Harness
DeepSeek Harness(dsh)是 DeepSeek AI 开源的 Agent Harness。把 ApiGo 注册为自定义 llm-pi-ai provider 后,Harness 即可使用 ApiGo Key、模型目录、用量控制与调用日志。
DeepSeek Harness 当前仍处于 Developer Preview,后续可能出现不兼容变更。
前置条件
- 已安装 Node.js
- 已在 工作空间 → API Keys 创建 ApiGo API Key
- 已从 模型目录 确认当前可用的模型 slug
1. 保存 ApiGo Key
创建 ~/.dsh/.credentials.yaml:
APIGO_API_KEY: sk-apg-...
限制 Harness 目录与凭据文件的访问权限:
chmod 700 ~/.dsh
chmod 600 ~/.dsh/.credentials.yaml
不要把 Key 写入 settings.yaml、项目文件、Shell 历史或 Git。这里的 APIGO_API_KEY 是下一步 provider 配置通过 apiKeyEnv 引用的凭据名称。
2. 注册 ApiGo provider
创建或编辑 ~/.dsh/settings.yaml:
ui-onboarding:
welcomeNoticeVersion: 2026-08-13.1
agent-presets:
default: code
llm-pi-ai:
providers:
apigo:
displayName: apigo
apiKeyEnv: APIGO_API_KEY
api: openai-completions
baseURL: https://api.apigo.ai/v1
models:
- id: deepseek-v4-flash
name: deepseek-v4-flash
- id: deepseek-v4-pro
name: deepseek-v4-pro
agent-default-model:
provider: apigo
model: deepseek-v4-flash
这段配置是必要前置条件:ApiGo 在 Harness 中是一条自定义 provider 路由。仅设置 DEEPSEEK_BASE_URL 会继续使用原生 deepseek-official 路由,并不会选中 ApiGo provider。
模型必须使用 ApiGo 当前目录中的精确 slug。切换模型时,同时更新 provider 的 models 列表与 agent-default-model.model。
3. 启动 Harness
启动 Web UI:
npx @deepseek-ai/dsh web
打开 http://127.0.0.1:3080,新建会话,并确认当前 provider 与模型显示为 apigo / deepseek-v4-flash。
也可以用 Headless 模式做一次终端验证:
npx @deepseek-ai/dsh --profile headless \
'Reply with exactly APIGO_HARNESS_OK and nothing else.'
配置成功时会输出:
APIGO_HARNESS_OK
随后到 工作空间 → Call Logs 核对请求。
配置速查
| 配置项 | 值 | 用途 |
|---|---|---|
| 凭据文件 | ~/.dsh/.credentials.yaml |
在通用设置之外保存 ApiGo Key |
| 凭据名称 | APIGO_API_KEY |
与 provider profile 的 apiKeyEnv 对应 |
| Provider 路由 | apigo |
agent-default-model 选择的 Harness provider ID |
| API 协议 | openai-completions |
使用 ApiGo 的 OpenAI 兼容 Chat Completions API |
| Base URL | https://api.apigo.ai/v1 |
ApiGo OpenAI 兼容网关前缀 |
| 默认模型 | deepseek-v4-flash |
ApiGo 模型目录中的精确 slug |
常见问题
| 现象 | 处理方式 |
|---|---|
MISSING_CREDENTIAL |
确认 ~/.dsh/.credentials.yaml 包含 APIGO_API_KEY 且 YAML 格式有效 |
| 401 / 403 | 更换有效的 ApiGo Key,并检查所属工作空间权限与消费上限 |
UNKNOWN_MODEL |
在 llm-pi-ai.providers.apigo.models 中加入模型目录的精确 slug |
请求仍使用 deepseek-official |
把 agent-default-model.provider 设为 apigo,然后重启 Harness |
workspace_tpm_exceeded |
Agent 系统提示与工具循环可能产生多次大请求;提高 Workspace TPM,或等待容量恢复后重试 |
| Call Logs 没有请求 | 确认 Base URL 包含 /v1,并确认当前模型的 provider 显示为 apigo |
