需用 GitHub Token 配合定时拉取实现提交提醒:先创建带 repo 权限的 Personal Access Token 并配置为扣子环境变量 GITHUB_TOKEN,再通过 HTTP 插件调用 API 获取最新提交,比对 KV 存储中的上次 SHA 值,变化时推送 Markdown 格式提醒。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在扣子(Coze)机器人中需要实时感知 GitHub 仓库的代码提交行为,并自动向群组或用户推送提醒时,必须绕过 GitHub 的 Webhook 直连限制——因为扣子不支持接收公网回调,只能由扣子主动拉取。这要求你用 GitHub Personal Access Token 获取提交记录,并通过定时工作流触发检查。
创建具备 repo 权限的 GitHub Token
进入 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → 取名“coze-commit-check” → 勾选 【repo】(不可仅选 public_repo,否则无法读私有库及提交详情)→ 生成后立即复制并保存,该 token 仅显示一次。
这一步漏掉 repo 权限会导致后续所有 API 请求返回 403 错误,且无法通过重试修复。
在扣子 Bot 中配置环境变量
打开扣子 Bot 编辑页 → 设置 → 环境变量 → 新增变量:
KEY = GITHUB_TOKEN
VALUE = 上一步复制的完整 token 字符串
环境变量名必须全大写、下划线分隔,且不能包含空格或特殊符号,否则插件调用时会解析为空。
添加 GitHub 提交数据获取插件
在 Bot 工作流中点击「插件」→「添加插件」→ 搜索 “HTTP Request” → 添加官方 HTTP 插件。
配置该插件:
Method = GET
URL = https://api.github.com/repos/{owner}/{repo}/commits?per_page=1&sha={branch}
Headers = { "Authorization": "Bearer {{GITHUB_TOKEN}}" }
其中 {owner}、{repo}、{branch} 需替换为实际值,例如 cozeai/platform、main
注意:URL 中的 {branch} 必须是真实存在的分支名,填错会导致 404;若使用默认分支但不确定名称,先用 /repos/{owner}/{repo} 接口查 “default_branch” 字段。
构建提交比对与提醒逻辑
第一步:调用 GitHub API 获取最新一次提交的 sha 和 commit.author.date;
第二步:从 Bot 的长期存储(如扣子内置 KV)读取上一次记录的 sha;
第三步:若 sha 不同,说明有新提交 → 提取 message、author.login、html_url;
第四步:拼装 Markdown 消息模板:“? 新提交:{{message}}
?? 作者:{{login}}
? 查看:{{html_url}}”;
第五步:发送至指定群组或用户。
KV 存储键名建议固定为 “last_github_commit_sha”,避免每次生成随机 key 导致比对失效。


















