# 交易监管(AI 教练) 中控 **交易监管** 用于防止过度交易与频繁手动操作:在 **手动/中控开平仓** 与 **新开仓** 时自动推送至 **今日监管长会话**,并可选 **企业微信** 提醒;程序止盈/止损按「正常执行」鼓励,不计入频繁交易统计。 入口:**AI 教练**(`/ai`)→ Tab **交易监管**,或微信链接(在系统设置中配置)。 ## 监管范围 | 类型 | 识别 | 页内推送 | 微信(P0) | 频率统计 | |------|------|----------|------------|----------| | 实例手动平仓 | `result = 手动平仓` | ✓ | ✓ | ✓ | | 中控平仓 | `result = 强制清仓` 等 | ✓ | ✓ | ✓ | | 新开仓 | 监控板持仓 diff(0→有仓 / 新合约) | ✓ | ✓ | ✓ | | 程序止盈 | 止盈 / 保本止盈 / 移动止盈 | ✓ | 可选 | ✗ | | 程序止损 | 止损 | ✓ | 可选 | ✗ | | 外部平仓 | 外部平仓、时间平仓 | ✗ | ✗ | ✗ | 频率规则(间隔过短、30 分钟笔数、日笔数、连亏、平后快开)**只对手动/中控开平** 叠加 `[监管·频率]` 警告。 ## 会话 - 每个交易日 **一条长会话**(`bot_mode: supervisor`,标题 `今日监管 YYYY-MM-DD`)。 - 系统消息(`role: system`)+ AI 短评(`assistant`)+ 用户回复(`user`)同线程。 - 与 **交易教练 / 普通聊天** 分离;监管会话不支持「新开对话」。 ## 系统设置 路径:**系统设置** → **交易监管 · 企业微信**(写入 `hub_settings.json` → `supervisor`)。 | 字段 | 说明 | |------|------| | `enabled` | 总开关 | | `wechat_webhook` | **监管专用** 企业微信机器人(与四所实例 `.env` 的 `WECHAT_WEBHOOK` 独立) | | `wechat_link_base` | 微信消息末尾跳转链接(**可单独修改**,如 `https://域名/ai?mode=supervisor`) | | `wechat_prefix` | 消息前缀,默认 `【交易监管】` | | `wechat_on_program_tp_sl` | 程序止盈/止损是否也发微信 | | `manual_close_daily_warn` | 日手动平警告阈值(默认 2) | | `interval_warn_minutes` | 两笔手动/中控平最短间隔(默认 15 分钟) | | `freq_30m_count` | 30 分钟内笔数阈值(默认 2) | | `reopen_after_close_minutes` | 手动平后再开仓警告间隔(默认 30 分钟) | `.env` 兜底(设置页保存优先): ```env SUPERVISOR_WECHAT_WEBHOOK=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=... SUPERVISOR_WECHAT_LINK=https://你的域名/ai?mode=supervisor SUPERVISOR_POLL_INTERVAL_SEC=30 ``` ## API | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/ai/supervisor/session` | 今日监管会话 | | GET | `/api/ai/supervisor/stream` | SSE 版本推送 | | POST | `/api/ai/supervisor/chat/send` | 用户回聊(JSON `{ "message": "..." }`) | | GET | `/api/ai/supervisor/rules` | 当前阈值 | | POST | `/api/ai/supervisor/refresh` | 立即扫描 | ## 存储 | 文件 | 内容 | |------|------| | `hub_supervisor_state.json` | 已处理事件、持仓快照、频率统计 | | `hub_ai_chat.json` | 监管会话(`bot_mode: supervisor`) | | `hub_settings.json` | `supervisor` 配置节 | **首次启用** 会对当前交易日已有平仓做 **种子同步**(不补发历史推送),避免部署瞬间刷屏。 ## 与实例风控 实例 `account_risk_lib`(冷静期 / 日冻结)为 **硬拦截**;监管为 **软提醒 + 陪聊**,不绕过实例开仓限制。 ## 代码位置 | 模块 | 路径 | |------|------| | 规则与推送 | `hub_supervisor_lib.py` | | 后台扫描 | `hub_supervisor_cache.py` | | 会话 | `hub_ai/supervisor_store.py` | | AI 评语/回聊 | `hub_ai/supervisor.py` | | 提示词 | `hub_ai/prompts.py` → `SUPERVISOR_SYSTEM` | 部署后重启中控:`pm2 restart manual-trading-hub`(或你的 hub 进程名)。