e5a586f903
Move business code under modules/, env template to config/, PM2 single qihuo process, and _legacy shims for old imports. Co-authored-by: Cursor <cursoragent@cursor.com>
2.3 KiB
2.3 KiB
主目录结构
qihuo/ # 主文件夹(仓库根)
├── app.py # 主程序入口(Flask 启动)
├── requirements.txt
├── deploy.sh # 一键部署脚本
├── ecosystem.config.cjs # PM2 启动配置
├── config/
│ ├── .env.example # 环境变量模板
│ └── .env # 运行时配置(git 忽略)
├── modules/ # 业务模块(每个模块 register(deps))
│ ├── core/ # DB、路径、公共工具
│ ├── web/ # 页面路由 + static/ + templates/
│ ├── trading/ # 下单监控、持仓、推荐
│ ├── ctp/ # vn.py / CTP 连接与报单
│ ├── risk/ # 账户风控
│ ├── strategy/ # 趋势、滚仓策略
│ ├── keys/ # 关键位
│ ├── plans/ # 开单计划
│ ├── market/ # 行情、K 线
│ ├── records/ # 交易记录、复盘
│ ├── stats/ # 统计、看板
│ ├── settings/ # 系统设置
│ ├── notify/ # 微信、AI 消息
│ ├── fees/ # 手续费
│ └── backup/ # 备份
├── _legacy/ # 旧 import 兼容 shim(PM2 PYTHONPATH)
├── data/ # 静态数据(如 fee_rates.json)
├── docs/ # 文档
├── scripts/ # 运维/诊断脚本(非运行时)
├── futures.db # SQLite(未配 PG 时)
├── uploads/
└── logs/
根目录 _legacy/ 为旧 import db_conn 等路径的兼容层;新代码请 from modules.xxx import ...。
进程模型
- 单进程:PM2 仅
qihuo(app.py+ CTP 同进程) - 详见 DEPLOY.md
模块契约
每个 modules/<name>/ 提供 register(deps: AppDeps);主程序 app.py 只做串联,不写业务。
发布
见 DEPLOY.md:本地修改 → git push → 服务器 git pull,禁止 SCP。