ARCHITECTURE · 架构与流程

系统地图

事件入口统一接入 API,任务引擎调度各 worker 并行执行,数据层支撑业务与事件。悬停节点与连线可查看关系。

系统架构

GitHub Webhook / OAuth、QQ 机器人、WebUI 三类入口接入 apps/api;PostgreSQL(pgvector)与 Redis 构成数据层;五个 worker 承载分析与后台任务;模型网关与 GitHub 发布闭环。

接入层 数据层 模型·发布 任务执行 Webhook / OAuth 触发任务 HTTP / SSE 读写数据 事件 / 租约 领取任务 读取 Issue 租约 / 记忆 仓库数据 事件广播 LLM 调用 Embedding 幂等发布 GitHub App · Webhook · OAuth QQ 机器人 OneBot / Satori / 官方 Web 控制台 React + nginx apps/api Webhook · 认证 · 任务 · SSE · 配置 PostgreSQL pgvector · 任务 / 结果 / 向量 Redis SSE 广播 · 租约 · 队列 GitHub 发布 Review · 标签 模型网关 OpenAI 兼容 analysis-worker Issue / PR 分析 · 专家团队 index-worker 索引 + RAG 向量化 scheduler 租约 · 重试 · 记忆合并 scan-worker 仓库定期扫描 qq-bot QQ 渠道适配

处理链路

事件从入口进入 apps/api:校验并创建分析任务,PostgreSQL 落库、Redis 广播;analysis-worker 领取租约后检索上下文并调用模型,最终幂等发布到 GitHub。

接入 · 事件 编排 · 任务 数据层 执行 · AI · 发布 Webhook / OAuth 触发任务 HTTP / SSE 任务落库 · draft → scheduled SSE 广播 · 排队 领取任务 · 租约 事件通知 LLM 分析 结构化结果 幂等发布 GitHub App · Webhook · OAuth QQ 机器人 OneBot / Satori Web 控制台 配置 · 手动触发 apps/api 验签 · 认证 · 建任务 PostgreSQL 任务表 · 状态机 Redis SSE 广播 · 队列 analysis-worker 上下文检索 · 专家分析 模型网关 文本 / 视觉模型 GitHub 发布 评论 · 标签 · 幂等

PR 审查时序

以一条 PR 为例:Webhook 验签→任务入队→worker 通过租约接管→模型分析→结果拉取与幂等发布,全程经 SSE 反馈进度。

GitHub apps/api Redis / 队列 analysis 模型网关 01 PR opened 02 验签 · 任务入队 03 领取任务 · 租约 04 模型分析 05 结构化结果 06 更新状态 · completed 07 幂等发布 · 评论 / 标签

任务生命周期

任务从 draft 入队到 scheduled、running、completed;异常进入 failed 并退避重试,租约过期自动回到调度队列,重复投递由幂等键保证。

状态机 创建任务 领取 · 租约 分析完成 异常 · 失败 退避重试 租约过期 → 重新调度 draft 新建 · 待调度 scheduled 已入队 · 等待领取 running 执行中 · 持有租约 completed 结果已落库 · 幂等 failed 重试上限 → 告警 去重 幂等键 · 防重复