Files
Profeto/docs
WorkBuddy 983363dab7 feat(ingest): 采集任务状态跟踪(ingest_jobs),解决 fire-and-forget 不可观测
- 新表 ingest_jobs(迁移 0019): id UUID/task/params JSONB/
  status(pending|running|success|failed,CheckConstraint)/
  result JSONB(统计摘要)/error/created_at/started_at/finished_at
- POST /ingest/bzzoiro: 启动后台前创建 pending job,响应返回 job_id;
  仍 require_admin。后台 _run_bzzoiro 流转 running→success/failed,
  result 按子任务(events/standings/stats)记录摘要(errors 截断 10 条)
- _update_job 尽力而为: 状态更新失败只记日志,绝不拖垮采集主流程;
  与 IngestFailure 死信独立(行级 vs 任务级,可同时存在)
- 新增 admin 端点(挂 /api/v1/admin 路由,路由级 require_admin):
  GET /admin/ingest/jobs/{job_id} 与 GET /admin/ingest/jobs?limit&status
- 前端采集页: 提交后凭 job_id 3 秒轮询,终态展示结果摘要/失败原因;
  无 job_id 时回退旧的 30 秒盲等 + 系统日志提示
- 测试 11 项: 建 job+job_id 契约、非法 task 422、成功/失败/all 流转、
  update 失败不拖垮采集、部分失败仍 success、admin 端点 200/404/列表、
  结构守护(job 路由在 admin 路由且带 require_admin)
- 禁止项确认: 未动分批 UoW、BzzoiroSource、死信与 Bronze 写入;
  docs(01/03/05/07/README)同步 13 张表与端点说明
2026-09-21 21:19:21 +08:00
..
2026-09-15 01:44:49 +08:00

Profeto 文档索引

文档 内容
01-架构总览 系统架构、数据流、技术选型、与旧项目对比
02-快速开始 安装、启动、首次跑通全流程
03-API 参考 全部 12 个端点、请求/响应示例、curl 全流程
04-多 Agent 预测 5 专家 + 终裁架构、执行语义、输出契约、prompt 版本化、如何新增 agent
05-数据层与数据库 三数据源、清洗契约、6 张表 schema、入库语义、采集建议
06-部署 Docker Compose、本地部署、环境变量、LLM 提供商配置、迁移、备份
07-开发指南 项目结构、测试、常见开发任务(prompt/agent/数据源/联赛)、前端开发

项目简介

Profeto 是一个足球 LLM 预测服务:FastAPI 提供干净的数据层(赛果/xG/积分榜), 5 个领域专家 agent(近期状态/攻防数据/主客因素/阵容完整性/历史交锋)并行分析, 终裁 agent 汇总输出结构化预测,赛后回填实际结果持续评估准确率。

与旧项目 MatchPro(自研 7 套统计模型 + 6 容器)相比:~45 个文件、2 容器、预测完全交给 LLM。

推荐阅读顺序

  1. 新手:01 → 02 → 03(跑通第一个预测)
  2. 调优 prompt:04(理解 agent 契约)→ 03(eval summary 看效果)
  3. 加数据源/联赛:05 → 07
  4. 上线:06