Claude 代码 SDK
概述
使用 Claude Code SDK 构建自定义 AI 代理
SDK 选项
Claude Code SDK 提供多种形式以适应不同的使用场景:
- 无头模式 - 用于 CLI 脚本和自动化
- TypeScript SDK - 用于 Node.js 和 Web 应用程序
- Python SDK - 用于 Python 应用程序和数据科学
为什么使用 Claude Code SDK?
Claude Code SDK 基于为 Claude Code 提供支持的代理框架构建,提供构建生产就绪代理所需的所有构建块:
- 优化的 Claude 集成:自动提示缓存和性能优化
- 丰富的工具生态系统:文件操作、代码执行、网络搜索和 MCP 可扩展性
- 高级权限:对代理功能的细粒度控制
- 生产必需品:内置错误处理、会话管理和监控
您可以使用 SDK 构建什么?
以下是您可以创建的一些示例代理类型:
编码代理:
- 诊断和修复生产问题的 SRE 代理
- 审核代码漏洞的安全审查机器人
- 分类事件的值班工程助手
- 执行样式和最佳实践的代码审查代理
业务代理:
- 审查合同和合规性的法律助手
- 分析报告和预测的财务顾问
- 解决技术问题的客户支持代理
- 为营销团队提供的内容创建助手
核心概念
身份验证
对于基本身份验证,请从 Anthropic Console 获取 Anthropic API 密钥并设置 ANTHROPIC_API_KEY
环境变量。
SDK 还支持通过第三方 API 提供商进行身份验证:
- Amazon Bedrock:设置
CLAUDE_CODE_USE_BEDROCK=1
环境变量并配置 AWS 凭据 - Google Vertex AI:设置
CLAUDE_CODE_USE_VERTEX=1
环境变量并配置 Google Cloud 凭据
有关第三方提供商的详细配置说明,请参阅 Amazon Bedrock 和 Google Vertex AI 文档。
完整的 Claude Code 功能支持
SDK 提供对 Claude Code 中所有默认功能的访问,利用相同的基于文件系统的配置:
- 子代理:启动存储为 Markdown 文件的专门代理,位于
./.claude/agents/
- 钩子:执行在
./.claude/settings.json
中配置的自定义命令,响应工具事件 - 斜杠命令:使用定义为 Markdown 文件的自定义命令,位于
./.claude/commands/
- 内存 (CLAUDE.md):通过提供持久指令和上下文的
CLAUDE.md
文件维护项目上下文
这些功能通过从相同的文件系统位置读取,与其 Claude Code 对应功能的工作方式完全相同。
系统提示
系统提示定义您的代理的角色、专业知识和行为。这是您指定要构建的代理类型的地方。
工具权限
通过细粒度权限控制您的代理可以使用哪些工具:
allowedTools
- 明确允许特定工具disallowedTools
- 阻止特定工具permissionMode
- 设置整体权限策略
模型上下文协议 (MCP)
通过 MCP 服务器使用自定义工具和集成扩展您的代理。这允许您连接到数据库、API 和其他外部服务。
相关资源
- CLI 参考 - 完整的 CLI 文档
- GitHub Actions 集成 - 自动化您的 GitHub 工作流程
- MCP 文档 - 使用自定义工具扩展 Claude
- 常见工作流程 - 分步指南
- 故障排除 - 常见问题和解决方案