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

This commit is contained in:
dekun
2026-05-22 10:40:54 +08:00
parent 6d7b45e714
commit 23f0d5a74d
3 changed files with 17 additions and 3 deletions
+3
View File
@@ -32,6 +32,9 @@ function agentApp(name, exchangeDir, exchange, port) {
autorestart: true, autorestart: true,
watch: false, watch: false,
max_memory_restart: "400M", max_memory_restart: "400M",
restart_delay: 3000,
max_restarts: 15,
merge_logs: true,
env: { env: {
EXCHANGE: exchange, EXCHANGE: exchange,
PORT: String(port), PORT: String(port),
+13 -3
View File
@@ -1,14 +1,19 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# PM2 子代理入口:在策略目录(cwd)加载 .env 后启动 agent.py # PM2 子代理入口:在策略目录(cwd)加载 .env 后启动 agent.py
# EXCHANGE / PORT / HOST 由 ecosystem.config.cjs 注入,.env 里一般无 PORT,不会覆盖 set -e
set -euo pipefail set -o pipefail
HUB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" HUB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
VENV_PY="${HUB_DIR}/.venv/bin/python" VENV_PY="${HUB_DIR}/.venv/bin/python"
AGENT_PY="${HUB_DIR}/agent.py" AGENT_PY="${HUB_DIR}/agent.py"
# PM2 ecosystem 注入,须在 source .env 之后再次强制(避免 .env 覆盖 PORT/EXCHANGE
_PM2_EXCHANGE="${EXCHANGE:-}"
_PM2_PORT="${PORT:-}"
_PM2_HOST="${HOST:-}"
if [[ ! -x "${VENV_PY}" ]]; then if [[ ! -x "${VENV_PY}" ]]; then
echo "未找到 ${VENV_PY},请先在 manual_trading_hub 下创建 venv" >&2 echo "未找到 ${VENV_PY},请先在 manual_trading_hub: python3 -m venv .venv && pip install -r requirements.txt" >&2
exit 1 exit 1
fi fi
@@ -21,4 +26,9 @@ else
echo "警告: $(pwd) 下无 .envagent 可能缺少 API 密钥" >&2 echo "警告: $(pwd) 下无 .envagent 可能缺少 API 密钥" >&2
fi fi
[[ -n "${_PM2_EXCHANGE}" ]] && export EXCHANGE="${_PM2_EXCHANGE}"
[[ -n "${_PM2_PORT}" ]] && export PORT="${_PM2_PORT}"
[[ -n "${_PM2_HOST}" ]] && export HOST="${_PM2_HOST}"
echo "agent start: exchange=${EXCHANGE:-?} port=${PORT:-?} cwd=$(pwd)" >&2
exec "${VENV_PY}" "${AGENT_PY}" exec "${VENV_PY}" "${AGENT_PY}"
+1
View File
@@ -216,6 +216,7 @@ pm2 restart ecosystem.config.cjs
|------|------| |------|------|
| PM2 启动后立刻退出 | `pm2 logs manual-trading-hub`;检查 `.venv``.env``run_hub.sh` 可执行 | | PM2 启动后立刻退出 | `pm2 logs manual-trading-hub`;检查 `.venv``.env``run_hub.sh` 可执行 |
| 余额显示 —、无报错 | 子代理未加载策略目录 `.env`(旧版 PM2 直接跑 agent.py) | 更新代码后 `pm2 restart ecosystem.config.cjs``curl http://127.0.0.1:15200/status``ok:true` 且有 `balance_usdt` | | 余额显示 —、无报错 | 子代理未加载策略目录 `.env`(旧版 PM2 直接跑 agent.py) | 更新代码后 `pm2 restart ecosystem.config.cjs``curl http://127.0.0.1:15200/status``ok:true` 且有 `balance_usdt` |
| PM2 里 agent **stopped**hub 仍 online) | 启动失败:端口占用、无 `.env`/密钥、`run_agent.sh` 无执行权限、venv 缺失 | `pm2 logs manual-agent-binance --lines 80``chmod +x scripts/run_agent.sh``ss -tlnp \| grep 15200` |
| 监控无持仓 | 子代理未起或 Agent URL 错;或交易所确实无仓 | `curl http://127.0.0.1:15200/status` | | 监控无持仓 | 子代理未起或 Agent URL 错;或交易所确实无仓 | `curl http://127.0.0.1:15200/status` |
| 无关键位/下单 401 | Flask 未起或 `HUB_BRIDGE_TOKEN` 不一致;或设 `APP_AUTH_DISABLED=true` | | 无关键位/下单 401 | Flask 未起或 `HUB_BRIDGE_TOKEN` 不一致;或设 `APP_AUTH_DISABLED=true` |
| 子代理 SOCKS 报错 | 在 **manual_trading_hub/.venv** 安装 `PySocks`**pm2 restart** 子代理 | | 子代理 SOCKS 报错 | 在 **manual_trading_hub/.venv** 安装 `PySocks`**pm2 restart** 子代理 |