Appearance
Anthropic Agent SDK 以 Claude Code 为运行时,因此与 Claude Code 共享同一套 OpenRouter 接入方式:设置 ANTHROPIC_BASE_URL=https://openrouter.ai/api、ANTHROPIC_AUTH_TOKEN=<OpenRouter key>、ANTHROPIC_API_KEY=""(必须显式置空)三个环境变量即可。TypeScript 通过 @anthropic-ai/claude-agent-sdk 的 query() 函数流式输出 agent 消息;Python 通过 claude_agent_sdk 的异步 query() 实现相同效果。同样支持 ANTHROPIC_DEFAULT_SONNET_MODEL 等模型路由变量。
Anthropic Agent SDK 让你用 Python 或 TypeScript 以编程方式构建 AI agent。由于 Agent SDK 以 Claude Code 为运行时,接入 OpenRouter 的方式与 Claude Code 完全相同。
环境变量配置
在运行 agent 前设置以下三个变量:
bash
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
export ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY"
export ANTHROPIC_API_KEY="" # 重要:必须显式置空注意:
ANTHROPIC_API_KEY必须显式设为空字符串"",而不是不设置——未设置时 SDK 可能尝试直连 Anthropic 服务器。
TypeScript 示例
安装 SDK:
bash
npm install @anthropic-ai/claude-agent-sdk创建使用 OpenRouter 的 agent:
typescript
import { query } from "@anthropic-ai/claude-agent-sdk";
// 环境变量需在运行前设置:
// ANTHROPIC_BASE_URL=https://openrouter.ai/api
// ANTHROPIC_AUTH_TOKEN=your_openrouter_api_key
// ANTHROPIC_API_KEY=""
async function main() {
for await (const message of query({
prompt: "Find and fix the bug in auth.py",
options: {
allowedTools: ["Read", "Edit", "Bash"],
},
})) {
if (message.type === "assistant") {
console.log(message.message.content);
}
}
}
main();Python 示例
安装 SDK:
bash
pip install claude-agent-sdk创建使用 OpenRouter 的 agent:
python
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
# 环境变量需在运行前设置:
# ANTHROPIC_BASE_URL=https://openrouter.ai/api
# ANTHROPIC_AUTH_TOKEN=your_openrouter_api_key
# ANTHROPIC_API_KEY=""
async def main():
async for message in query(
prompt="Find and fix the bug in auth.py",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Bash"]
)
):
print(message)
asyncio.run(main())模型路由
Agent SDK 继承 Claude Code 的全部模型路由能力。可通过环境变量指定不同级别任务使用的模型:
bash
export ANTHROPIC_DEFAULT_OPUS_MODEL="anthropic/claude-opus-4.7"
export ANTHROPIC_DEFAULT_SONNET_MODEL="anthropic/claude-sonnet-4.6"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="anthropic/claude-haiku-4.5"详细说明参见 Claude Code 集成指南。
常见问题
Q: Anthropic Agent SDK 和直接调用 Anthropic API 有什么区别?
A: Agent SDK 封装了完整的 agent 循环:多轮工具调用、stop condition 检测、上下文管理等,不需要手动管理"调用模型 → 执行工具 → 再调用模型"的循环逻辑。直接调用 API 适合单次请求;SDK 适合需要多步骤工具执行的 agent 任务。
Q: 接入 OpenRouter 后,Agent SDK 的 Thinking 功能是否正常?
A: 是的。OpenRouter 的 Anthropic 协议层完整支持扩展思考(Extended Thinking)功能,与直连 Anthropic 表现一致。
Q: allowedTools 有哪些可选值?
A: 常用工具包括 Read(读文件)、Write(写文件)、Edit(编辑文件)、Bash(执行命令)、Glob(文件搜索)、Grep(内容搜索)等,与 Claude Code 工具集相同。