# 中控(Fleet Control)使用说明 中控与策略机在**同一仓库**,独立进程部署。中控跑在本地服务器,**不访问交易所**;只通过专用 API Token 读状态、启停、远程更新与免密登录策略机。 建议策略机与中控使用**同一 git 版本**(同 `main` / 同 tag),避免 `/api/fleet/*` 接口漂移。 ## 架构一览 | 组件 | 端口 | PM2 名 | 目录 | |------|------|--------|------| | 策略机 | 5155 | `eth-hedge-api` | `backend/` + `frontend/` | | 中控 | 5160 | `eth-hedge-control` | `control/backend` + `control/frontend` | ## 策略机:启用中控 Token 1. 部署含本功能的策略机代码(`deploy_remote.py` / 现有一键更新)。 2. 登录策略机 → **系统设置 → 登录账户 → 中控 API Token**。 3. 粘贴中控生成的 Token 并保存(存哈希,不可回看明文)。 策略机 Fleet 接口(请求头 `X-Fleet-Token`): - `GET /api/fleet/status` - `POST /api/fleet/start` / `pause` - `POST /api/fleet/update`(本机跑 `deploy/lib/update.sh`) - `POST /api/fleet/issue-login`(签发一次性免密登录票) 免密登录兑换:`POST /api/auth/fleet-exchange` `{ "ticket": "..." }`,或打开 `/fleet-login?ticket=...`。 ## 中控:本地安装与一键部署 在目标机执行(与策略机同一安装命令入口): ```bash curl -fsSL https://git.bz121.com/dekun/eth_hedge_sim/raw/branch/main/deploy/manage.sh | bash ``` 交互菜单: 1. **一键部署策略机** — 端口 5155 / `eth-hedge-api` 2. **一键部署中控机** — 端口 5160 / `eth-hedge-control`(自动补全 `.env.control`,已有值不覆盖) 3. 一键卸载 4. 更新策略机 5. 更新中控机 中控默认账号:`admin` / `admin123`;在中控 **系统设置** 可改用户名密码。 ## 配对步骤 1. 中控 **系统设置** → 添加策略机(名称 + 公网 Base URL,如 `https://dc.hyf2.cc`)。 2. 点 **生成 Token** → 复制明文(只显示一次)。 3. 登录该策略机 → 保存同一 Token。 4. 回到中控 **监控区**:应显示在线与 Token 已配对。 ## 监控区操作 - **启动 / 停止**:经 Token 调策略机 `/api/fleet/start|pause`(LIVE 门禁仍在策略机侧)。 - **登录策略机**:中控代签一次性 ticket,新标签打开策略机并免密进入 `/plan`。 - **更新代码 / 勾选更新**:中控调 `/api/fleet/update`,策略机本机 git pull + 构建 + reload;**不会**自动 start 策略。 ## 安全注意 - Fleet Token 可启停、更新、签发登录票,泄露后立即在两边轮换(中控重新生成 + 策略机覆盖保存)。 - 登录票约 60 秒、一次性;长期 Token 不会出现在浏览器地址栏。 - 中控建议仅内网访问;勿把 `.env.control` 与 Token 明文提交到 git。