For the complete documentation index, see llms.txt. This page is also available as Markdown.

7.3 Agent SDK 集成

如果说 Claude Code CLI 像是一把瑞士军刀,让开发者在终端中快速解决问题,那么 Agent SDK 则是工业级的机器人手臂——它允许将 Claude 的自主编程能力 嵌入到任何应用程序或工作流 中,实现真正的编程自动化。

本节将详细介绍如何使用 Python 和 TypeScript SDK 来构建定制化的 AI 编程工具。

7.3.1 SDK 与 CLI 的区别

在深入 SDK 之前,先厘清它与 CLI 的关系:

维度
Claude Code CLI
Agent SDK

使用方式

终端交互,人在回路

程序化调用,可全自动

适用场景

日常开发辅助

CI/CD、IDE 插件、自动化平台

输出控制

实时输出到终端

返回结构化对象,可编程处理

并发能力

单任务

可并行运行多实例

核心价值:SDK 将 Claude Code 从“个人开发助手”升级为“可扩展的编程基础设施”。

7.3.2 安装与配置

Python SDK

pip install claude-agent-sdk

注意:早期版本使用 claude-code-sdk 包名,该包已弃用。请使用 claude-agent-sdk,它提供与 Claude Code 相同的工具、Agent 循环和上下文管理能力。

SDK 会自动从环境变量读取 API Key:

export ANTHROPIC_API_KEY="<ANTHROPIC_API_KEY>"

不要把真实 API Key 写入可复用脚本、仓库文件或会被长期保留的命令历史。

TypeScript/Node.js SDK

7.3.3 核心 API 详解

Python 示例:自动化代码重构

TypeScript 示例:智能测试生成

7.3.4 权限控制:allowed_tools 详解

SDK 的安全模型基于 权限模式 + 允许/拒绝规则allowed_tools / allowedTools 是自动批准列表,不是工具可见性白名单;未列出的工具仍可能继续落到 permission_mode / permissionModecan_use_tool 回调。若要阻止工具使用,应配合 disallowed_tools / disallowedToolsdontAsk 模式或自定义审批回调。

工具名
功能
风险等级

Read

读取文件内容

🟢 低

Edit

写入/修改文件(首选;如需整文件覆写用 Write

🟡 中

Glob

列出/匹配目录结构

🟢 低

Bash

执行终端命令

🔴 高

Grep

基于 ripgrep 的正则/关键词搜索

🟢 低

最佳实践:遵循 最小权限原则。如果任务只需要读取和分析代码,就不要授予 Edit/WriteBash 权限。

7.3.5 企业级集成场景

场景一:CI/CD 自动代码审查

在 GitHub Actions 中集成 Claude Code,自动审查每个 PR:

场景二:VS Code 插件后端

将 SDK 集成到 IDE 插件中,提供“一键修复”功能:

场景三:批量代码迁移

将遗留代码库从 Python 2 迁移到 Python 3:

7.3.6 错误处理与重试

健壮的 SDK 集成需要处理各种边缘情况:


掌握了 SDK,你已经能够构建自己的编程自动化平台。但大多数开发者的日常工作并不在命令行或脚本中,而是在 IDE 里。

接下来,将展示 Claude 如何在最熟悉的编辑器中大显身手。

➡️ IDE 集成与工作流

最后更新于