# 中控 AI 教练说明 中控 **AI 教练**(`/ai`)与四实例 `/records` 里的 **AI 复盘** 分离:模块在 `manual_trading_hub/hub_ai/`,数据存同目录 JSON。 ## 能力 | 功能 | 说明 | |------|------| | **今日总结** | 聚合四户(含未启用 →「未监控」)当日平仓、持仓浮盈亏、连接状态;语气偏冷、台账式 | | **AI 聊天** | 单会话直到点「新开对话」;口语化、安慰体贴、轻修正;注入监控快照与今日总结摘要 | ## 存储 与 `hub_settings.json` 同目录(`manual_trading_hub/`): - `hub_ai_summaries.json` — 历史总结 - `hub_ai_chat.json` — 聊天会话(`active_session_id` 指向当前会话) 升级 / 迁移时请一并备份(见 [本地数据迁移到云端.md](./本地数据迁移到云端.md))。 ## 模型配置 在 **`manual_trading_hub/.env`** 配置,**变量名与四实例完全相同**;中控 `hub_ai/client.py` 共用仓库根 `ai_client.py`,**默认也是 OpenAI 兼容网关**(`AI_PROVIDER=openai`),与你在四所 `.env` 里配的那套一致即可。 **推荐(与四实例默认一致):** ```env AI_PROVIDER=openai OPENAI_API_BASE=https://op.bz121.com/v1 OPENAI_API_KEY=你的密钥 OPENAI_MODEL=gemma4:e4b # 本机 Ollama 备用(仅当 AI_PROVIDER=ollama 时生效) OLLAMA_API=http://127.0.0.1:11434/api/generate AI_MODEL=huihui_ai/deepseek-r1-abliterated:latest ``` 改走本机无限制模型时,将 `AI_PROVIDER=ollama`,并填好 `OLLAMA_API` / `AI_MODEL`;`OPENAI_*` 可保留不动。 总结与聊天使用**同一模型**(同一套 `OPENAI_MODEL` 或 `AI_MODEL`);总结 temperature≈0.15,聊天≈0.5。 可选:`TRADING_DAY_RESET_HOUR=8`(与实例一致,定义「今日」交易日)。 ## 依赖接口 中控通过 HTTP 拉取各实例: - `GET /api/hub/monitor`(已有) - `GET /api/hub/trades/today?trading_day=YYYY-MM-DD`(`hub_bridge` 注册,需四实例更新代码并重启) 子代理 `GET /status` 提供持仓与余额。 ## 与实例 AI 复盘的分工 | | 中控 AI 教练 | 实例 AI 复盘 | |--|-------------|-------------| | 入口 | `/ai` | 各所 `/records` | | 数据 | 四户聚合 | 单户 `journal_entries` | | 语气 | 总结冷 / 聊天搭档 | 结构化教练报告 | | 代码 | `hub_ai/*` | `ai_review_lib` + 各 `app.py` | 详见仓库根 [AI复盘与模型配置说明.md](../AI复盘与模型配置说明.md)(实例侧)。