Claude Agent SDK 会话嵌入 Python 自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/embed-bounded-claude-code-sessions-into-python-automation-with-the-claude-agent-sdk。
技能介绍
需要解决的问题
当你的自动化脚本或后端服务已经持有凭证、日志和调度逻辑时,直接从 Python 进程里拉起一个有边界的 Claude Code 会话,比手工操作 CLI 更容易集成。典型场景是:CI 任务需要让 Claude Code 在固定仓库范围内完成代码理解、修改或验证,然后把结果作为结构化数据交给 Python 继续处理,而不是依赖人在终端里逐条确认。
技能如何工作
这个技能围绕 Claude Agent SDK for Python 展开。它把 Claude Code CLI 打包进 SDK,默认直接使用内置 CLI,因此不需要额外维护单独的 CLI 安装。调用方通过 Python 传入任务上下文和边界条件,SDK 负责把范围内的仓库工作交给 Claude Code,并返回可编程消费的结构化响应。如果你已经有系统级 CLI 或特定版本,也可以通过 ClaudeAgentOptions(cli_path="/path/to/claude") 指定自定义路径,而不是强制使用捆绑版本。
核心步骤大致是:
- 在现有脚本或服务中初始化 SDK 客户端;
- 明确仓库工作边界,避免任务扩散到无关目录;
- 将任务交给 Claude Code 执行,并接收结构化结果;
- 在 Python 层解析结果,继续走日志、通知或后续构建流程。
适用边界与注意点
它适合已经运行在 Python 3.10+ 环境、具备 Claude Code 兼容凭证的自动化场景,尤其是需要把代码工作嵌入流水线、定时任务或服务逻辑时。但不适合需要完整交互式终端体验的场景,也不等于无约束的仓库代理:调用方仍应自己限定文件范围、权限和任务目标。SDK 默认使用捆绑 CLI,如果环境对 CLI 路径或版本有强约束,需要显式配置 cli_path。
使用场景
- CI 流水线需要在固定仓库范围内运行 Claude Code 生成补丁并把结果交给 Python 继续构建。
- 后台服务已持有凭证,希望直接调用 Claude Code 完成代码理解并解析结构化输出。
- 维护脚本时希望用 Claude Agent SDK 默认捆绑的 Claude Code CLI 处理范围受限的仓库任务。
- 团队对 CLI 版本有要求,需要在 Python 中通过 `ClaudeAgentOptions` 指定自定义 Claude Code 路径。
适合人员
- Python 后端工程师,需要把代码生成或修改步骤嵌入现有服务和自动化流程。
- DevOps 工程师,希望在 CI 任务里调用 Claude Code 并继续执行后续构建步骤。
- 工具链开发者,需要从 Python 程序中获取 Claude Code 的结构化执行结果并接入日志或通知。
- 需要限定仓库边界来运行 Claude Code 的技术负责人,关注任务范围和 CLI 版本可控性。