412 lines
12 KiB
JSON
412 lines
12 KiB
JSON
{
|
|
"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项是否需要调整"
|
|
}
|
|
]
|
|
}
|
|
} |