FFreecode 文档
控制台

07 · Anthropic SDK 接入 Freecode#

使用 Anthropic Messages 协议,Base URL 填 https://api.freecode.cc。SDK 会自行追加 /v1/messages。

1. 设置环境变量#

macOS / Linux / WSL:

export FREECODE_API_KEY="sk-your-freecode-api-key"
export FREECODE_CLAUDE_MODEL="claude-sonnet-4-6"

PowerShell:

$env:FREECODE_API_KEY = "sk-your-freecode-api-key"
$env:FREECODE_CLAUDE_MODEL = "claude-sonnet-4-6"

为密钥选择支持目标 Claude 模型及 SDK 调用的分组。如果某个分组限制客户端类型,应按该分组的要求选择接入工具。

2. Python#

安装:

python -m pip install --upgrade anthropic

保存为 freecode_anthropic.py:

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["FREECODE_API_KEY"],
    base_url="https://api.freecode.cc",
    timeout=120.0,
)

message = client.messages.create(
    model=os.environ.get("FREECODE_CLAUDE_MODEL", "claude-sonnet-4-6"),
    max_tokens=1024,
    messages=[{"role": "user", "content": "请用一句话打个招呼"}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)

运行:

python freecode_anthropic.py

流式输出,将创建请求和打印的部分替换为:

with client.messages.stream(
    model=os.environ.get("FREECODE_CLAUDE_MODEL", "claude-sonnet-4-6"),
    max_tokens=1024,
    messages=[{"role": "user", "content": "请写一首四行小诗"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
print()

3. JavaScript#

安装:

npm install @anthropic-ai/sdk

保存为 freecode_anthropic.mjs:

import Anthropic from "@anthropic-ai/sdk";

if (!process.env.FREECODE_API_KEY) {
  throw new Error("请先设置 FREECODE_API_KEY");
}

const client = new Anthropic({
  apiKey: process.env.FREECODE_API_KEY,
  baseURL: "https://api.freecode.cc",
  timeout: 120000,
});

const message = await client.messages.create({
  model: process.env.FREECODE_CLAUDE_MODEL ?? "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "请用一句话打个招呼" }],
});
for (const block of message.content) {
  if (block.type === "text") console.log(block.text);
}

运行:

node freecode_anthropic.mjs

流式输出,将创建请求和打印的部分替换为:

const stream = client.messages.stream({
  model: process.env.FREECODE_CLAUDE_MODEL ?? "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "请写一首四行小诗" }],
});
for await (const event of stream) {
  if (
    event.type === "content_block_delta" &&
    event.delta.type === "text_delta"
  ) {
    process.stdout.write(event.delta.text);
  }
}
process.stdout.write("\n");

4. 参数与验证#

  • max_tokens 是 Messages 请求的必填参数,示例设置为 1024。
  • SDK 的 api_key / apiKey 默认生成 x-api-key 认证头,Freecode 的 Messages 接口支持这种方式。
  • Python 使用 base_url;JavaScript 使用 baseURL。
  • 回复的 content 可能包含多个类型的块,示例只打印文本块。

收到回复后,在 使用日志 核对模型、分组和费用。也可按 OpenAI SDK 指南 使用兼容接口,但须确认目标模型和分组支持该格式。

问题排查见 常见问题。

参考:原 Anthropic SDK 指南、Anthropic Python SDK、Anthropic JavaScript SDK。

Freecode 接入指南 · 更新于 2026-10-13

搜索文档