Files
Profeto/.env.example
WorkBuddy 80616cf459 docs: 全套文档与代码对齐(P1-1,数据源收敛 bzzoiro 后的存量漂移清理)
- 数据源:全部文档统一为 bzzoiro 唯一来源,删除 understat/api-football
  作为现行数据源的表述(仅保留历史注记);.env.example/docs/06 移除
  失效的 API_FOOTBALL_KEY
- 多 Agent:injuries 阵容完整性 → standings 联赛排名
  (README/01/04 的专家表、数据流图、no_data 示例、agent_weights、
  prompt 清单全部对齐 form/stats/home_away/standings/h2h)
- 数据库:6 张表 → 12 张表,补 standings/app_settings/schedules 与
  4 张治理表说明(标注 raw_events/data_quality_checks/data_lineage
  为预留未启用,ingest_failures 已启用),predictions 补 agent_weights 列
- API 文档(03):新增鉴权模型三档表;context/standings/leagues 公开端点
  补全;predictions/eval/backtest 标注需管理员;ingest/bzzoiro 补
  task/limit/season 参数契约,删除 understat/injuries 端点小节
- 目录树(README/01/07):与真实 src/、frontend/src 结构一致
  (core 7 文件、data 7 文件、移除不存在的 retry.py)
- 采集命令(02/05):understat 回填 → task=stats/standings;
  补管理员凭据提示;docs/08 文首标注历史/过时
2026-09-21 20:55:48 +08:00

62 lines
2.2 KiB
Bash

# ---- 应用 ----
# 运行环境: development | production
# production 启动时会强制校验:SECRET_KEY 非空且非弱值、鉴权已配置、DB 弱密码阻断。
APP_ENV=development
LOG_LEVEL=INFO
API_PORT=8000
FRONTEND_PORT=3000
# ---- 生产环境启动必填(缺少则拒绝启动) ----
# 1. SECRET_KEY: 加密主密钥与会话签名根密钥。
# 生成: openssl rand -base64 32
# 严禁使用 changeme/secret/123456 等弱值;变更后已加密配置无法解密。
SECRET_KEY=
# 2. 管理鉴权(至少一项):
# - ADMIN_PASSWORD: 后台登录初始密码(启动后自动 scrypt 哈希入库,之后在「系统配置」页修改)
# - ADMIN_API_KEY: 脚本直连接口用的密钥(请求头 X-API-Key)
# 两者都留空 = 不启用鉴权(仅本地开发)。
ADMIN_PASSWORD=
ADMIN_API_KEY=
# ---- 数据库 ----
POSTGRES_USER=football
POSTGRES_PASSWORD=football
POSTGRES_DB=football
POSTGRES_PORT=5433
# 本地开发用 localhost;Docker Compose 内会被 environment 覆盖为 postgres 服务名
DATABASE_URL=postgresql+asyncpg://football:football@localhost:5432/football
# ---- LLM (OpenAI-compatible,必填一个) ----
LLM_PROVIDER=openai
LLM_API_KEY=sk-xxxx
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o
# 多 Agent 分档模型(留空则回落 LLM_MODEL)
LLM_SPECIALIST_MODEL=
LLM_AGGREGATOR_MODEL=
# 单次 LLM 调用超时(秒)
LLM_TIMEOUT=60
# ---- 数据源 ----
BZZOIRO_KEY=
# ---- CORS ----
CORS_ORIGINS=http://localhost:5173,http://localhost:3000
# ---- 加密主密钥 ----
# 敏感配置(数据源/LLM API Key)入库加密与会话签名均由它派生。
# 只存部署机 .env,切勿入库或提交;生成: openssl rand -base64 32
# 变更后已加密配置无法解密,需在后台重新保存。
SECRET_KEY=
# ---- 管理接口鉴权 ----
# 管理后台登录密码(/admin 页面与采集/回测/回填等管理接口)。
# 此处为初始值:启动时自动迁移为 scrypt 哈希入库,迁移后本行可删除。
# 之后请在后台「系统配置」页修改密码。留空 = 不启用密码登录(本地开发默认)。
ADMIN_PASSWORD=
# 管理接口会话有效期(小时),默认 7 天
ADMIN_SESSION_TTL_HOURS=168
# 备选: 机器/脚本直接调接口用的密钥(请求头 X-API-Key),与密码二选一即可
ADMIN_API_KEY=