Rebalance swap to AUTO_TRANSFER_AMOUNT at Beijing hour: top up from funding or sweep excess back. Skip and WeChat notify when active positions exist. Co-authored-by: Cursor <cursoragent@cursor.com>
4.0 KiB
环境一键部署
为仓库内各子项目创建 Python 虚拟环境、安装依赖、初始化 .env 与静态目录。
Windows(推荐)
双击仓库根目录 一键部署.bat,或在 PowerShell 中:
cd C:\path\to\crypto_monitor
.\deploy\setup_env.ps1
仅部署部分项目:
.\deploy\setup_env.ps1 -Only binance,gate_bot
重建虚拟环境:
.\deploy\setup_env.ps1 -RecreateVenv
跳过 PM2、跳过复制 .env:
.\deploy\setup_env.ps1 -SkipPm2 -SkipEnvCopy
Linux / macOS
Ubuntu / Debian 首次部署(若 python -m venv 报 ensurepip is not available):
apt update
apt install -y python3.10-venv python3-pip curl # 版本号与 python3 --version 一致
bash deploy/setup_env.sh
脚本在 root 下会自动尝试 apt install python*-venv;非 root 请先装系统包或使用:
sudo bash deploy/setup_env.sh --install-system-deps
cd /opt/crypto_monitor
bash deploy/setup_env.sh
bash deploy/setup_env.sh --only binance,gate
bash deploy/setup_env.sh --recreate-venv
若在 Windows 编辑过脚本后在 Linux 报错 set: pipefail: invalid option name,先去掉 CRLF 再执行:
sed -i 's/\r$//' deploy/setup_env.sh
# 或: apt install -y dos2unix && dos2unix deploy/setup_env.sh
bash deploy/setup_env.sh
脚本会做什么
| 步骤 | 说明 |
|---|---|
| 检查 Python | 需要 3.10+ |
crypto_monitor_* |
各目录 .venv + pip install -r ../requirements.txt |
manual_trading_hub |
独立 requirements.txt |
.env |
若不存在则从 .env.example 复制(不覆盖已有) |
| 目录 | 创建 static/images、static/images/order_charts |
| PM2 | 若已装 Node.js 且未 -SkipPm2,尝试 npm install -g pm2 |
部署之后
-
编辑各子目录
.env(API、登录密码、SOCKS 代理、AI 复盘 等)。AI 默认走 OpenAI 兼容网关https://op.bz121.com/v1(AI_PROVIDER=openai,OPENAI_API_KEY等),详见根目录 AI复盘与模型配置说明.md。 -
本地试运行(以 Binance 为例):
cd crypto_monitor_binance source .venv/bin/activate # Windows: .\.venv\Scripts\activate python app.py -
服务器长期运行见各目录 《部署文档.md》(SSH SOCKS、PM2)。
-
多账户中控(
manual_trading_hub):编辑manual_trading_hub/.env(HUB_PASSWORD、HUB_BRIDGE_TOKEN等与四实例一致),再pm2 start ecosystem.config.cjs;验收bash manual_trading_hub/scripts/verify_hub_deploy.sh。详见 manual_trading_hub/部署文档.md、常见问题.md。
四所 .env 自动划转项(已有 .env 时)
AUTO_TRANSFER_AMOUNT 等为交易账户目标余额(北京时间 8 点自动划入/划出,持仓中不划转并微信通知),与 DAILY_START_CAPITAL 独立。若服务器上已有 .env,可合并写入(不覆盖 API 密钥):
python scripts/sync_four_exchange_transfer_env.py
# 缺 AUTO_TRANSFER_AMOUNT 时会沿用该文件中的 DAILY_START_CAPITAL
pm2 restart crypto-monitor-binance crypto-monitor-okx crypto-monitor-gate crypto-monitor-gate-bot
四所 .env 计仓模式项(已有 .env 时)
POSITION_SIZING_MODE / FULL_MARGIN_BUFFER_RATIO 仅能通过 env 切换;切换模式前须无持仓:
python scripts/sync_four_exchange_position_sizing_env.py
# 无仓后切全仓:python scripts/sync_four_exchange_position_sizing_env.py --set-mode full_margin
pm2 restart crypto-monitor-binance crypto-monitor-okx crypto-monitor-gate crypto-monitor-gate-bot
详见 docs/position-sizing-mode.md。
依赖说明
- 四个监控子项目共用仓库根目录 requirements.txt。
- 走 SOCKS 代理时必须安装 PySocks(已包含在 requirements 中)。