de9927a6278f7e6c531ed9d06d539d4ab00f5cf0
后端(重评管线):
- 新增 llm_client.py 共享客户端: REASSESS_MODEL=deepseek-v4-pro 单点,
gateway预检(fail-fast), 150s超时+1次重试, 永不抛异常
- batch_reassess/per_stock_reassess: curl/urllib -> call_llm,
prompt传入原策略全文+当前参数+最近3条变更, 输出 维持/修改判断+
修改点理由+最终新策略, max_tokens 4096
- mofin_db: 新增 strategy_history 表 + snapshot_strategy_history(),
write_holding_strategy 覆写前自动快照(保留20条/code)
- mofin_db: holding_strategies 补 tag 列迁移 + 写入保留
(tag缺席=保留旧值, 显式传''=允许清除), 修复推荐标签被静默丢弃
- mo_data.read_decisions: SELECT 补 tag
- stale_detector/promote_candidates: 子进程超时 240/60 -> 480s
前端:
- 移除 报告Tab -> mofin_health 全部流程/Cron 表加 最后十次 列
(modal列表->详情), /api/reports 支持 cron+script 多路匹配
(jobs.json name->id 解析 + 文件名/标题子串兜底)
- 移除 决策库Tab
- 盯盘Tab 重构: 全部持仓+自选, sort_group 分组(推荐/持仓/自选),
推荐行琥珀高亮+🔥badge+行内策略, 新增 操作策略 列查看
最近3次完整策略(/api/strategy_history/<code>, 表缺失时降级当前行)
- 提示词Tab: registry.py 数据路径改回 /home/hmo/MoFin/data/prompts
(红线: 数据只在规范数据根), 空态提示初始化命令
MoFin 文档中心
文档驱动开发。每次代码变更必须同步更新对应文档。
阅读指引
🚀 新手入门(按顺序读)
| # | 文档 | 内容 | 时间 |
|---|---|---|---|
| 1 | SYSTEM_ARCHITECTURE.md | 系统总览:架构图、数据流、模块职责 | 10 min |
| 2 | portfolio-data-model.md | 核心数据模型:表结构、币种规则、常见错误 | 10 min |
| 3 | DEVELOPMENT_STANDARDS.md | 开发规范:代码结构、DB 规范、Prompt 规范、开发流程 | 15 min |
| 4 | CHANGELOG.md | 变更日志:所有改动的完整记录 | 5 min |
🔧 日常开发
| 文档 | 何时查阅 |
|---|---|
| DEVELOPMENT_STANDARDS.md | 每次写代码前 |
| TEST_PLAN.md | 每次改完代码后跑测试 |
| CHANGELOG.md | 改完后追加变更记录 |
📊 运维参考
| 文档 | 内容 |
|---|---|
| cron-catalog.md | Cron 任务清单(知微维护) |
| decisions-db-migration.md | JSON→DB 迁移记录(✅ 已完成) |
📦 历史文档(archive/)
旧的设计文档、需求文档、分析报告。仅供参考,不代表当前系统状态。
文档规范
- 每个 .md 文件顶部标注版本和日期
- 过时内容追加
> **已废弃** — 见 XXX 替代 - 不直接删除旧文档,移到
archive/保留 - 交叉引用使用相对路径
[xxx](xxx.md)
当前系统状态
- 数据:纯 SQLite(
/home/hmo/web-dashboard/data/mofin.db) - 币种:港股存 HKD,A 股存 CNY,汇总时转换
- JSON:已全部移除,无残留
- 测试:
scripts/run_all_tests.py— 33/33 通过 - 最新:
CHANGELOG.md查看完整变更
Languages
Python
83.7%
TeX
6.5%
HTML
6.4%
BibTeX Style
2.3%
Shell
0.9%
Other
0.2%