P0 fixes: - CORS: replace wildcard methods/headers with configurable lists - deps.py: remove unsafe global _warned_unset variable P1 fixes: - http_client: read default timeout from Settings - bzzoiro: replace sync urllib with async httpx - bzzoiro: normalize validation failures use warning level only - db pool: read pool config from Settings (default 5+10) - backtest: add asyncio.Semaphore(8) for concurrent execution - predict/context_builder: add backtest parameter for cutoff buffer P2 improvements: - injuries: enforce int conversion for player_id/fixture_id - injuries: use system temp dir for cache - utils.py: extract shared actual_1x2/is_correct_1x2 - validation: downgrade 1x2 mismatch log to debug - docker-compose: use env vars for all credentials - .env.example: add POSTGRES_USER/PASSWORD/PORT, API_PORT
34 lines
862 B
Bash
34 lines
862 B
Bash
# ---- 应用 ----
|
|
APP_ENV=development
|
|
LOG_LEVEL=INFO
|
|
|
|
# ---- 数据库 ----
|
|
POSTGRES_USER=football
|
|
POSTGRES_PASSWORD=football
|
|
POSTGRES_DB=football
|
|
POSTGRES_PORT=5432
|
|
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=
|
|
API_FOOTBALL_KEY=
|
|
|
|
# ---- CORS ----
|
|
CORS_ORIGINS=http://localhost:5173,http://localhost:3000
|
|
|
|
# ---- 管理接口鉴权 ----
|
|
# 采集/回测/回填接口的访问密钥(请求头 X-API-Key)。
|
|
# 留空 = 不启用鉴权(本地开发默认);生产环境必须设置强随机值。
|
|
ADMIN_API_KEY=
|