Files
cc-web/.planning/2026-08-23-gitea-workflow/task_plan.md

2.4 KiB
Raw Blame History

Gitea Workflow 持久化实施计划

目标

在 cc-web 内完整落地 Gitea Webhook → 持久 Codex App 会话 → 官方 gitea-mcp → Gitea 回执的工作流,并提供可恢复的队列、工作区和管理界面。

当前阶段

Phase 5:集成验收与交付

阶段

Phase 1:需求与协议确认

  • 汇总用户已确认的产品边界
  • 核验官方 Gitea Webhook 与 gitea-mcp 协议
  • 完成 PRD、状态机、数据模型和安全设计
  • 状态:已完成

Phase 2:核心工作流实现

  • 实现配置、状态、队列、去重和恢复
  • 实现 Webhook 验签、事件过滤和自动接入
  • 实现 clone/fetch、仓库锁和工作区状态
  • 状态:已完成

Phase 3:Codex App 与回执集成

  • 注入线程级 gitea-mcp 配置
  • 实现 turn 状态监听、回执确认、补触发和 REST 兜底
  • 实现 waiting_user 与连续评论投递
  • 状态:已完成

Phase 4:管理界面与测试

  • 实现工作流管理 API 和前端页面
  • 补充单元、回归、协议 mock 和安全测试
  • 完成重启恢复、并发和自触发回归
  • 状态:已完成

Phase 5:集成验收与交付

  • 整合子任务改动并解决冲突
  • 运行测试、构建和真实协议形状检查
  • 完成文档、审计和最终交付
  • 状态:已完成

已确认决策

决策 结论
触发 Issue/PR 普通评论中的 @ccweb-bot
实例 MVP 单个 Gitea 实例,一个全局 Bot
未登记仓库 首次合法触发自动接入并 clone
工作区 全局根目录下每仓库持久 checkout
Git 认证 HTTPS + Bot Token,临时凭据,不写 remote URL
并发 同仓库串行,不同仓库并行,全局上限默认 2
Agent 固定 codexapp + yolo
会话键 gitea + owner/repo + type + number
交互 Gitea 主交互,cc-web 镜像和运维
回复 状态评论 + MCP 最终回复;缺失时补触发一次,最后 REST 兜底
安全 HMAC Webhook Secret;Bot Token 与 Secret 分离
MCP 权限 用户明确要求开放官方 gitea-mcp 全部写权限
恢复 queued 恢复,waiting_user 保留,running 中断并最多重试一次
运维 全局暂停、仓库停用、取消排队、中止 turn、审计日志

错误记录

错误 尝试 处理
暂无 1 -