{ "meta": { "version": "1.0", "last_full_scan": "2026-08-10T08:00:45.922036", "auto_discovery_enabled": true, "description": "MoFin 系统常规体检清单。新增组件会自动加入,修改/修复后手动或自动调整。" }, "categories": [ { "id": "infrastructure", "name": "基础设施层", "order": 1, "items": [ { "id": "infra-xmpp-zhiwei", "description": "知微 XMPP Bot 运行中", "check": "systemctl:xmpp-zhiwei.service", "expected": "active", "severity": "critical" }, { "id": "infra-xmpp-xiaoguo", "description": "小果 XMPP Bot 运行中", "check": "systemctl:xmpp-xiaoguo.service", "expected": "active", "severity": "critical" }, { "id": "infra-gateway-zhiwei", "description": "知微 Gateway :8643 监听中", "check": "port:8643", "expected": "listening", "severity": "critical" }, { "id": "infra-gateway-xiaoguo", "description": "小果 Gateway :8645 监听中", "check": "port:8645", "expected": "listening", "severity": "critical" }, { "id": "infra-gateway-default", "description": "默认 Gateway :8642 监听中", "check": "port:8642", "expected": "listening", "severity": "high" }, { "id": "infra-dashboard", "description": "Dashboard :8899 运行中", "check": "systemctl:mofin-dashboard.service", "expected": "active", "severity": "high" }, { "id": "infra-xiaoguo-tunnel", "description": "小果 LLM SSH隧道 运行中", "check": "proc:autossh.*18003", "expected": "running", "severity": "critical" }, { "id": "infra-xiaoguo-api", "description": "小果 LLM API 可访问", "check": "http:http://node122:18003/v1/models", "expected": "200", "severity": "high" }, { "id": "infra-ejabberd", "description": "ejabberd XMPP :5222 监听中", "check": "port:5222", "expected": "listening", "severity": "critical" }, { "id": "infra-disk-space", "description": "磁盘空间充足(>10%可用)", "check": "disk:/", "expected": ">10%", "severity": "high" } ] }, { "id": "sense", "name": "SENSE 感受层(数据采集)", "order": 2, "items": [ { "id": "sense-price-monitor", "description": "价格监控 cron 已调度", "check": "cron:3a9fb3300a6a", "expected": "enabled+ok", "severity": "critical" }, { "id": "sense-xiaoguo-scanner", "description": "小果扫描 cron 已调度", "check": "cron:0851c7838ca3", "expected": "enabled+ok", "severity": "high" }, { "id": "sense-xiaoguo-scanner-data", "description": "小果扫描 今日有数据产出", "check": "db:xiaoguo_scan_tracker:last_scanned_at::today:1", "expected": ">0", "severity": "high" }, { "id": "sense-macro-morning", "description": "宏观采集-早盘 cron 已调度", "check": "cron:da16db7b2ce7", "expected": "enabled+ok", "severity": "high" }, { "id": "sense-macro-noon", "description": "宏观采集-午间 cron 已调度", "check": "cron:f22c2cf8c86b", "expected": "enabled+ok", "severity": "medium" }, { "id": "sense-hk-rate", "description": "港股汇率缓存 今日更新", "check": "filefresh:/home/hmo/.hermes/profiles/position-analyst/home/.cache/hk_exchange_rate.json:24h", "expected": "fresh", "severity": "medium" }, { "id": "sense-trend-detector", "description": "板块异动检测 今日有信号", "check": "db:sector_signals:detected_at::today:1", "expected": ">0", "severity": "medium" }, { "id": "sense-mtf-cache", "description": "多周期缓存 cron 已调度", "check": "cron:45cf771dc4f2", "expected": "enabled+ok", "severity": "medium" } ] }, { "id": "respond", "name": "RESPOND 响应层(决策推送)", "order": 3, "items": [ { "id": "resp-stale-push", "description": "自选提醒 cron 已调度", "check": "cron:e13323928f3a", "expected": "enabled+ok", "severity": "high" }, { "id": "resp-branch-evaluator", "description": "分支评估 cron 已调度", "check": "cron:b809fcabfa5b", "expected": "enabled+ok", "severity": "high" }, { "id": "resp-opening-brief", "description": "开盘简报 cron 已调度(9:35)", "check": "cron:5c354ad84085", "expected": "enabled+ok", "severity": "high" }, { "id": "resp-closing-brief", "description": "收盘简报 cron 已调度(16:10)", "check": "cron:85517c739d0b", "expected": "enabled+ok", "severity": "high" }, { "id": "resp-price-monitor-out", "description": "价格监控 今天有事件产出", "check": "db:price_events:date::today:1", "expected": ">0", "severity": "medium" }, { "id": "resp-signal-unprocessed", "description": "信号管道 未处理信号堆积", "check": "db:signal_news::unprocessed:30", "expected": "<30", "severity": "high" } ] }, { "id": "adapt", "name": "ADAPT 适应层(策略调整)", "order": 4, "items": [ { "id": "adapt-per-stock-reassess", "description": "策略重评 cron 已调度", "check": "cron:00b8681e9cec", "expected": "enabled+ok", "severity": "high" }, { "id": "adapt-strategy-tree", "description": "策略树活跃分支数正常", "check": "db:strategy:branches:count", "expected": ">0", "severity": "medium" }, { "id": "adapt-strategy-staleness", "description": "策略时效性检查 cron 已调度", "check": "cron:dbe2ccaffc06", "expected": "enabled+ok", "severity": "medium" } ] }, { "id": "improve", "name": "IMPROVE 进化层(自我成长)", "order": 5, "items": [ { "id": "improve-knowledge-extract", "description": "知识萃取 cron 已调度(16:30)", "check": "cron:e27e2e92ed80", "expected": "enabled+ok", "severity": "medium" }, { "id": "improve-hardcode-scanner", "description": "硬编码扫描 cron 已调度", "check": "cron:6d7ad7d20a39", "expected": "enabled+ok", "severity": "medium" }, { "id": "improve-system-audit", "description": "系统审计 cron 已调度", "check": "cron:c6a2c814a1c4", "expected": "enabled+ok", "severity": "medium" }, { "id": "improve-prune-branches", "description": "分支剪枝 cron 已调度", "check": "cron:a3697c108c7b", "expected": "enabled+ok", "severity": "low" }, { "id": "improve-meta-growth", "description": "元自成长 cron 已调度", "check": "cron:81696a7c0a9b", "expected": "enabled+ok", "severity": "medium" }, { "id": "improve-strategy-eval-daily", "description": "日策略评估 cron 已调度", "check": "cron:9d1236d8a07f", "expected": "enabled+ok", "severity": "medium" } ] }, { "id": "data", "name": "数据库健康度", "order": 6, "items": [ { "id": "data-holdings", "description": "DB holdings 表有持仓记录", "check": "db:holdings:code::active:1", "expected": ">0", "severity": "critical" }, { "id": "data-strategies", "description": "DB holding_strategies 表有活跃策略", "check": "db:holding_strategies:code::active:1", "expected": ">0", "severity": "high" }, { "id": "data-watchlist", "description": "DB watchlist_stocks 表有自选股", "check": "db:watchlist_stocks:code::active:1", "expected": ">0", "severity": "high" }, { "id": "data-mofin-db", "description": "mofin.db 数据库存在", "check": "fileexists:/home/hmo/MoFin/data/mofin.db", "expected": "exists", "severity": "critical" } ] }, { "id": "pipeline", "name": "管道完整性", "order": 7, "items": [ { "id": "pipe-xiaoguo-to-knowledge", "description": "小果→知微 信号桥通畅", "check": "pipeline:xiaoguo_signal_flow", "expected": "recent_signals_consumed", "severity": "high" }, { "id": "pipe-cron-errors", "description": "无异常cron状态(最近24h)", "check": "cron_errors:last24h", "expected": "0", "severity": "critical" }, { "id": "pipe-cron-paused-check", "description": "无不应暂停cron", "check": "cron_paused:check", "expected": "all_expected_running", "severity": "medium" }, { "id": "pipe-delivery-targets", "description": "所有deliver=origin有目标", "check": "delivery:origin_targets", "expected": "all_resolved", "severity": "high" }, { "id": "pipe-cron-audit", "description": "全部cron任务最近24h有运行", "check": "cron_audit:all", "expected": "all_ran_in_24h", "severity": "high" }, { "id": "pipe-registry-audit", "description": "数据管道注册表完整性审计", "check": "pipeline:registry_audit", "expected": "all_flows_intact", "severity": "high" } ] }, { "id": "meta", "name": "元自检(自检自身)", "order": 8, "items": [ { "id": "meta-health-check-ran", "description": "本体检昨天正常完成", "check": "meta:health_check_yesterday", "expected": "completed", "severity": "critical" }, { "id": "meta-checklist-completeness", "description": "检查清单覆盖无遗漏新增组件", "check": "meta:checklist_completeness", "expected": "all_components_covered", "severity": "medium" }, { "id": "meta-intraday-check", "description": "盘中自检 cron 已调度", "check": "cron:intraday_check", "expected": "enabled+ok", "severity": "medium" }, { "id": "meta-self-todo-executor", "description": "TODO执行器 cron 已调度", "check": "cron:self_todo_executor", "expected": "enabled+ok", "severity": "high" } ] } ], "auto_discovery": { "last_scan": null, "patterns": [ { "type": "cron_job", "check": "发现新增cron任务时自动加入checklist" }, { "type": "new_script", "check": "发现新增脚本时检查是否需要加入checklist" }, { "type": "modified_script", "check": "脚本修改时重新评估checklist项是否需要调整" } ] } }