Token Plan 迁移 / 配置热加载:
- configs/llm_models.yaml: 各场景切到 Token Plan(deepseek-v4.1-flash / qwen3.6-flash)
- 新增 configs/runtime_env.py: .env 按 (mtime_ns, size) 热加载并同步 os.environ,
统一 env_get 取值;llm / embedding / vectorstore / mcp / pipeline 改用 env_get
- configs/loader.py / scripts/run_scheduler.py 等配套调整
- 新增 tests/test_hot_reload.py
日报 AI 摘要为空修复(2026-09-25):
- 根因: 推理模型的 reasoning token 与正文共用 max_tokens, 预算 1500 被"思考"
占满 -> text_tokens=0 / finish_reason=length, 摘要静默为空且不重试
- daily_report 场景新增 max_tokens(默认 4000, YAML 保存即热生效);
LLMConfig 支持可选 max_tokens; 分块预算 800 -> 2000
- _llm_call 拆出 _call_once, 正文为空时自动加倍预算重试(上限 16000),
用尽才降级返回空串; 网络异常重试语义不变
- docs/user-guide.md 新增 FAQ; continuation.md 记录本次排查
- 已重跑 2026-09-25 日报(report_id=357)补回 466 字摘要
测试: 相关用例 56 passed(test_hot_reload 12 passed);
ruff 无新增问题; 3 个 crawler 既有失败与本改动无关
84 lines
1019 B
Plaintext
84 lines
1019 B
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
.venv/
|
|
venv/
|
|
env/
|
|
build/
|
|
dist/
|
|
*.egg-info/
|
|
*.egg
|
|
.eggs/
|
|
|
|
# uv
|
|
# uv.lock 应保留以锁定生产环境依赖版本(本项目为应用而非库)
|
|
|
|
# 测试 / 覆盖率
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
.tox/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# 工具本地配置(非项目文件)
|
|
reasonix.toml
|
|
|
|
# 项目敏感配置
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
# 迁移/切换服务商时留下的 .env 备份(含密钥,禁止入库)
|
|
.env*
|
|
!.env.example
|
|
*.bak
|
|
*.bak*
|
|
*.key
|
|
*.pem
|
|
|
|
# 运行产物
|
|
logs/*.log
|
|
logs/*.log.*
|
|
data/raw/
|
|
data/processed/
|
|
data/cache/
|
|
data/pipeline/
|
|
data/dedup/
|
|
data/deduped/
|
|
data/events/
|
|
data/embeddings/
|
|
data/qdrant_storage/
|
|
data/reports_history/
|
|
data/reports/
|
|
data/
|
|
data/reports/
|
|
*.sqlite
|
|
*.sqlite3
|
|
*.db
|
|
|
|
# 日志目录(非 logs/ 下的)
|
|
configs/logs/
|
|
|
|
# Docker 卷
|
|
qdrant_storage/
|
|
|
|
# 调试输出
|
|
debug/
|
|
tmp/
|
|
|
|
# M10: 历史日报源文件副本(可从 doorcome 重新拉取)
|
|
data/reports_history/
|