JuCode 文档
ApiAnthropic

创建消息(Anthropic 兼容)

与 Anthropic Messages API 兼容。把官方 SDK 的 `base_url` 指向 `https://api.jucode.cn/anthropic`,或给 Claude Code 设置 `ANTHROPIC_BASE_URL`,即可直接使用。 注意路径**不在** `/v1` 下——完整路径是 `/anthropic/v1/messages`。 ### 两条执行路径,行为不同 **原生路径**——当路由到的上游本身就是 Anthropic 时,你的原始请求字节会被 直接转发(仅改写 `model`)。所有字段,包括本文档未列出的 `top_k`、`thinking`、`cache_control` 等,都会保留。 **桥接路径**——当路由到的是非 Anthropic 上游(如 OpenAI 兼容厂商)时,网关 会把请求降级翻译成 Chat Completions,再把响应还原成 Anthropic 格式。此时 **只有下列字段会保留**,其余字段被静默丢弃: `model` `max_tokens` `system` `messages` `stream` `temperature` `top_p` `stop_sequences` `tools` `tool_choice` `metadata` 你无法预先知道会走哪条路径——它取决于后台的模型路由配置。如果你依赖某个 Anthropic 专有参数,请确认该模型确实路由到 Anthropic 上游。 ### 与官方 API 的差异 - `max_tokens` 在官方 API 中是必填的,本网关**不强制**。仅当 `> 0` 时才转发。 - 桥接路径下 `message_start` 事件的 `usage` 字段恒为 `0`,真实用量在结尾的 `message_delta` 中给出。 - 桥接路径的 SSE **没有 `[DONE]` 哨兵**,以 `event: message_stop` 结束。 - 上游返回的 `reasoning_content`(DeepSeek 系非标准字段)会被转换成 Anthropic 的 `thinking` 块。 - **认证失败(401)返回的是 OpenAI 格式的错误体**,不是 Anthropic 格式。这是 因为认证中间件在进入本路由的处理器之前就已拒绝。Anthropic SDK 的错误解析 可能无法识别该响应体。

POST
/anthropic/v1/messages

与 Anthropic Messages API 兼容。把官方 SDK 的 base_url 指向 https://api.jucode.cn/anthropic,或给 Claude Code 设置 ANTHROPIC_BASE_URL,即可直接使用。

注意路径不在 /v1 下——完整路径是 /anthropic/v1/messages

两条执行路径,行为不同

原生路径——当路由到的上游本身就是 Anthropic 时,你的原始请求字节会被 直接转发(仅改写 model)。所有字段,包括本文档未列出的 top_kthinkingcache_control 等,都会保留。

桥接路径——当路由到的是非 Anthropic 上游(如 OpenAI 兼容厂商)时,网关 会把请求降级翻译成 Chat Completions,再把响应还原成 Anthropic 格式。此时 只有下列字段会保留,其余字段被静默丢弃:

model max_tokens system messages stream temperature top_p stop_sequences tools tool_choice metadata

你无法预先知道会走哪条路径——它取决于后台的模型路由配置。如果你依赖某个 Anthropic 专有参数,请确认该模型确实路由到 Anthropic 上游。

与官方 API 的差异

  • max_tokens 在官方 API 中是必填的,本网关不强制。仅当 > 0 时才转发。
  • 桥接路径下 message_start 事件的 usage 字段恒为 0,真实用量在结尾的 message_delta 中给出。
  • 桥接路径的 SSE 没有 [DONE] 哨兵,以 event: message_stop 结束。
  • 上游返回的 reasoning_content(DeepSeek 系非标准字段)会被转换成 Anthropic 的 thinking 块。
  • 认证失败(401)返回的是 OpenAI 格式的错误体,不是 Anthropic 格式。这是 因为认证中间件在进入本路由的处理器之前就已拒绝。Anthropic SDK 的错误解析 可能无法识别该响应体。

Authorization

AuthorizationBearer <token>

Authorization: Bearer sk-juc-...

前缀必须是恰好 Bearer (首字母大写 + 单个空格)。bearerBEARER 或用制表符分隔都会被判为无效。

除 API Key 外,也接受 OAuth 设备访问令牌(仅限 oauth_access 类型的 JWT; 普通网页会话令牌会被拒绝)。

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Anthropic Messages 请求。走原生路径时全部字段保留;走桥接路径时只有下列 显式字段保留。

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/anthropic/v1/messages" \  -H "Content-Type: application/json" \  -d '{    "model": "claude-sonnet-5",    "max_tokens": 1024,    "messages": [      {        "role": "user",        "content": "用一句话解释什么是幂等性"      }    ]  }'
{  "id": "msg_01a2b3c4d5e6f7a8b9c0d1e2",  "type": "message",  "role": "assistant",  "model": "string",  "content": [    {}  ],  "stop_reason": "end_turn",  "stop_sequence": "string",  "usage": {    "input_tokens": 0,    "output_tokens": 0,    "cache_read_input_tokens": 0,    "cache_creation_input_tokens": 0  }}