交易机器人监控器
适用场景
> 自动发现机器人异常,重启并修复数据,早上直接看健康报告。
- 机器人异常时自动执行恢复动作,降低停机时间和漏单风险。
功能说明
> 自动发现机器人异常,重启并修复数据,早上直接看健康报告。
这个 Skill 能帮你做什么
- 持续监控交易机器人进程、数据文件和健康接口,减少夜间“挂了没人看见”。
- 机器人异常时自动执行恢复动作,降低停机时间和漏单风险。
- 每天固定产出晨报,快速看到 uptime、P&L 和夜间处理记录。
需要的工具/依赖
| 类型 | 工具/能力 | 用途 | 说明 |
|---|---|---|---|
| 内置 | process |
检查机器人进程状态 | 内置能力 |
| 内置 | docker |
查看日志与重启容器 | 内置能力 |
| 内置 | telegram |
推送健康状态与告警 | 内置能力 |
| 内置 | cron |
定时执行巡检与晨报 | 内置能力 |
快速体验版(先跑一轮)
先做“只检查不改动”的预演版:
你是我的 AI 自动化助手。
请帮我做“交易机器人监控器”的预演版:
1. 每 5 分钟检查一次所有机器人:进程是否运行、数据文件是否异常、健康接口是否可用。
2. 本轮不要执行重启和修复,只输出检查结果。
3. 对每个机器人给出:运行状态、异常项、建议动作。
4. 最后给出 08:00 晨报样例(包含 uptime、P&L、夜间事件)。
稳定自动版(可长期运行)
1) 配置文件:config/bots.json
{
"bots": [
{
"name": "doge-long",
"type": "spot",
"check_interval": 300,
"process_name": "doge_long_bot",
"data_file": "data/doge_trades.csv",
"health_endpoint": "http://localhost:8080/health"
},
{
"name": "btc-optimized",
"type": "futures",
"check_interval": 60,
"process_name": "btc_v1_bot",
"data_file": "data/btc_trades.csv"
}
]
}
2) 监控脚本:scripts/bot-monitor.js
const { exec } = require('child_process');
const fs = require('fs');
async function checkBot(bot) {
// Check if process running
const isRunning = await processExists(bot.process_name);
// Check data file health
const dataHealth = await checkDataFile(bot.data_file);
// Check API responsiveness
const apiHealth = await checkApi(bot.health_endpoint);
return { isRunning, dataHealth, apiHealth };
}
async function recoverBot(bot) {
if (!bot.isRunning) {
await restartBot(bot);
}
if (bot.dataHealth.corrupted) {
await fixCorruptedData(bot.data_file);
}
await logRecovery(bot);
}
3) 执行提示词(自动版)
你是我的 AI 自动化助手,请执行“交易机器人监控器”。
请使用内置 Skills:process、docker、telegram、cron。
每 5 分钟执行:
1. 检查配置内所有机器人是否在线。
2. 校验数据文件是否损坏。
3. 如有健康接口,检查接口响应。
4. 如果机器人下线:立刻重启。
5. 如果数据损坏:从备份恢复并按日志回放。
6. 记录所有动作到 memory/bot-operations.md。
08:00 生成晨报,包含:
- 最近 24 小时 uptime
- 每个机器人 P&L
- 所有重启/修复动作
- 当前持仓概览
立即告警条件:
- 机器人离线超过 5 分钟
- 发现数据损坏
- API key 错误
- 异常交易频率
4) 调度配置
[
{
"schedule": "*/5 * * * *",
"task": "bot_health_check"
},
{
"schedule": "0 8 * * *",
"task": "bot_morning_report"
}
]
5) 恢复手册(可直接复用)
## Recovery Playbook
### Bot Not Running
1. Check logs: `docker logs ${bot_name}`
2. If OOM error: increase memory limit
3. If API error: check credentials
4. Restart: `docker-compose restart ${bot_name}`
5. Verify: wait 30s, check process again
### Data Corruption
1. Stop bot
2. Backup corrupted file: `mv trades.csv trades.csv.bak`
3. Restore from last good backup
4. Replay trades from exchange API
5. Verify data integrity
6. Restart bot
### API Errors
1. Check rate limits
2. Rotate API keys if needed
3. Reduce polling frequency temporarily
6) 晨报模板
🤖 Bot Health Report - {{date}}
Uptime (24h):
- doge-long: 99.8% (1 restart at 03:15)
- btc-optimized: 100%
- hummingbot-mm: 99.2% (2 restarts)
P&L:
- doge-long: +$12.40 (+2.1%)
- btc-optimized: +$45.80 (+1.8%)
- hummingbot-mm: -$3.20 (-0.4%)
Actions Taken:
- 03:15: Restarted doge-long (memory limit)
- 05:42: Fixed btc data corruption
Current Status: ✅ All bots operational
落地配置建议
- 先把“交易机器人监控器”拆成一次性试跑和长期自动化两种模式。
- 先用低风险任务验证定时触发、日志和失败通知。
- 建议保留运行日志、输入样例和最终输出,方便后续复盘和交付验收。
验收口径
- 能用真实或模拟数据完整跑通一次。
- 输出结果结构清晰,包含下一步动作或明确结论。
- 第二天能看到产物、日志、失败原因和待人工处理项。
注意事项
- 正式接入账号、数据源或自动操作前,先确认权限边界。
- 夜间任务必须设置成本上限、超时和停止条件。
- 高风险动作建议默认只生成建议或草稿,不直接执行。
质量等级
- 难度:高级
- 风险:高
- 自动化程度:建议/半自动
- 适用对象:企业
成功标准
- Bot uptime > 99.5% per week
- Recovery time < 2 minutes
- 停机导致的遗漏需要有告警和补救记录
- Data corruption detected within 1 hour