Skip to content

Anthropic Agent SDK 以 Claude Code 为运行时,因此与 Claude Code 共享同一套 OpenRouter 接入方式:设置 ANTHROPIC_BASE_URL=https://openrouter.ai/apiANTHROPIC_AUTH_TOKEN=<OpenRouter key>ANTHROPIC_API_KEY=""(必须显式置空)三个环境变量即可。TypeScript 通过 @anthropic-ai/claude-agent-sdkquery() 函数流式输出 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 工具集相同。