b733e551a0
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>
3.9 KiB
3.9 KiB
中控 AI 与部署密钥配置
本文档说明:长期部署密钥(一次生成,不轮换),SSO 临时链接(保持不动),以及 AI 配置(中控统一维护并同步三所).
1. 三类「密钥」分工
| 类型 | 变量 / 机制 | 谁维护 | 是否自动过期 |
|---|---|---|---|
| 长期通信密钥 | HUB_BRIDGE_TOKEN |
部署脚本首次写入四份 .env |
否,不轮换 |
| 实例 Session 签名 | FLASK_SECRET_KEY |
部署脚本首次写入三实例 | 否 |
| 中控 Session 签名 | HUB_SESSION_SECRET |
部署脚本首次写入中控 | 否 |
| SSO 开门链接 | /hub-sso?token=... |
中控每次点「打开实例」签发 | 默认 2h + 单次 |
| AI 配置 | OPENAI_*,AI_* 等 |
中控系统设置 → AI 配置 | 否 |
SSO 保持不动:仍为随机 nonce,默认 HUB_SSO_TTL_SEC=7200,成功登录一次后链接作废.长期 HUB_BRIDGE_TOKEN 只用于签名,不会每 2 小时变化.
2. 首次部署自动生成
bash deploy/setup_env.sh 在复制 .env.example 后自动执行:
python3 scripts/bootstrap_deploy_secrets.py
| 写入项 | 位置 | 规则 |
|---|---|---|
HUB_BRIDGE_TOKEN |
中控 + 三实例(同值) | 仅空或占位符时写入 |
FLASK_SECRET_KEY |
三实例(同值) | 仅空或占位符时写入 |
HUB_SESSION_SECRET |
中控 | 仅空时写入 |
HUB_USERNAME / HUB_PASSWORD |
中控 | 默认 admin / admin123(仅空时) |
APP_USERNAME / APP_PASSWORD |
三实例 | 默认 admin / admin123(仅空时) |
已有非空生产值不会被覆盖(一次生成,不轮换).
子代理 agent.py 优先读取 HUB_BRIDGE_TOKEN 作为 X-Control-Token 校验;独立配置 CONTROL_TOKEN 已废弃.
3. 中控系统设置 → AI 配置
路径:中控 Web → 系统设置 → AI 配置 Tab.
3.1 可配置项
| 中文名 | 环境变量 |
|---|---|
| AI 提供方 | AI_PROVIDER |
| API 地址 | OPENAI_API_BASE |
| API 密钥 | OPENAI_API_KEY(掩码,留空不修改) |
| 云端模型 | OPENAI_MODEL |
| Ollama 地址 | OLLAMA_API |
| Ollama 模型 | AI_MODEL |
| 请求超时(秒) | AI_TIMEOUT_SECONDS |
3.2 保存行为
- 写入
manual_trading_hub/.env - 强制同步 至
crypto_monitor_okx/binance/gate/.env相同键 - 自动
pm2 restart中控 + 三实例(--update-env)
3.3 API(需已登录中控)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/settings/ai-env |
读取字段与三所同步状态 |
| POST | /api/settings/ai-env |
body: { "values": {...}, "restart": true } |
实现:lib/env/shared_env_lib.py,manual_trading_hub/hub_env_lib.py.
4. 实例 env 配置页变更
三所 env 配置 页已 移除「AI 复盘」卡片.交易所 API,企业微信,交易执行等仍各所自配.
实例侧若通过 API 提交已移除的 AI 键,会被白名单过滤,不会写入.
5. 与系统设置 / env 页对照
| 能力 | 实例 env | 实例系统设置 | 中控系统设置 |
|---|---|---|---|
| 交易所 API | ✅ | ❌ | ❌ |
| OpenAI / AI | ❌ | ❌ | ✅(同步三所) |
| 实例登录密码 | ❌ | ✅ | ❌ |
| 中控登录密码 | ❌ | ❌ | ✅ |
| Bridge / Flask 长期密钥 | ❌(自动) | ❌ | ❌(自动) |
| SSO 链接 | — | — | 每次打开实例自动签发 |
6. 运维提示
- 修改 AI 后若未自动重启成功,手动:
pm2 restart manual-trading-hub crypto_okx crypto_binance crypto_gate --update-env - 三所 AI 不一致时,中控 AI 配置页会提示「未完全同步」;点 保存并同步 即可对齐
- 备份包可选包含各
.env(中控设置 → 备份恢复)
相关文档:env配置说明.md,系统设置说明.md,manual_trading_hub/局域网与反代部署说明.md(SSO 2h 说明)