Skip to main content

quantmind-deploy

QuantMind 部署与运维 — 一键部署、快速部署、Docker 部署、数据库初始化、部署问题排查。在 QuantBot / Claude Code 中部署 QuantMind、排查部署失败、初始化数据库、检查服务健康、更新部署时使用。触发词:部署、一键部署、快速部署、部署失败、装不上、怎么部署、docker部署、部署问题、数据库初始化、服务起不来

Informações da origem

Repositório
qusong0627/QuantMind
Última atividade na origem
10 de outubro de 2026 às 17:13
Idioma detectado do SKILL.md
chinês
Estrelas
1.732
Forks
386

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
quantmind-deploy
description
QuantMind 部署与运维 — 一键部署、快速部署、Docker 部署、数据库初始化、部署问题排查。在 QuantBot / Claude Code 中部署 QuantMind、排查部署失败、初始化数据库、检查服务健康、更新部署时使用。触发词:部署、一键部署、快速部署、部署失败、装不上、怎么部署、docker部署、部署问题、数据库初始化、服务起不来
> ⚙️ 本技能遵循公共运行环境契约(最高优先级,先于本文其余内容执行): > 详见 [_shared/env-contract.md](../_shared/env-contract.md),执行前先读它。 # QuantMind 部署技能 QuantMind 部署运维完整指南。覆盖**部署前准备 → 一键/手动部署 → 部署后检查 → 问题排查 → 更新 → 云端训练**全流程。本技能针对 AI 编程助手编写,每步都给出可直接执行的命令与判断标准,避免"不知道下一步"卡壳。 ## 0. 安装技能包(让 AI 帮你部署) 本技能包兼容**主流 AI 编程工具**(Claude Code / Codex / OpenCode / Trae / MarsCode 等),安装后 AI 能自动识别"部署/装不上"等意图并调用本技能指导部署。 ### 方式一:Claude Code / QuantBot(原生 SKILL.md) ```bash # 解压到 Claude Code 全局技能目录 unzip quantmind-operations-skill.zip -d ~/.claude/ # 验证 ls ~/.claude/skills/quantmind-deploy/SKILL.md ``` ### 方式二:从项目仓库安装(任何工具) ```bash # 项目根目录 skills/ 下即全部技能 cp -r /opt/quantmind/skills/* ~/.claude/skills/ ``` ### 方式三:其他主流 AI 工具(OpenCode / Codex / Trae / MarsCode 等) 各工具虽不原生识别 SKILL.md,但都读取 **AGENTS.md**(项目级指令)。把技能包要点导入即可: ```bash # ① 通用做法:把 SKILL.md 内容并入 AGENTS.md # 项目根创建/追加 AGENTS.md,把关键流程粘贴进去 cat ~/.claude/skills/quantmind-deploy/SKILL.md >> AGENTS.md # ② OpenAI Codex unzip quantmind-operations-skill.zip -d ~/.codex/ # Codex 读取 ~/.codex/AGENTS.md(把本技能要点放入) # ③ OpenCode unzip quantmind-operations-skill.zip -d ~/.config/opencode/ # 或在项目根 AGENTS.md 引用本技能要点 # ④ 腾讯 Trae / 字节 MarsCode # 克隆仓库后把 SKILL.md 要点写入项目 AGENTS.md,AI 即可按流程部署 ``` ### 让 AI 部署 安装技能后,直接对 AI 助手说: - "帮我部署 QuantMind" → AI 读取本技能,按"部署前准备→部署→检查"执行 - "部署不上,帮我排查" → AI 按"问题排查"诊断树逐项定位 - "一键部署" → AI 执行 `deploy/full-deploy.sh` ### 推荐编程工具(部署环境) | 工具 | 用途 | 说明 | | ------------------------- | ---------- | ----------------------- | | **Claude Code** | AI 编程/部署助手 | 原生支持 SKILL.md,装技能包即自动识别 | | **OpenCode** | AI 编程助手 | 开源,读 AGENTS.md | | **OpenAI Codex** | AI 编程助手 | 读 \~/.codex/AGENTS.md | | **腾讯 Trae / 字节 MarsCode** | AI IDE | 读项目 AGENTS.md | | **VS Code** | 代码编辑 | 前端/后端调试 | | **Docker Desktop** | 容器管理 | 本地调试用,服务器用 docker-ce | | **MobaXterm / Termius** | SSH 终端 | 连服务器执行部署命令 | | **Git** | 版本管理 | 拉取/更新代码 | ## 架构总览 QuantMind 单机 Docker Compose 部署(`docker-compose.yml`),11+ 服务: | 容器 | 服务 | 端口 | 说明 | | ------------------------ | ------------- | --------- | --------------------------- | | `quantmind-db` | PostgreSQL 15 | 5432 | 主数据库 | | `quantmind-redis` | Redis 7 | 6379 | 缓存/消息(DB 0-5 分配) | | `quantmind` | 后端主服务 | 8000-8003 | api/engine/trade/stream 四合一 | | `quantmind-celery` | Celery Worker | — | 异步任务(回测/同步/推理) | | `quantmind-celery-beat` | Celery Beat | — | 定时调度 | | `quantmind-web` | 前端 Web | 80 | Nginx 托管 React 构建产物 | | `quantmind-data-gateway` | 数据网关 | — | 行情/资金流聚合 | | `quantmind-huntly` | Huntly | 8090 | RSS 新闻存储/阅读器 | | `quantmind-rsshub` | RSSHub | 1200 | 通用网站订阅 | | `qwenpaw` | QwenPaw | 8088 | AI 代理(可选);**默认仅绑 127.0.0.1**,外部直连需 `QWENPAW_BIND=0.0.0.0` | > **QwenPaw 外部访问**:`qwenpaw` 端口默认只绑 `127.0.0.1`(安全收敛口径)。前端 QuantBot 页面用 iframe 直连 > `http://<API网关主机>:8088/`,若在远端浏览器/Electron 打开需要在 `.env` 增加 `QWENPAW_BIND=0.0.0.0`, > 然后 `docker compose up -d qwenpaw`(**改端口映射必须 recreate,`restart` 不生效**),并在云安全组放行 8088 > 且**限定来源 IP**(QwenPaw 为免登录模式)。仅容器内 `http://qwenpaw:8088` 互访则无需改动。 ## 1. 部署前准备(重要,先做完再部署) ### 1.1 环境要求(多系统 + 硬件) | 项目 | 要求 | 说明 | | ----------- | ---------------------------- | ------------------------------------------------------- | | **系统** | Ubuntu 22.04 LTS 或 24.04 LTS | **部署脚本仅支持 Ubuntu 22.04+**,其他系统会被拒绝 | | **Windows** | Docker Desktop + WSL2 后端 | 在 WSL2 终端内执行 `docker compose` | | **macOS** | Docker Desktop 直接运行 | 兼容 | | **云服务器** | 任意 Docker 环境 | 单机即可 | | **CPU 架构** | **仅 x86\_64 / AMD64** | **ARM(aarch64)不支持**——微软 Qlib 框架仅发布 x86\_64,ARM 无法装 Qlib | | **CPU** | 4 核以上 | 推荐 8 核(训练/回测耗 CPU) | | **内存** | 16GB 以上(运行) | 模型训练推荐 **64GB+**,推理/回测 **32GB+**;内存不足会 OOM 训练卡死 | | **磁盘** | 100GB 以上可用 | 数据 + 镜像 + 特征快照(\~15GB)+ 模型 | > ⚠️ 训练机建议 ≥64GB 内存;若只有 32GB,缩小时间窗/特征数避免 OOM。 ### 1.2 网络检查(部署前必测) 国内服务器常需配置镜像源。部署脚本会自动选 Docker/PyPI/APT 镜像源,也可手动指定。 ```bash # 检查 DNS + 各仓库连通性(任一失败先解决再部署) curl -fsSL --connect-timeout 5 https://gitee.com >/dev/null && echo "gitee OK" || echo "gitee FAIL" curl -fsSL --connect-timeout 5 https://registry.npmmirror.com >/dev/null && echo "npm OK" || echo "npm FAIL" curl -fsSL --connect-timeout 5 https://pypi.org >/dev/null && echo "pypi OK" || echo "pypi FAIL" docker info >/dev/null 2>&1 && echo "docker OK" || echo "docker 未安装(部署脚本会装)" ``` **网络差时的应对**: - 手动指定 Docker 镜像源:`QUANTMIND_DOCKER_MIRROR=https://你的加速域名 sudo -E bash deploy/full-deploy.sh` - Docker 镜像源:`/etc/docker/daemon.json` 配置 `registry-mirrors`(阿里云/腾讯云镜像加速) - PyPI 源:`PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/`(构建镜像时 `--build-arg`) ### 1.3 提前决定要填写的内容 部署脚本会**交互式**问你以下内容,提前准备好答案: | 部署时问什么 | 示例答案 | 说明 | | ------------------- | ----------------------------- | --------------------------------- | | 服务器 IP | `192.168.1.100` / `localhost` | 无公网 IP 用 localhost 或局域网 IP | | 选择镜像源 | 国内选阿里云/中科大 | 网络差时自动选,也可 `QUANTMIND_MIRROR=` 指定 | | 是否确认部署 | `y` | 确认后开始安装 | | (可选)QuantDB API Key | `qdb_xxx` | **部署后**在后台填,见 \[\[quantdb-sdk]] | ### 1.4 部署前备份 ```bash # 若已有旧数据/旧部署,先备份 sudo cp -r /opt/quantmind/data /opt/quantmind/data.bak.$(date +%Y%m%d) ``` ## 2. 一键部署(推荐) ```bash # 完整一键部署:从 CDN 下载完整业务数据/模型/Qlib 数据 + 镜像包,恢复后开箱即用 curl -fsSL https://gitee.com/qusong0627/QuantMind/raw/master/deploy/full-deploy.sh | sudo bash # 自定义 CDN / 分支 / 镜像加速 sudo QUANTMIND_OFFLINE_BASE_URL='https://cdn.example.com/quantmind-offline' \ QUANTMIND_REF='master' \ QUANTMIND_DOCKER_MIRROR='https://你的镜像加速域名' \ bash deploy/full-deploy.sh ``` **部署 8 阶段**(详见 `docs/部署指南.md` 第四节): 1. 安装系统依赖与 Docker / Compose,配置镜像加速; 2. 从 CDN 下载离线包并 SHA-256 全量校验(支持断点续传 / 复用); 3. 导入 Docker 镜像(9 个;`rsshub` 部署时在线拉取); 4. 拉取代码(支持 Compose/Dockerfile 受控覆盖层); 5. 恢复业务数据、模型与 Qlib 数据; 6. 恢复 PostgreSQL 业务数据(已有数据默认保留); 7. 恢复 QwenPaw 持久化卷; 8. 构建启动全部服务并自动配置 QwenPaw 运行时。 ## 3. 源码部署(已下线) > 在线源码部署脚本 `deploy/deploy.sh` / `quick-deploy.sh` 已从仓库移除。请使用第 2 节「一键部署」(`deploy/full-deploy.sh`),或按第 4 节用 `docker compose` 手动部署。 ## 4. 手动部署(源码) ```bash sudo git clone https://gitee.com/qusong0627/QuantMind.git /opt/quantmind cd /opt/quantmind # 编写 .env:DB_PASSWORD / SECRET_KEY / JWT_SECRET_KEY / STORAGE_MODE=local(见 docs/部署指南.md) sudo docker compose build quantmind sudo docker compose up -d ``` 详见 `docs/部署指南.md` 第五节「完全手动部署」。 ## 5. 数据库初始化(关键) 服务启动时自动幂等重放 **`backend/shared/db_init.sql`**(含 users 等全部核心表): - 容器内路径 `/app/backend/shared/db_init.sql`(由 `./backend:/app/backend` 挂载提供) - 优先从 quantmind 容器执行 psql,失败则从 db 容器执行 - 若存在 `data/quantmind_init.sql` 则补充初始化数据 ```bash # 手动执行数据库初始化 docker exec quantmind bash -c "psql -h db -U quantmind -d quantmind -f /app/backend/shared/db_init.sql --quiet -v ON_ERROR_STOP=0" ``` **初始化后必须验证 users 表存在**(最常见部署失败点): ```bash docker exec quantmind-db psql -U quantmind -d quantmind -c "\dt users" # 期望看到 users 表;若不存在说明 db_init.sql 没跑成功 ``` ## 6. 部署后检查(按顺序,每步都过再继续) ### 6.1 容器健康 ```bash docker compose -f /opt/quantmind/docker-compose.yml ps # 期望 quantmind/quantmind-celery/quantmind-celery-beat/quantmind-web/quantmind-db/quantmind-redis 都 Up ``` ### 6.2 数据库 & Redis ```bash docker exec quantmind-db pg_isready -U quantmind # 期望 "accepting connections" docker exec quantmind-redis redis-cli ping # 期望 "PONG" ``` ### 6.3 后端 API 健康 ```bash curl -s http://localhost:8000/api/v1/health # 期望返回 {"status":"healthy", ...} 含 api/engine/trade/stream 四服务 ``` ### 6.4 登录验证(关键:验证 users 表 + 认证链路) ```bash curl -s -X POST http://localhost:8000/api/v1/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123","tenant_id":"default"}' # 期望返回 access_token;若 401/500 → users 表问题(见排查) ``` ### 6.5 前端访问 ```bash curl -s -I http://localhost | head -1 # 期望 200 OK ``` ### 6.6 登录后台 + 配置数据源 1. 浏览器访问 `http://服务器IP`,用 admin 登录 2. 后台「数据管理」配置 **QuantDB API Key**(见 \[\[quantdb-sdk]]) 3. 触发一次数据同步(见 \[\[quantmind-operations]] 第 3 节) ## 7. 更新部署 ```bash cd /opt/quantmind # 一键更新脚本(同步代码 → 重建核心镜像 → 重启服务 → 导入数据库补丁 → 健康检查,不动数据库数据) sudo bash deploy/update.sh # 更新到指定分支或 tag sudo bash deploy/update.sh --ref master # 覆盖服务器上未提交的代码改动(谨慎,用 --force 而非 --force-sync) sudo bash deploy/update.sh --force # 纯代码改动,跳过镜像重建 sudo bash deploy/update.sh --no-build # 手动更新 git pull origin master docker compose build docker compose up -d ``` ### 7.1 update.sh 自动做了什么(客户升级说明) | 步骤 | 行为 | 数据是否受影响 |
Ver no GitHub
Este SKILL.md e muito grande, entao o SkillsMP mostra aqui apenas a primeira secao. Ver no GitHub