Skip to content

API 概览

DuckMans 提供 OpenAI 兼容接口,并为明确支持 Claude/Anthropic 的分组提供 Anthropic Messages 兼容入口。第一次接入时,建议先获取模型列表,再用一个最小请求验证认证、分组、协议和模型是否匹配。

应用通过 Bearer 认证访问 DuckMans 兼容端点并解析 JSON 或 SSE 的请求流示意图

示意图:展示从应用、认证、端点到解析结果的检查顺序;可复制的地址、命令和代码仍以正文为准。

Base URL 与 Endpoint 路径

Base URL 是 SDK 或客户端中填写的接口根地址:

text
https://duckmans.com/v1

Endpoint 路径 是某项操作的请求路径。完整请求地址由 Base URL 和对应路径组成:

操作方法Endpoint 路径完整请求地址
获取模型列表GET/modelshttps://duckmans.com/v1/models
ResponsesPOST/responseshttps://duckmans.com/v1/responses
Chat CompletionsPOST/chat/completionshttps://duckmans.com/v1/chat/completions
Anthropic MessagesPOST/v1/messages(相对主站前缀)https://duckmans.com/v1/messages

在 SDK 中把 base_urlbaseURL 设置为 https://duckmans.com/v1 后,只调用 SDK 提供的方法,不要再手动拼接一个 /v1。否则可能得到错误地址 .../v1/v1/...

Anthropic 客户端是例外:它的服务前缀使用 https://duckmans.com,由客户端追加 /v1/messages。不要把 OpenAI SDK 的 Base URL 规则直接套到 Claude Code。

模型占位符

本文档统一用 YOUR_MODEL_ID 表示模型。运行任何含该值的示例前,请把它替换为 DuckMans 后台中当前 Key 和分组实际可用的模型 ID;不要猜测模型名称。

OpenAI Base URL 和 Anthropic Messages 完整地址分支的 Endpoint 地图示意图

示意图:OpenAI 使用带 /v1 的 Base URL,Anthropic 客户端使用主站前缀并最终请求 /v1/messages;可复制的地址、命令和代码仍以正文为准。

请求约定

  • 使用 HTTPS。
  • 请求和响应主体通常为 JSON。
  • API Key 通过 Authorization: Bearer ... 请求头发送。
  • 创建类请求需要发送 Content-Type: application/json
  • 流式请求返回事件流,处理方式见流式输出

建议的首次调用顺序

  1. 在 DuckMans 后台创建单独用于开发的 API Key,并确认它的分组。
  2. 调用 GET /models,从返回结果复制模型 ID。
  3. 确认你的客户端和 Key 分组支持哪种接口协议。
  4. 支持 Responses 时测试 POST /responses;否则测试 POST /chat/completions
  5. Claude/Anthropic 路线应单独确认分组后测试 POST https://duckmans.com/v1/messages
  6. 最小请求成功后,再增加流式输出、工具调用或其他参数。

Responses 并非默认对所有路线可用

Responses API 是否可用,取决于当前客户端、Key 分组和上游渠道。未实测前不要把它当作所有 Key 都支持的固定能力。只支持 Chat Completions 的客户端应使用 /chat/completions

最小连通性检查

使用隐藏输入把 Key 放入当前 shell 的环境变量,避免真实 Key 出现在命令历史中:

bash
old_stty=$(stty -g)
trap 'stty "$old_stty"' EXIT INT TERM
printf "DuckMans API Key: "
stty -echo
IFS= read -r DUCKMANS_API_KEY
stty "$old_stty"
trap - EXIT INT TERM
printf '\n'
export DUCKMANS_API_KEY

curl -sS https://duckmans.com/v1/models \
  -H "Authorization: Bearer $DUCKMANS_API_KEY"

成功时应返回 JSON 模型列表。若失败,请根据 HTTP 状态码查看API 排错

下一步

DuckMans 用户指导手册