中控增加下单,关键位,系统设置

This commit is contained in:
dekun
2026-05-22 10:32:51 +08:00
parent 6695e72e72
commit 94d4c3b777
7 changed files with 133 additions and 138 deletions
+51 -62
View File
@@ -52,51 +52,75 @@ deactivate # 可选;交给 PM2 时不必保持激活
## 四、推荐启动顺序
```
1. 子代理 agent1520015203 ← PM2 或 screen
2. 各实例 FlaskAPP_PORT 目录 ecosystem.config.cjs
3. 中控 hub5100 ← 本目录 ecosystem.config.cjs
1. 各实例 FlaskAPP_PORT ← 各 crypto_monitor_* 目录 ecosystem.config.cjs
2. 中控 + 子代理(5100 + 1520015203目录一条 PM2 命令同时启动
```
**`ecosystem.config.cjs` 会一次拉起 4 个 agent + 1 个 hub**,无需再单独 `pm2 start` 子代理。
仅反代中控到公网时:Flask / agent 仍只监听 **127.0.0.1**;系统设置里 URL 填 `http://127.0.0.1:端口`
---
## 五、PM2 托管中控(推荐)
## 五、PM2 托管(hub + agent 一起启动,推荐)
### 5.1 进程名与文件
### 5.1 一条命令启动全部
| 文件 | PM2 进程名 | 说明 |
|------|------------|------|
| `ecosystem.config.cjs` | `manual-trading-hub` | 仅中控 |
| `ecosystem.agents.config.cjs` | `manual-agent-binance` 等 4 个 | 可选,子代理 |
| 文件 | 包含进程 |
|------|----------|
| `ecosystem.config.cjs` | `manual-agent-binance` / `okx` / `gate` / `gate-bot` + **`manual-trading-hub`** |
`run_hub.sh` 加载 **`manual_trading_hub/.env`** 执行 `hub.py`
### 5.2 启动中控
`run_hub.sh` 加载 **`manual_trading_hub/.env`** 执行 `hub.py`;各 agent 在对应策略目录启动以读取该目录 **`.env`** 中的 API 密钥
```bash
cd /opt/crypto_monitor/manual_trading_hub
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# 方式 A:直接 PM2
pm2 start ecosystem.config.cjs
pm2 start ecosystem.config.cjs # 5 个进程一起起
pm2 save
# 方式 B:快捷脚本
#
bash scripts/pm2_hub.sh start
```
### 5.2 PM2 进程一览
| 进程名 | 工作目录 | 端口/说明 |
|--------|----------|-----------|
| manual-agent-binance | crypto_monitor_binance | agent `15200` |
| manual-agent-okx | crypto_monitor_okx | agent `15201` |
| manual-agent-gate | crypto_monitor_gate | agent `15202` |
| manual-agent-gate-bot | crypto_monitor_gate_bot | agent `15203` |
| manual-trading-hub | manual_trading_hub | hub `5100` |
OKX 子代理会启动,但中控默认 `HUB_DISABLED_IDS=1` 不参与监控;不用 OKX 可 `pm2 stop manual-agent-okx`
### 5.3 常用运维命令
```bash
pm2 status
pm2 logs manual-trading-hub --lines 200
pm2 restart manual-trading-hub
pm2 stop manual-trading-hub
pm2 restart ecosystem.config.cjs # 重启 hub + 全部 agent
#
bash scripts/pm2_hub.sh status
bash scripts/pm2_hub.sh restart # 同上
bash scripts/pm2_hub.sh stop
bash scripts/pm2_hub.sh logs
bash scripts/pm2_hub.sh restart
```
仅重启中控、不动 agent
```bash
pm2 restart manual-trading-hub
```
仅重启子代理:
```bash
pm2 restart manual-agent-binance manual-agent-gate manual-agent-gate-bot
# 或
bash scripts/pm2_agents.sh restart
```
### 5.4 开机自启
@@ -107,59 +131,26 @@ pm2 startup
# 按终端提示执行一行 sudo 命令后,再 pm2 save
```
### 5.5 可选:PM2 托管四路子代理
```bash
cd /opt/crypto_monitor/manual_trading_hub
pm2 start ecosystem.agents.config.cjs
# 仅币安:
# pm2 start ecosystem.agents.config.cjs --only manual-agent-binance
bash scripts/pm2_agents.sh start # 等价启动全部
pm2 save
```
| 进程名 | 工作目录 | PORT |
|--------|----------|------|
| manual-agent-binance | crypto_monitor_binance | 15200 |
| manual-agent-okx | crypto_monitor_okx | 15201 |
| manual-agent-gate | crypto_monitor_gate | 15202 |
| manual-agent-gate-bot | crypto_monitor_gate_bot | 15203 |
OKX 默认被 `HUB_DISABLED_IDS=1` 关闭监控,但子代理仍可启动备用。
### 5.6 与各实例 Flask 一起查看
### 5.5 与各实例 Flask 一起查看
```bash
pm2 status
# 示例同时存在:
# manual-trading-hub
# manual-agent-binance
# crypto_binance (各目录自有 ecosystem.config.cjs
# manual-trading-hub、manual-agent-*
# crypto_binance / crypto_gate …(各策略目录自有 ecosystem.config.cjs
```
---
## 六、手动启动(不用 PM2 时)
### 6.1 子代理(每账户一个终端或 screen)
```bash
cd /opt/crypto_monitor/crypto_monitor_binance
export EXCHANGE=binance PORT=15200 HOST=127.0.0.1
/opt/crypto_monitor/manual_trading_hub/.venv/bin/python \
/opt/crypto_monitor/manual_trading_hub/agent.py
```
其余端口见上表;也可用 `scripts/start_agents_3screen.sh`(不含 OKX)。
### 6.2 中控
需**分别**起 agent 与 hub(与 PM2 合并启动不同):
```bash
# 子代理:scripts/start_agents_3screen.sh 或每目录手动 agent.py
# 中控:
cd /opt/crypto_monitor/manual_trading_hub
bash scripts/run_hub.sh
# 或
bash scripts/start_hub_screen.sh # screen 会话 mt-hub
```
---
@@ -211,9 +202,7 @@ cd /opt/crypto_monitor
git pull
cd manual_trading_hub
.venv/bin/pip install -r requirements.txt
pm2 restart manual-trading-hub
# 若改了 agent 依赖:
pm2 restart manual-agent-binance manual-agent-okx manual-agent-gate manual-agent-gate-bot
pm2 restart ecosystem.config.cjs
```
- **`hub_settings.json`**、**`.env`** 不在 Git 中,`git pull` 不会覆盖。