Normalize fullwidth punctuation to ASCII across codebase.

Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 23:42:26 +08:00
parent aaa72c7961
commit b733e551a0
392 changed files with 71522 additions and 71369 deletions
+66 -66
View File
@@ -1,66 +1,66 @@
# 中控 AI 教练说明
中控 **AI 教练**`/ai`与三实例 `/records` 里的 **AI 复盘** 分离模块在 `manual_trading_hub/hub_ai/`数据存同目录 JSON
## 能力
| 功能 | 说明 |
|------|------|
| **交易教练** | 口语化陪聊注入三户监控快照与今日总结摘要后台自动生成不在页面展示 |
| **普通聊天** | 不绑交易数据适合闲聊答疑 |
| **交易监管** | 今日长会话手动/中控开平仓与新开仓自动推送 + 企业微信 + 可回聊见 [交易监管说明.md](./交易监管说明.md) |
| **会话历史** | 右侧列表切换删除消息一键复制 |
页面保留 **交易教练 / 普通聊天 / 交易监管** 与聊天区**今日总结** 已移至 **数据看板**`/dashboard`纯数据展示不再在 AI 页生成
## 存储
`hub_settings.json` 同目录`manual_trading_hub/`):
- `hub_ai_summaries.json` — 历史总结供交易教练上下文可选 API 仍保留
- `hub_ai_chat.json` — 聊天会话`active_session_id`多会话`bot_mode`
升级 / 迁移时请一并备份见 [本地数据迁移到云端.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)实例侧)。
# 中控 AI 教练说明
中控 **AI 教练**(`/ai`)与三实例 `/records` 里的 **AI 复盘** 分离:模块在 `manual_trading_hub/hub_ai/`,数据存同目录 JSON.
## 能力
| 功能 | 说明 |
|------|------|
| **交易教练** | 口语化陪聊;注入三户监控快照与今日总结摘要(后台自动生成,不在页面展示) |
| **普通聊天** | 不绑交易数据,适合闲聊,答疑 |
| **交易监管** | 今日长会话;手动/中控开平仓与新开仓自动推送 + 企业微信 + 可回聊(见 [交易监管说明.md](./交易监管说明.md)) |
| **会话历史** | 右侧列表:切换,删除;消息一键复制 |
页面保留 **交易教练 / 普通聊天 / 交易监管** 与聊天区;**今日总结** 已移至 **数据看板**(`/dashboard`)纯数据展示,不再在 AI 页生成.
## 存储
`hub_settings.json` 同目录(`manual_trading_hub/`):
- `hub_ai_summaries.json` — 历史总结(供交易教练上下文,可选 API 仍保留)
- `hub_ai_chat.json` — 聊天会话(`active_session_id`,多会话,`bot_mode`)
升级 / 迁移时请一并备份(见 [本地数据迁移到云端.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)(实例侧).