基于 Claude Code 构建无头自动化:从 SDK 到 GitHub Action 实践

基于 Claude Code 构建无头自动化:从 SDK 到 GitHub Action 实践

基于 Claude Code 构建无头自动化:从 SDK 到 GitHub Action 实践 基于 Claude Code 构建无头自动化:从 SDK 到 GitHub Action 实践 Modified August 10, 2025 ◦ 恢复会话状态:在结构化输出或 JSON 模式下调用 cloud p,会返回一个会话 ID,保存并跟踪这些 ID,能构建用户交互功能,实现用户与 Claude 的持续互动。 ◦ 权限提示工具: d permission prompt tool 能把权限管理交给 MCP 服务器,实时询问用户是否允许某个工具,无需预先判断哪些工具可用,这是新增功能,欢迎反馈。 (五)、演示结果查看 ◦ 道具功能的 issue 完成后,通过创建的 PR 链接查看,将分支拉到本地重启程序,设置页底部多了道具区域,游戏中出现 50/50 和跳过按钮,基本功能实现。 ◦ 背景色修改的 PR 中,Claude 加了提交,把颜色从蓝色改成绿色,并修改了所有定义颜色的地方。 (六)、Cloud GitHub Action 总结 目前的 Cloud GitHub Action 能读代码、从 GitHub issue 创建 PR、创建提交(给现有分支或 PR 加提交)、回答问题、审核代码。而且不用管基础设施,在现有的 GitHub 运行器上运行,用 GitHub Action 基本都已配置好,非常方便。 Action 的构建 基于 SDK 分三层: ◦ 首先是 Cloud Code 基础 Action,负责和 Cloud Code 通信并返回响应。 ◦ 然后是 PR Action,在基础 Action 之上,负责 PR 上的各种功能:写评论、生成待办清单、正确展示内容、加 PR 链接等。 基础 Action 和 PR Action 都是开源的,建议大家去看看,寻找新灵感。 (七)、安装 Cloud GitHub Action 最简单的方法是在终端的目标仓库里打开 Cloud Code,输入 /install github action,会有引导流程帮你配置 GitHub Action 并合并,最后会生成一个 GitHub Action 的 YAML 文件的 PR,合并后配置好 API 密钥等,就能像演示中那样 @Cloud 使用了。 小提示:如果是 Bedrock 或 Vertex 用户,步骤略有不同,更手动一点,可查看详细文档,文档会指导如何为 Bedrock 和 Vertex 设置 GitHub Action。 (八)、资源 今天讲的内容相关资源(可展示资源链接),基础 Action 和 Cloud Code Action 的开源仓库在这里。非常欢迎大家反馈,无论对 SDK、GitHub Action 还是 Cloud Code,都可以去我们的公共 Cloud Code GitHub 仓库提 issue,我们会查看并回复。 今天的分享就到这里,谢谢大家参加,祝大家今天过得愉快! 二、总结 模块 核心内容 注意列 Cloud Code SDK 以无头模式(headless mode)程序化访问Cloud Code代理能力的工具;提供全新基础组件,支持构建创新应用;即将推出Python/TypeScript绑定,简化集成。 初始调用无编辑/破坏性权限,需通过参数手动授权。 基础示例 1. 生成代码(如斐波那契数列生成器,需 d allow tools write授权写入权限); 2. 解析日志( ),支持后续解析。 GitHub Action 基于SDK构建的开源工具;支持从GitHub Issues生成PR、修改现有PR(如调整背景色)、代码审核、回答问题;运行于GitHub runners,无需自建基础设施。 功能依赖GitHub Action runners配置;复杂功能可能需要多次交互优化结果。 高级功能 1. 权限管理: d allowed tools预先配置权限(如bash:npm run build); 2. 结构化输出:支持stream JSON(实时流式)和JSON(完整blob); 3. 自定义提示: d system prompt修改交互风格(如“海盗语气”); 4. 会话恢复:通过会话ID恢复上下文,支持多轮交互; 5. 动态权限: d permission prompt tool让MCP服务器实时请求权限。 动态权限功能较新,建议测试后再用于生产环境;会话ID需妥善保存以维持上下文。 安装与拓展 快速安装:终端输入/install github action,按引导生成配置PR; 特殊说明:Bedrock/Vertex用户需参考文档手动配置; 开源资源:基础Action和PR Action源码可作为拓展灵感。 安装后需配置API密钥才能生效;Bedrock/Vertex用户需额外配置环境参数。 ◦ 恢复会话状态:在结构化输出或 JSON 模式下调用 cloud p,会返回一个会话 ID,保存并跟踪这些 ID,能构建用户交互功能,实现用户与 Claude 的持续互动。 ◦ 恢复会话状态:在结构化输出或 JSON 模式下调用 cloud p,会返回一个会话 ID,保存并跟踪这些 ID,能构建用户交互功能,实现用户与 Claude 的持续互动。 ◦ 权限提示工具: d permission prompt tool 能把权限管理交给 MCP 服务器,实时询问用户是否允许某个工具,无需预先判断哪些工具可用,这是新增功能,欢迎反馈。 ◦ 权限提示工具: d permission prompt tool 能把权限管理交给 MCP 服务器,实时询问用户是否允许某个工具,无需预先判断哪些工具可用,这是新增功能,欢迎反馈。 (五)、演示结果查看 ◦ 道具功能的 issue 完成后,通过创建的 PR 链接查看,将分支拉到本地重启程序,设置页底部多了道具区域,游戏中出现 50/50 和跳过按钮,基本功能实现。 ◦ 道具功能的 issue 完成后,通过创建的 PR 链接查看,将分支拉到本地重启程序,设置页底部多了道具区域,游戏中出现 50/50 和跳过按钮,基本功能实现。 ◦ 背景色修改的 PR 中,Claude 加了提交,把颜色从蓝色改成绿色,并修改了所有定义颜色的地方。 ◦ 背景色修改的 PR 中,Claude 加了提交,把颜色从蓝色改成绿色,并修改了所有定义颜色的地方。 (六)、Cloud GitHub Action 总结 目前的 Cloud GitHub Action 能读代码、从 GitHub issue 创建 PR、创建提交(给现有分支或 PR 加提交)、回答问题、审核代码。而且不用管基础设施,在现有的 GitHub 运行器上运行,用 GitHub Action 基本都已配置好,非常方便。 Action 的构建 Action 的构建 基于 SDK 分三层: ◦ 首先是 Cloud Code 基础 Action,负责和 Cloud Code 通信并返回响应。 ◦ 然后是 PR Action,在基础 Action 之上,负责 PR 上的各种功能:写评论、生成待办清单、正确展示内容、加 PR 链接等。 ◦ 首先是 Cloud Code 基础 Action,负责和 Cloud Code 通信并返回响应。 ◦ 然后是 PR Action,在基础 Action 之上,负责 PR 上的各种功能:写评论、生成待办清单、正确展示内容、加 PR 链接等。 基础 Action 和 PR Action 都是开源的,建议大家去看看,寻找新灵感。 (七)、安装 Cloud GitHub Action 最简单的方法是在终端的目标仓库里打开 Cloud Code,输入 /install github action,会有引导流程帮你配置 GitHub Action 并合并,最后会生成一个 GitHub Action 的 YAML 文件的 PR,合并后配置好 API 密钥等,就能像演示中那样 @Cloud 使用了。 小提示:如果是 Bedrock 或 Vertex 用户,步骤略有不同,更手动一点,可查看详细文档,文档会指导如何为 Bedrock 和 Vertex 设置 GitHub Action。 (八)、资源 今天讲的内容相关资源(可展示资源链接),基础 Action 和 Cloud Code Action 的开源仓库在这里。非常欢迎大家反馈,无论对 SDK、GitHub Action 还是 Cloud Code,都可以去我们的公共 Cloud Code GitHub 仓库提 issue,我们会查看并回复。 今天的分享就到这里,谢谢大家参加,祝大家今天过得愉快! 二、总结 模块 核心内容 注意列 Cloud Code SDK 以无头模式(headless mode)程序化访问Cloud Code代理能力的工具;提供全新基础组件,支持构建创新应用;即将推出Python/TypeScript绑定,简化集成。 初始调用无编辑/破坏性权限,需通过参数手动授权。 基础示例 1. 生成代码(如斐波那契数列生成器,需 d allow tools write授权写入权限); 2. 解析日志( ),支持后续解析。 GitHub Action 基于SDK构建的开源工具;支持从GitHub Issues生成PR、修改现有PR(如调整背景色)、代码审核、回答问题;运行于GitHub runners,无需自建基础设施。 功能依赖GitHub Action runners配置;复杂功能可能需要多次交互优化结果。 高级功能 1. 权限管理: d allowed tools预先配置权限(如bash:npm run build); 2. 结构化输出:支持stream JSON(实时流式)和JSON(完整blob); 3. 自定义提示: d system prompt修改交互风格(如“海盗语气”); 4. 会话恢复:通过会话ID恢复上下文,支持多轮交互; 5. 动态权限: d permission prompt tool让MCP服务器实时请求权限。 动态权限功能较新,建议测试后再用于生产环境;会话ID需妥善保存以维持上下文。 安装与拓展 快速安装:终端输入/install github action,按引导生成配置PR; 特殊说明:Bedrock/Vertex用户需参考文档手动配置; 开源资源:基础Action和PR Action源码可作为拓展灵感。 安装后需配置API密钥才能生效;Bedrock/Vertex用户需额外配置环境参数。 模块 模块 核心内容 核心内容 注意列 注意列 Cloud Code SDK Cloud Code SDK 以无头模式(headless mode)程序化访问Cloud Code代理能力的工具;提供全新基础组件,支持构建创新应用;即将推出Python/TypeScript绑定,简化集成。 以无头模式(headless mode)程序化访问Cloud Code代理能力的工具;提供全新基础组件,支持构建创新应用;即将推出Python/TypeScript绑定,简化集成。 初始调用无编辑/破坏性权限,需通过参数手动授权。 初始调用无编辑/破坏性权限,需通过参数手动授权。 基础示例 基础示例 1. 生成代码(如斐波那契数列生成器,需 d allow tools write授权写入权限); 2. 解析日志( ),支持后续解析。 1. 生成代码(如斐波那契数列生成器,需 d allow tools write授权写入权限); 2. 解析日志( ),支持后续解析。 GitHub Action GitHub Action 基于SDK构建的开源工具;支持从GitHub Issues生成PR、修改现有PR(如调整背景色)、代码审核、回答问题;运行于GitHub runners,无需自建基础设施。 基于SDK构建的开源工具;支持从GitHub Issues生成PR、修改现有PR(如调整背景色)、代码审核、回答问题;运行于GitHub runners,无需自建基础设施。 功能依赖GitHub Action runners配置;复杂功能可能需要多次交互优化结果。 功能依赖GitHub Action runners配置;复杂功能可能需要多次交互优化结果。 高级功能 高级功能 1. 权限管理: d allowed tools预先配置权限(如bash:npm run build); 2. 结构化输出:支持stream JSON(实时流式)和JSON(完整blob); 3. 自定义提示: d system prompt修改交互风格(如“海盗语气”); 4. 会话恢复:通过会话ID恢复上下文,支持多轮交互; 5. 动态权限: d permission prompt tool让MCP服务器实时请求权限。 1. 权限管理: d allowed tools预先配置权限(如bash:npm run build); 2. 结构化输出:支持stream JSON(实时流式)和JSON(完整blob); 3. 自定义提示: d system prompt修改交互风格(如“海盗语气”); 4. 会话恢复:通过会话ID恢复上下文,支持多轮交互; 5. 动态权限: d permission prompt tool让MCP服务器实时请求权限。 动态权限功能较新,建议测试后再用于生产环境;会话ID需妥善保存以维持上下文。 动态权限功能较新,建议测试后再用于生产环境;会话ID需妥善保存以维持上下文。 安装与拓展 安装与拓展 快速安装:终端输入/install github action,按引导生成配置PR; 特殊说明:Bedrock/Vertex用户需参考文档手动配置; 开源资源:基础Action和PR Action源码可作为拓展灵感。 快速安装:终端输入/install github action,按引导生成配置PR; 特殊说明:Bedrock/Vertex用户需参考文档手动配置; 开源资源:基础Action和PR Action源码可作为拓展灵感。 安装后需配置API密钥才能生效;Bedrock/Vertex用户需额外配置环境参数。 安装后需配置API密钥才能生效;Bedrock/Vertex用户需额外配置环境参数。 |🔗 原文链接:https://youtu.be/dRsjO 88nBs?si=DZ79l2Ri10WOFPGe |⏰ 发表时间:2025 8 1 |原创:锡德・比达萨里亚(Sid Bidasaria) 本文是 Cloud Code 团队工程师 Sid Bidasaria 关于 Cloud Code SDK 及新发布的 Cloud GitHub Action 的分享内容。分享围绕 SDK 的入门使用、高级功能展开,通过具体示例介绍了 SDK 的基础调用方式,如处理文本、日志解析、格式输出等,还详细讲解了权限配置、结构化输出、会话管理等高级特性。同时,结合现场演示,展示了基于 SDK 构建的 Cloud GitHub Action 在代码审核、功能开发、PR 处理等方面的实际应用,包括为开源测验应用添加新功能、修改代码样式等操作,并说明了该 Action 的构建逻辑与安装方法,旨在帮助听众全面了解并上手使用这两款工具。 Unable to load the board. Please refresh and try again.Copy ErrorRefresh Nothing on the board yet 一、演讲全文 大家下午好!我是 Sedara,来自 Cloud Code 团队的工程师。今天非常高兴能和大家聊聊 Cloud Code SDK,以及我们今天刚刚发布的 Cloud GitHub Action。 本次分享议程 1. 快速入门 Cloud Code SDK,通过示例讲解基础使用方法 2. 现场演示 Cloud GitHub Action(基于 SDK 构建,能为 SDK 使用提供灵感) 3. 深入探讨 SDK 的高级功能 4. 指导大家在自己的代码仓库中设置 Cloud GitHub Action,方便后续使用与拓展 在正式开始前,想先和大家做个简单互动: • 用过 Cloud Code 的朋友请举手?好的,看来不少人都用过。 • 那用过 Cloud Code 的朋友里,知道 cla 是什么的请举手?嗯,少多了。这个反馈很有参考价值。 另外,如果大家的电脑上还没安装 Cloud Code,我这里有安装方法(可展示安装步骤)。建议大家安装一下,因为本次演讲的部分内容跟着操作会更有收获,当然如果不想操作也没关系,单纯听讲解也能了解核心内容。 (一)、什么是 Cloud Code SDK? Cloud Code SDK 是一种以无头模式(headless mode)程序化访问 Cloud Code 代理能力的方式。这是一个全新的基础组件,它的强大之处在于,能让你构建以前不可能实现的应用。 1.用 SDK 能做什么? ◦ 基础操作:可以像使用 Unix 工具一样使用它。遵循 Unix 工具的哲学,只要能运行 bash 或终端的地方,都能接入 Cloud Code。还能把它用在 Unix 管道中,实现输入内容、输出结果、构建复杂链式操作等功能。 ◦ CI 自动化构建:比如让 Claude 审核代码,甚至可以让 Claude 为自己编写新的代码检查工具(linter)—— 对于那些没法用程序定义的规则,交给 Cloud Code 来处理就很合适。 ◦ 进阶应用:可以构建自己的聊天机器人,用 Cloud Code 提供动力;也能构建让 Cloud Code 在新环境或远程环境中写代码的应用。 ◦ 此外,我们很快会推出 Python 和 TypeScript 的 SDK 绑定,这会让大家使用和拓展 SDK 更加方便。 1.用 SDK 能做什么? ◦ 基础操作:可以像使用 Unix 工具一样使用它。遵循 Unix 工具的哲学,只要能运行 bash 或终端的地方,都能接入 Cloud Code。还能把它用在 Unix 管道中,实现输入内容、输出结果、构建复杂链式操作等功能。 ◦ CI 自动化构建:比如让 Claude 审核代码,甚至可以让 Claude 为自己编写新的代码检查工具(linter)—— 对于那些没法用程序定义的规则,交给 Cloud Code 来处理就很合适。 ◦ 进阶应用:可以构建自己的聊天机器人,用 Cloud Code 提供动力;也能构建让 Cloud Code 在新环境或远程环境中写代码的应用。 ◦ 此外,我们很快会推出 Python 和 TypeScript 的 SDK 绑定,这会让大家使用和拓展 SDK 更加方便。 2.基本示例 2.基本示例 调用 Cloud Code SDK 非常简单,只需输入 claude b,后面跟上你想让 Claude 处理的内容就行。比如: ◦ 让 Claude 写一个斐波那契数列生成器,可加上 d allow tools write,主动授权它使用写入工具,这样它就能往你的文件系统写文件。 ◦ 让 Claude 写一个斐波那契数列生成器,可加上 d allow tools write,主动授权它使用写入工具,这样它就能往你的文件系统写文件。 ◦ 把日志传给 Claude 处理:cat app.log | claude b,Claude 能帮你总结日志中的错误,这是个很实用的技巧。 ◦ 把日志传给 Claude 处理:cat app.log | claude b,Claude 能帮你总结日志中的错误,这是个很实用的技巧。 ◦ 解析 ifconfig 的输出:对于不懂的 ifconfig 输出,Claude 能帮忙解析清楚。 ◦ 解析 ifconfig 的输出:对于不懂的 ifconfig 输出,Claude 能帮忙解析清楚。 ◦ 输出格式功能:使用 d output format JSON,Cloud Code 会以 JSON 格式输出响应,你可以解析这个 JSON 来构建更复杂的应用,后面会详细介绍这个 JSON 的更多用途。 ◦ 输出格式功能:使用 d output format JSON,Cloud Code 会以 JSON 格式输出响应,你可以解析这个 JSON 来构建更复杂的应用,后面会详细介绍这个 JSON 的更多用途。 (二)、Cloud GitHub Action 及现场演示 Cloud GitHub Action 基于 SDK 构建,能用来审核代码、创建新功能、分类 bug 等,而且它是开源的,演讲最后会放链接,大家可以去看源码寻找灵感。 演示过程 a. 克隆了一个开源的小测验应用,先运行 npm start 查看效果,这个应用可以选分类、题目数量、难度、题目类型,还有倒计时器。 b. 查看仓库的 issues,其中一个是“应该添加 50/50 排除选项和免费跳过题目的道具”,另一个是“每题计时器”。 c. 在 issue 评论里分别输入 “@cloud 请实现这个功能并回复” 和 “@cloud 请实现这个”,让 Claude 处理这两个任务。 d. 稍等片刻后,Claude 会在 issue 下回复正在处理,并有工作流程运行的链接,日志中能看到来自 SDK 的 JSON 输出,Claude 会按创建的待办清单实现功能。 e. 对于已有的拉取请求“把背景色改成蓝色”,评论“Claude,请改成绿色”,展示 Claude 能给已有的 PR 加提交。 演示过程 a. 克隆了一个开源的小测验应用,先运行 npm start 查看效果,这个应用可以选分类、题目数量、难度、题目类型,还有倒计时器。 b. 查看仓库的 issues,其中一个是“应该添加 50/50 排除选项和免费跳过题目的道具”,另一个是“每题计时器”。 c. 在 issue 评论里分别输入 “@cloud 请实现这个功能并回复” 和 “@cloud 请实现这个”,让 Claude 处理这两个任务。 d. 稍等片刻后,Claude 会在 issue 下回复正在处理,并有工作流程运行的链接,日志中能看到来自 SDK 的 JSON 输出,Claude 会按创建的待办清单实现功能。 e. 对于已有的拉取请求“把背景色改成蓝色”,评论“Claude,请改成绿色”,展示 Claude 能给已有的 PR 加提交。 (三)、SDK 的高级功能 ◦ 权限配置:调用 cloud b 时没有编辑或破坏性操作的权限,可通过 d allowed tools 选项预先配置 Cloud 可能需要的权限,比如 bash 权限(运行 npm run build、npm test 和写入工具等);如果配置了 MCP 服务器,也能以类似方式允许 MCP 工具的列表。 ◦ 权限配置:调用 cloud b 时没有编辑或破坏性操作的权限,可通过 d allowed tools 选项预先配置 Cloud 可能需要的权限,比如 bash 权限(运行 npm run build、npm test 和写入工具等);如果配置了 MCP 服务器,也能以类似方式允许 MCP 工具的列表。 ◦ 结构化输出:有 stream JSON 和 JSON 两种模式。stream JSON 会实时流式输出消息,JSON 则在最后给一个完整的 JSON blob。解析这个 JSON 并基于它构建,是使用 Cloud Code SDK 为用户创建功能的关键。 ◦ 结构化输出:有 stream JSON 和 JSON 两种模式。stream JSON 会实时流式输出消息,JSON 则在最后给一个完整的 JSON blob。解析这个 JSON 并基于它构建,是使用 Cloud Code SDK 为用户创建功能的关键。 ◦ 系统提示配置:比如 d system prompt "像海盗一样说话",Cloud Code 就会按设定的风格回应。 ◦ 系统提示配置:比如 d system prompt "像海盗一样说话",Cloud Code 就会按设定的风格回应。 (四)、SDK 的高级功能 用户交互功能

在 小宇宙note 阅读完整内容