跳至主要内容

ZeroWorks API 接入文档

通过统一的 OpenAI 兼容接口调用模型。将 SDK 的 Base URL 指向 ZeroWorks,即可使用账户可访问的模型、自定义路由和团队额度。

  • Base URL/api/modelservice/v1
  • 鉴权:API Key,使用 Authorization: Bearer 请求头。
  • 协议:模型目录、Chat Completions 与 SSE 流式响应。

示例从 ZERO_WORKS_API_KEY 环境变量读取密钥。请在自己的服务端设置;不要将 Key 放进网页、公开客户端或代码仓库。

一、Base URL 与请求头

OpenAI SDK 使用下面的完整地址。curl 在此地址后追加 /models 或 /chat/completions,无需再添加 /v1。

OpenAI
请求头值
AuthorizationBearer <YOUR_API_KEY>
Content-Typeapplication/json(POST 请求)

二、可用模型

使用自己的 Key 查询可用模型,取返回 data 数组中的 id。目录以当前账户和 Key 权限为准;团队 Key 返回已绑定路由的别名,请求中的 model 必须匹配该别名。

BASH
: "${ZERO_WORKS_API_KEY:?Set ZERO_WORKS_API_KEY first}"

curl --fail-with-body --silent --show-error \
  --url '/api/modelservice/v1/models' \
  --request GET \
  --header "Authorization: Bearer $ZERO_WORKS_API_KEY"

响应结构示例(示意,非真实调用结果):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "YOUR_MODEL_ID",
      "object": "model"
    }
  ]
}

示例中的 YOUR_MODEL_ID 是待替换值,不代表已经接通某家供应商。团队路由设置也只能选择该组织实际可用的模型。

先查询可用模型,再把返回的完整 ID 填入这里,全部示例会同步更新。

三、OpenAI 兼容格式

同一个 OpenAI 兼容接口可用于 Python、TypeScript 和 HTTP 请求。先安装对应 SDK,再设置环境变量并运行示例。

BASH
: "${ZERO_WORKS_API_KEY:?Set ZERO_WORKS_API_KEY first}"

curl --fail-with-body --silent --show-error \
  --url '/api/modelservice/v1/chat/completions' \
  --request POST \
  --header "Authorization: Bearer $ZERO_WORKS_API_KEY" \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "model": "YOUR_MODEL_ID",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ]
}'

响应结构示例(示意,非真实调用结果):

JSON
{
  "object": "chat.completion",
  "model": "YOUR_MODEL_ID",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello"
      },
      "finish_reason": "stop"
    }
  ]
}
字段要求说明
model必填从模型目录取得的完整 ID;使用自定义路由时填路由别名。
messages必填对话消息数组,例如 role 为 user、content 为问题文本。
stream可选设为 true 时返回 text/event-stream。

其余模型参数由实际渠道决定。不要假定所有模型都支持相同的工具、图像输入或推理参数。

四、流式响应(SSE)

将 stream 设为 true,并让客户端持续读取 SSE。curl 使用 --no-buffer,避免在客户端缓冲分片。

BASH
: "${ZERO_WORKS_API_KEY:?Set ZERO_WORKS_API_KEY first}"

curl --no-buffer --fail-with-body --silent --show-error \
  --url '/api/modelservice/v1/chat/completions' \
  --request POST \
  --header "Authorization: Bearer $ZERO_WORKS_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Accept: text/event-stream" \
  --data-raw '{
  "model": "YOUR_MODEL_ID",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ],
  "stream": true
}'

正常的 OpenAI 聊天流通常按 data: {...} 输出分片,结束时发送 data: [DONE]。先检查 HTTP 状态;连接建立后仍可能出现错误事件或中断,不能只凭 200 判定整次调用成功。

五、自定义路由与团队 Key

个人 Key 使用个人账户。团队调用使用组织内创建的团队 Key,模型字段可以填写已经保存并启用的路由别名。

团队 Key 会在服务端校验成员状态、路由模型及月预算。请先初始化团队模型账户、配置组织与成员额度,再创建 Key。预算用于请求准入;进行中的调用仍可能产生最终用量。

六、协议兼容范围

当前统一网关公开以下协议。某个上游模型具备一种能力,并不表示网关已经开放对应的原生端点。

协议端点当前支持情况
模型目录GET /models已开放
OpenAI Chat Completions / SSEPOST /chat/completions已开放
OpenAI Responses/responses尚未开放
Anthropic Messages/messages尚未开放
Gemini 原生 API/v1beta/models/…尚未开放
图像生成 / 编辑/images/…尚未开放

七、在 Agent 工具中接入

支持自定义 OpenAI Chat Completions 服务的工具可以使用本页的 Base URL、Key 和模型 ID。DeepSeek Harness 的配置步骤见左侧指南。

Codex 的 Responses、Claude Code 的 Messages,以及 Gemini CLI 的原生协议需要额外端点,当前不可直接接入。不要仅替换地址后就认定这些客户端兼容。

DeepSeek Harness

八、常见错误

先确认请求到达的是模型 API 地址,再检查 Key、模型和账户额度。网页登录会话与 API Key 是两种不同凭据。

状态 / 错误码处理方式
401确认 Bearer Key 完整且未被删除或停用;重新从控制台创建和替换 Key。不要用网页登录 Cookie 代替 Key。
403检查 Key 的模型范围、路由状态、团队成员状态和组织权限。
429先检查错误码。预算不足需调整额度;Key 忙或并发限制才适合降低并发、有界退避。若响应提供重试提示,应优先遵守。
413 / REQUEST_TOO_LARGE请求体上限为 1 MiB。缩小对话或输入内容后再请求。
404 / 405核对本页协议表。Responses、Messages、Gemini 原生和图像端点尚未发布。
5xx检查控制台服务状态或联系管理员。保留请求标识、时间和错误码,提交问题时移除 Key 与对话敏感内容。

网关本地拒绝返回 success、code、message、data 和 requestId;个人上游错误保留其响应结构,团队上游拒绝使用 TEAM_MODELSERVICE_UPSTREAM_REFUSED。错误格式不能全部按 OpenAI error 对象解析。

查看钱包

从第一个请求开始

登录控制台,创建 API Key,查询模型后发起调用。