背景
目前 code-bee 需要手动执行 CLI 命令来触发任务调度:
code-bee --repo your-org/your-repo --issue 42
路线图中已规划 "Webhook 触发" 功能,目标是:当 Issue 发生特定事件时(如新建、编辑、打标签等),自动触发 code-bee 解析并调度智能体,无需人工干预。
讨论重点
1. GitHub Webhook 的 Issue 事件有哪些?
GitHub 提供了 issues 事件类型,包含以下 action:
| Action |
触发时机 |
是否适合自动调度? |
opened |
新建 Issue |
✅ 核心场景 |
edited |
编辑 Issue 标题/正文 |
✅ 可能更新了任务描述 |
labeled |
添加标签 |
⚠️ 可能用于触发特定 Agent |
assigned |
分配负责人 |
❓ 视场景而定 |
closed / reopened |
关闭/重开 |
❌ 通常不需要 |
deleted |
删除 Issue |
❌ 不需要 |
另外还有 issue_comment 事件(评论的 created/edited/deleted),这在后续可能用于"在评论中 @agent 补充指令"。
2. 主要讨论点
2.1 应该监听哪些事件?
- 最小可行方案:只监听
issues.opened(新建 Issue 时触发)
- 完整方案:同时监听
issues.opened + issues.edited + issue_comment.created
- 是否需要通过特定标签(如
@agent-name 或 bee:trigger)来控制触发?
2.2 Webhook 接收端如何设计?
-
方案 A:在 code-bee 项目内增加一个 HTTP server(cmd/webhook/ 或类似)
- 优点:自包含,部署简单
- 缺点:需要公网可达的服务器
-
方案 B:使用 GitHub Actions 的 workflow_dispatch 或 repository_dispatch
- 优点:无需自建服务器,在 GitHub 内闭环
- 缺点:延迟较高,复杂逻辑受限
-
方案 C:利用现有平台(如 Cloudflare Workers / AWS Lambda) 做轻量转发
2.3 安全性
- Webhook Secret 签名验证(HMAC-SHA256)
- 如何防止重复触发(同一 Issue 短时间内多次事件)
- 是否需要白名单仓库/组织?
2.4 与现有架构的集成
- 当前 code-bee 是 CLI 工具,Webhook 触发后如何复用现有逻辑?
- 是否需要将核心逻辑抽离为
internal/engine/ 或类似包,供 CLI 和 Webhook 共用?
- 异步执行如何管理(goroutine pool?消息队列?)
相关参考
期望产出
通过讨论,希望确定:
- 第一版 Webhook 触发的最小可行范围(MVP)
- 技术方案选型(自建 Server vs GitHub Actions vs Serverless)
- 实现路线图与分工
欢迎大家畅所欲言!🚀
背景
目前 code-bee 需要手动执行 CLI 命令来触发任务调度:
路线图中已规划 "Webhook 触发" 功能,目标是:当 Issue 发生特定事件时(如新建、编辑、打标签等),自动触发 code-bee 解析并调度智能体,无需人工干预。
讨论重点
1. GitHub Webhook 的 Issue 事件有哪些?
GitHub 提供了
issues事件类型,包含以下 action:openededitedlabeledassignedclosed/reopeneddeleted另外还有
issue_comment事件(评论的 created/edited/deleted),这在后续可能用于"在评论中 @agent 补充指令"。2. 主要讨论点
2.1 应该监听哪些事件?
issues.opened(新建 Issue 时触发)issues.opened+issues.edited+issue_comment.created@agent-name或bee:trigger)来控制触发?2.2 Webhook 接收端如何设计?
方案 A:在 code-bee 项目内增加一个 HTTP server(
cmd/webhook/或类似)方案 B:使用 GitHub Actions 的
workflow_dispatch或repository_dispatch方案 C:利用现有平台(如 Cloudflare Workers / AWS Lambda) 做轻量转发
2.3 安全性
2.4 与现有架构的集成
internal/engine/或类似包,供 CLI 和 Webhook 共用?相关参考
期望产出
通过讨论,希望确定:
欢迎大家畅所欲言!🚀