Doctor 自诊断——让 MateClaw 自己告诉你有没有问题
Doctor 在控制台 System 分组下
进入控制台 → System → Doctor。点一下按钮,MateClaw 自动做一轮全面体检。
检查项
Doctor 会逐项检查以下状态:
| 检查项 | 说明 |
|---|---|
| 数据库连接 | PostgreSQL/MySQL/H2 是否正常连通,连接池状态 |
| Flyway 迁移状态 | 所有 migration 是否都应用了,有没有 pending 或失败的 |
| 模型供应商 | 已配置的每个模型供应商是否能连通(用一个轻量请求测试) |
| 渠道状态 | 每个 IM 渠道的连接状态(WebSocket/长连接是否 alive,Webhook 是否可达) |
| 磁盘空间 | 数据库文件所在磁盘剩余空间(低于 10% 警告) |
| 内存 | JVM 堆内存使用率(高于 80% 警告) |
| Docker 容器健康 | 仅 Docker 部署,postgres 和 searxng 容器是否 healthy |
| 安全配置 | JWT secret 长度(至少 32 字符)、默认 admin 密码是否已改 |
检查结果怎么看
每个检查项显示:
- 🟢 PASS —— 正常
- 🟡 WARN —— 警告(能跑但有风险,比如磁盘剩 15%)
- 🔴 FAIL —— 错误(会影响正常使用)
FAIL 项下面有具体的修复建议——比如「数据库连接失败:Connection refused at localhost:5432 → 检查 PostgreSQL 是否启动」。
什么时候跑 Doctor
- 升级之后:确认所有组件状态正常
- 出问题之前:定期检查,提前发现磁盘空间、内存等问题
- 客户求助时:让对方先跑一次 Doctor,把结果发过来,省掉远程排查