用 Anthropic 或 OpenAI 的 SDK 在代码里调用 Claude
用 Anthropic SDK 的程序都能通过你的 key 调用 Claude,改掉 Base URL 和 API key 就行。按 OpenAI 格式写的程序也能用,只有一处限制。
RoamAI 团队发布于 2026年10月16日
Python
先 pip install anthropic,然后:
from anthropic import Anthropic
client = Anthropic(
base_url="https://relay.roamai.cloud:18443",
api_key="rak1_你的key",
)
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
messages=[{"role": "user", "content": "用一句话解释什么是幂等。"}],
)
print("".join(b.text for b in message.content if b.type == "text"))地址和 key 也可以不写进代码:设好 ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY 两个环境变量,Anthropic() 不带参数就会读它们。
TypeScript
先 npm install @anthropic-ai/sdk,然后:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://relay.roamai.cloud:18443",
apiKey: "rak1_你的key",
});
const message = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 4096,
messages: [{ role: "user", content: "用一句话解释什么是幂等。" }],
});
for (const block of message.content) {
if (block.type === "text") console.log(block.text);
}流式输出
回答长、或者 max_tokens 设得大的请求,用流式接收,避免请求超时:
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=16000,
messages=[{"role": "user", "content": "写一段 200 字的发布说明。"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)推理强度
在 output_config 里设 effort,可选 low、medium、high、xhigh、max。key 设了推理强度上限的,高过上限的按上限执行,请求照常完成。
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=8192,
output_config={"effort": "low"},
messages=[{"role": "user", "content": "把这些变量名改成 snake_case:..."}],
)联网搜索
在 tools 里带上网页搜索工具,模型需要时会自己去搜:
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
tools=[{"type": "web_search_20260209", "name": "web_search", "max_uses": 3}],
messages=[{"role": "user", "content": "Node.js 最新的 LTS 版本是多少?"}],
)搜索按次计费。网页抓取、代码执行这类其他服务器工具不支持,带了会被忽略。
OpenAI 格式
只支持 OpenAI Chat Completions 格式的程序,把 Base URL 末尾加上 /v1:
from openai import OpenAI
client = OpenAI(
base_url="https://relay.roamai.cloud:18443/v1",
api_key="rak1_你的key",
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)这个格式支持流式输出(stream=True)和 reasoning_effort,不支持工具调用。要用工具,请用 Anthropic 格式。
模型名
model 填 /v1/models 列出来的 id。用 curl 看一眼:
curl https://relay.roamai.cloud:18443/v1/models \
-H "x-api-key: rak1_你的key" \
-H "anthropic-version: 2023-06-01"列表里的 id 可以原样填进 model。
一人一把 key,接上 Claude Code
RoamAI 是给团队用的 Claude API:在控制台签一把 key,填进 Claude Code、Claude Desktop 或 SDK 就能用。不收月费,用量按 token 计。
开始使用