Document Fleet control center across README and core docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-30 13:07:25 +08:00
parent d46eaf43ab
commit e7529e9dc4
5 changed files with 204 additions and 87 deletions
+66 -44
View File
@@ -12,55 +12,77 @@
eth_hedge_sim/ # 产品:比特骆驼自动化对冲系统
├── README.md
├── .gitignore
├── .env.example # 无密钥的示例;真 .env 不上库
├── package.json # 若前端/Node;或改用 Python 则 requirements.txt
├── requirements.txt # 后端若用 Python
├── .env.example # 策略机示例;真 .env 不上库
├── .env.control.example # 中控示例;真 .env.control 不上库
├── requirements.txt
├── docs/
│ ├── 开发方案.md # 业务与部署方案(本文档姐妹篇)
── 代码结构.md # 本文件
├── deploy/
── ecosystem.config.cjs # PM2:仅本项目进程
│ └── pull_and_restart.sh # git pull + 构建 + pm2 reload(不碰现网)
├── backend/ # API + 行情 + 策略 + 本地撮合
│ ├── app/
│ ├── main.py # 或 index.ts:进程入口
│ │ ├── config.py
│ ├── api/ # HTTP 路由
│ │ ├── ws/ # 向前端推送
├── market/ # OKX 只读行情
│ ├── strategy/ # 自动对冲状态机
│ ├── sim/ # 本地撮合与账本
│ ├── live/ # 实盘适配器(后期,默认关闭)
├── models/ # DB 模型 / schema
└── services/ # 组、统计、设置等应用服务
│ ├── data/ # 本地 SQLite 等(gitignore 数据文件)
── tests/
├── frontend/ # Web 控制台(比特骆驼)
│ ├── index.html
│ ├── package.json
│ ├── src/
│ │ ├── main.tsx
│ │ ├── App.tsx
│ │ ├── layouts/ # 导航壳
│ │ ├── pages/
│ │ │ ├── Plan.tsx # 自动对冲计划
│ │ │ ├── Trades.tsx # 交易记录
│ │ │ ├── Stats.tsx # 统计
│ │ │ └── Settings.tsx # 系统设置
│ │ ├── components/ # 盘口、组标识、持仓条等
│ │ ├── api/ # 调后端
│ │ └── styles/ # 深色交易台风
│ └── dist/ # 构建产物(可部署由 API 托管或 nginx)
└── scripts/ # 运维/一次性工具(可选)
└── smoke_market.py # 只读行情连通性检查
│ ├── 开发方案.md
── 代码结构.md # 本文件
│ ├── 中控Fleet说明.md # 本地中控安装 / 配对 / 监控
── 更新说明.md
├── deploy/ # 策略机部署 + manage.sh 菜单
│ ├── manage.sh # 1策略机 / 2中控 / 4更新策略 / 5更新中控
│ ├── ecosystem.config.cjs
└── pull_and_restart.sh
├── backend/ # 策略机 API
└── app/api/fleet.py # 中控专用:status/start/pause/update/issue-login
├── frontend/ # 策略机 Web
├── control/ # 本地中控(独立进程 :5160
│ ├── backend/app/ # FastAPI:机器清单、Token、代理启停/更新
│ ├── frontend/ # 监控区 + 系统设置(Tab
└── deploy/
├── ecosystem.config.cjs # PM2 eth-hedge-control
└── update.sh
└── scripts/
── deploy_remote.py # SSH 更新策略机
└── deploy_control.py # SSH/本机更新中控
```
技术栈可在开工时二选一(建议尽快定一种,避免双栈):
中控详细用法见 **[中控 Fleet 说明](./中控Fleet说明.md)**。
- **推荐 A**:后端 PythonFastAPI+ 前端 React/Vite(与现网 Python 生态接近,便于复制行情代码)。
- **推荐 B**:全 NodeNest/Express + React)。
---
下文按 **推荐 A** 描述模块;若选 B,目录名对应平移即可。
## 1b. 中控模块职责(`control/`
| 路径 | 职责 |
|------|------|
| `control/backend/app/main.py` | 中控入口,托管前端 dist |
| `control/backend/app/api/nodes.py` | 机器 CRUD、探活、启停/更新/免密登录 URL |
| `control/backend/app/api/auth_routes.py` | 登录、改密、局域网免登、login-meta |
| `control/backend/app/envfile.py` | `.env.control` 补缺(不覆盖已有值) |
| `control/backend/app/lan.py` | 私网 IP 判断 |
| `control/frontend/src/pages/Monitor.tsx` | 监控卡片 / 详情弹层 |
| `control/frontend/src/pages/Settings.tsx` | 账户 / 添加机 / 列表 Tab |
策略机侧配对接口:`backend/app/api/fleet.py` + 设置页「中控 API Token」。
---
## 1. 根目录总览(策略机为主,续)
```text
eth_hedge_sim/
├── backend/ # API + 行情 + 策略 + 本地撮合
│ ├── app/
│ │ ├── main.py
│ │ ├── config.py
│ │ ├── api/ # HTTP 路由(含 fleet
│ │ ├── strategy/
│ │ ├── sim/
│ │ ├── live/
│ │ └── models/
│ ├── data/
│ └── tests/
├── frontend/ # 策略机 Web
│ └── src/pages/
│ ├── Plan.tsx
│ ├── Trades.tsx
│ ├── Stats.tsx
│ └── Settings.tsx # 含中控 Token
└── ...
```
> 下文原「根目录总览」中较旧的骨架示意仍保留模块职责描述;以本节 + [中控说明](./中控Fleet说明.md) 为准补充 `control/`。
---