Appearance
API 概览
DuckMans 提供 OpenAI 兼容接口,并为明确支持 Claude/Anthropic 的分组提供 Anthropic Messages 兼容入口。第一次接入时,建议先获取模型列表,再用一个最小请求验证认证、分组、协议和模型是否匹配。
示意图:展示从应用、认证、端点到解析结果的检查顺序;可复制的地址、命令和代码仍以正文为准。
Base URL 与 Endpoint 路径
Base URL 是 SDK 或客户端中填写的接口根地址:
text
https://duckmans.com/v1Endpoint 路径 是某项操作的请求路径。完整请求地址由 Base URL 和对应路径组成:
| 操作 | 方法 | Endpoint 路径 | 完整请求地址 |
|---|---|---|---|
| 获取模型列表 | GET | /models | https://duckmans.com/v1/models |
| Responses | POST | /responses | https://duckmans.com/v1/responses |
| Chat Completions | POST | /chat/completions | https://duckmans.com/v1/chat/completions |
| Anthropic Messages | POST | /v1/messages(相对主站前缀) | https://duckmans.com/v1/messages |
在 SDK 中把 base_url 或 baseURL 设置为 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 使用带 /v1 的 Base URL,Anthropic 客户端使用主站前缀并最终请求 /v1/messages;可复制的地址、命令和代码仍以正文为准。
请求约定
- 使用 HTTPS。
- 请求和响应主体通常为 JSON。
- API Key 通过
Authorization: Bearer ...请求头发送。 - 创建类请求需要发送
Content-Type: application/json。 - 流式请求返回事件流,处理方式见流式输出。
建议的首次调用顺序
- 在 DuckMans 后台创建单独用于开发的 API Key,并确认它的分组。
- 调用
GET /models,从返回结果复制模型 ID。 - 确认你的客户端和 Key 分组支持哪种接口协议。
- 支持 Responses 时测试
POST /responses;否则测试POST /chat/completions。 - Claude/Anthropic 路线应单独确认分组后测试
POST https://duckmans.com/v1/messages。 - 最小请求成功后,再增加流式输出、工具调用或其他参数。
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 排错。
