diff --git a/README.md b/README.md
index f70b6f6..6737c8a 100644
--- a/README.md
+++ b/README.md
@@ -40,20 +40,77 @@
## ✨ 核心功能
-| 模块 | 一句话 | 详见 |
-| :--------------- | :--------------------------------------------------------------------- | :-------------------------------- |
-| 🔀 **能力路由** | 多数据集(日K/除权/实时/分钟/盘口/财务,持续扩展)按源能力独立路由,任选组合 | [custom-data-source.md](./docs/custom-data-source.md) |
-| 🔍 **选股引擎** | 25 个内置策略 + 分钟策略 + 自定义信号 + AI 生成,Polars 毫秒级扫全 A 股 | [strategy.md](./docs/strategy.md) |
-| 📊 **指标流水线** | MA/EMA/MACD/RSI/KDJ/布林/量比等 68 列指标与信号,一次扫表落盘 enriched Parquet | [features.md](./docs/features.md) |
-| 🧪 **回测研究** | 因子/策略/分钟回测 + 财务快照因子(点时口径),T+1/费用/滑点约束,评分策略附带因子归因 | [features.md](./docs/features.md) |
-| 🔬 **因子平台** | DSL 自定义因子(编辑器 25 算子点选/试算/版本) + 检验/组合,与策略双向联动(一键生成策略/触发器引用因子/回测归因) | [factor-platform-plan.md](./docs/factor-platform-plan.md) |
-| ⛏️ **因子挖掘** | 嵌套样本外搜索多因子排名组合,与自有策略对照,候选库显式发布、永不自动上线 | [mining.md](./docs/mining.md) |
-| 🌡️ **市场环境** | 情绪周期 6 阶段(连板梯队驱动)+ 概念/行业主线排名,与 5 档环境分并存 | [market-phase.md](./docs/market-phase.md) |
-| 🚨 **异动监控** | 竞价/盘中/偏移三类异动一页覆盖:同花顺风向标 + 当日信号聚合 + 交易所偏离值口径 | — |
-| 📡 **监控中心** | 四类监控(策略/个股信号/价格/异动),多条件 AND/OR + 语音播报 + 飞书推送 | [features.md](./docs/features.md) |
-| 📈 **个股分析** | 9 类关键价位 + AI 四维分析(技术/基本面/财务/消息面) | [features.md](./docs/features.md) |
-| 🏆 **连板梯队** | 连板层级统计 + 概念涨幅轮动 + 盘后 AI 复盘(龙虎榜/盘前风向标注入) + 炸板/翘板预警 | [features.md](./docs/features.md) |
-| 🧰 **数据扩展** | 数据源插件化(TickFlow/fuyao/stock-sdk + YAML 自定义源),扩展字段配成一级页面同台分析 | [custom-data-source.md](./docs/custom-data-source.md) |
+
+
+
+ | 模块 |
+ 一句话 |
+ 详见 |
+
+
+
+
+ | 🔀 能力路由 |
+ 多数据集(日K/除权/实时/分钟/盘口/财务,持续扩展)按源能力独立路由,任选组合 |
+ custom-data-source.md |
+
+
+ | 🔍 选股引擎 |
+ 25 个内置策略 + 分钟策略 + 自定义信号 + AI 生成,Polars 毫秒级扫全 A 股 |
+ strategy.md |
+
+
+ | 📊 指标流水线 |
+ MA/EMA/MACD/RSI/KDJ/布林/量比等 68 列指标与信号,一次扫表落盘 enriched Parquet |
+ features.md |
+
+
+ | 🧪 回测研究 |
+ 因子/策略/分钟回测 + 财务快照因子(点时口径),T+1/费用/滑点约束,评分策略附带因子归因 |
+ features.md |
+
+
+ | 🔬 因子平台 |
+ DSL 自定义因子(编辑器 25 算子点选/试算/版本) + 检验/组合,与策略双向联动(一键生成策略/触发器引用因子/回测归因) |
+ factor-platform-plan.md |
+
+
+ | ⛏️ 因子挖掘 |
+ 嵌套样本外搜索多因子排名组合,与自有策略对照,候选库显式发布、永不自动上线 |
+ mining.md |
+
+
+ | 🌡️ 市场环境 |
+ 情绪周期 6 阶段(连板梯队驱动)+ 概念/行业主线排名,与 5 档环境分并存 |
+ market-phase.md |
+
+
+ | 🚨 异动监控 |
+ 竞价/盘中/偏移三类异动一页覆盖:同花顺风向标 + 当日信号聚合 + 交易所偏离值口径 |
+ — |
+
+
+ | 📡 监控中心 |
+ 四类监控(策略/个股信号/价格/异动),多条件 AND/OR + 语音播报 + 飞书推送 |
+ features.md |
+
+
+ | 📈 个股分析 |
+ 9 类关键价位 + AI 四维分析(技术/基本面/财务/消息面) |
+ features.md |
+
+
+ | 🏆 连板梯队 |
+ 连板层级统计 + 概念涨幅轮动 + 盘后 AI 复盘(龙虎榜/盘前风向标注入) + 炸板/翘板预警 |
+ features.md |
+
+
+ | 🧰 数据扩展 |
+ 数据源插件化(TickFlow/fuyao/stock-sdk + YAML 自定义源),扩展字段配成一级页面同台分析 |
+ custom-data-source.md |
+
+
+
📦 主要页面与功能
@@ -256,18 +313,25 @@ flowchart TB
## 🚀 快速开始
-> 前置依赖:Python ≥ 3.11 · Node ≥ 20 · [`uv`](https://docs.astral.sh/uv/) · `pnpm`(`npm i -g pnpm`)
+> 前置依赖(仅方式 D 需要):Python ≥ 3.11 · Node ≥ 20 · [`uv`](https://docs.astral.sh/uv/) · `pnpm`(`npm i -g pnpm`)
+>
+> 有 Docker 直接看 **方式 A**,一条命令拉现成镜像;完全不想碰命令行:看 **方式 C**,让本机 AI 帮你部署
-### 方式 A:Dev 模式(二次开发推荐)
+### 方式 A:GHCR 现成镜像(免本地构建,多数用户推荐)
+
+本项目每次推送都由 GitHub Actions 自动构建多架构镜像(linux/amd64 · arm64)并发布到 GHCR,拿来即用,本地无需装 Python / Node,也不用现场 build:
```bash
-cp .env.example .env # 按需填 TICKFLOW_API_KEY(留空 = None 模式)
-./dev.sh # Windows: .\dev.ps1
+docker run -d --name tsp -p 3018:3018 -v ${PWD}/data:/app/data ghcr.io/shy3130/tick-stock-panel:latest
+# 打开 http://localhost:3018
```
-自动检查 / 下载依赖、释放端口、同时起前后端。后端 → · 前端 → 。
+- 需要配置时:从 [.env.example](./.env.example) 复制出 `.env`,命令里加 `--env-file .env`。
+- 跑自己改过的代码:fork 后到仓库 **Actions** 页启用 workflow(fork 默认禁用),构建出的 `ghcr.io/<你的用户名>/tick-stock-panel` 用法相同。
+- 想用 compose 编排(挂载 `.env` / `tiers.yaml`):参考 [docker-compose.yml](./docker-compose.yml),把 `build:` 段换成 `image: ghcr.io/shy3130/tick-stock-panel:latest`。
+- 现成镜像默认不含 stock-sdk 插件与老 CPU 兼容内核(合规与体积考虑),有此需求请用方式 B 自构建,详见 [docs/deployment.md](./docs/deployment.md)。
-### 方式 B:Docker(部署最省心)
+### 方式 B:Docker Compose(本地构建,全套挂载)
```bash
cp .env.example .env
@@ -289,9 +353,31 @@ CODEX_CLI_VERSION=0.144.3 docker compose up --build
> Codex CLI 模式允许 TickFlow 容器读取本机 Codex 登录凭据,仅应在受信任的本机环境启用。凭据目录以只读方式挂载,不会写入镜像。
-镜像已内置 **stock-sdk** 数据源插件(Node 运行时 + 依赖),开箱即用。
+镜像默认**不含** stock-sdk 插件(合规考虑);确需启用执行 `docker compose build --build-arg INCLUDE_STOCKSDK=1` 后再 `docker compose up -d`,详见 [docs/deployment.md](./docs/deployment.md)。
-> 📖 Docker 进阶、GitHub Actions 自构建、老 CPU 兼容、访问密码设置等见 [docs/deployment.md](./docs/deployment.md)。
+> 📖 Docker 进阶、老 CPU 兼容、访问密码设置等见 [docs/deployment.md](./docs/deployment.md)。
+
+### 方式 C:本机 AI 代部署(小白推荐)
+
+装一个本机 AI 编程助手(Trae / Codex / OpenCode / ZCode / WorkBuddy 等,任选其一),新建一个空文件夹用助手打开,把下面这段话原样发给它:
+
+```text
+帮我部署开源项目 https://github.com/shy3130/tick-stock-panel 到本机:
+克隆到当前文件夹;有 Docker 优先拉 ghcr.io/shy3130/tick-stock-panel:latest 现成镜像,没有就走 Dev 模式;
+缺少的依赖(Docker / Python / Node)帮我一起装好;
+最后告诉我浏览器打开哪个地址、需要填哪些 Key。
+```
+
+AI 会自动完成克隆、装依赖、启动服务,完成后浏览器打开 即可;`TICKFLOW_API_KEY` 等配置按 AI 提示填,详见 [配置](#️-配置)。
+
+### 方式 D:Dev 模式(二次开发推荐)
+
+```bash
+cp .env.example .env # 按需填 TICKFLOW_API_KEY(留空 = None 模式)
+./dev.sh # Windows: .\dev.ps1
+```
+
+自动检查 / 下载依赖、释放端口、同时起前后端。后端 → · 前端 → 。
### 跑起来后的第一次使用
diff --git a/docs/deployment.md b/docs/deployment.md
index 4ca16bf..6aa926a 100644
--- a/docs/deployment.md
+++ b/docs/deployment.md
@@ -2,42 +2,36 @@
本项目的几种运行方式,按推荐程度排序。配置项详解见 [configuration.md](./configuration.md)。
-> 📌 前置依赖:Python ≥ 3.11 · Node ≥ 20 · [`uv`](https://docs.astral.sh/uv/) · `pnpm`(`npm i -g pnpm`)
+> 📌 前置依赖(仅方式 D 需要):Python ≥ 3.11 · Node ≥ 20 · [`uv`](https://docs.astral.sh/uv/) · `pnpm`(`npm i -g pnpm`)
---
-## 方式 A:Dev 模式(二次开发推荐)
+## 方式 A:GHCR 现成镜像(免本地构建,多数用户推荐)
-由于刚开源近期更新频繁,推荐开发模式运行,可随时 `git pull` 同步最新代码。
+GitHub Actions 每次推送都会自动构建多架构镜像(linux/amd64 · arm64)并发布到 GHCR,直接拉取运行,本地无需 Python / Node,也不用现场 build:
```bash
-git clone https://github.com/shy3130/tick-stock-panel.git
-cd tick-stock-panel
-cp .env.example .env # 按需填 TICKFLOW_API_KEY(留空 = None 模式)
-./dev.sh # Windows: .\dev.ps1
+docker run -d --name tsp -p 3018:3018 -v ${PWD}/data:/app/data ghcr.io/shy3130/tick-stock-panel:latest
+# 打开 http://localhost:3018
```
-`dev.sh` 自动检查 / 下载依赖、释放端口、同时起前后端,Ctrl-C 一并关闭。默认:
+- 需要配置时:从 `.env.example` 复制出 `.env`,命令里加 `--env-file .env`。
+- 镜像默认**不含** stock-sdk 插件(合规考虑),也不含 `legacy-cpu` / `backtest` extras —— 老 CPU(无 AVX2)或需要 vectorbt 回测时,请用方式 B 通过 `BACKEND_EXTRAS` 自构建。
+- 跑自己改过的代码:fork 后到仓库 Actions 页启用 workflow(fork 默认禁用),构建出的 `ghcr.io/<你的用户名>/tick-stock-panel` 用法相同。
+- 想要 compose 全套挂载(`.env` / `tiers.yaml` / 数据卷):参考根目录 `docker-compose.yml`,把 `build:` 段换成 `image: ghcr.io/shy3130/tick-stock-panel:latest`。
-- 后端 → · 前端 →
-- 自定义端口:`BACKEND_PORT=8000 FRONTEND_PORT=5173 ./dev.sh`
-
-### 手动分别启动(不想用 dev.sh)
+更新到新版本:
```bash
-# 后端
-cd backend && uv sync --extra backtest # 含回测依赖
-# 老 CPU: uv sync --extra legacy-cpu
-# 老 CPU + 回测: uv sync --extra legacy-cpu --extra backtest
-uv run uvicorn app.main:app --reload --port 3018
-
-# 前端
-cd frontend && pnpm install && pnpm dev # http://localhost:3011
+docker pull ghcr.io/shy3130/tick-stock-panel:latest
+docker rm -f tsp
+# 重新执行上面的 docker run
```
---
-## 方式 B:Docker(部署最省心)
+
+## 方式 B:Docker Compose(本地构建,全套挂载)
```bash
cp .env.example .env
@@ -69,6 +63,44 @@ docker compose up --build -d
---
+## 方式 C:本机 AI 代部署(小白推荐)
+
+装一个本机 AI 编程助手(Trae / Codex / OpenCode / ZCode / WorkBuddy 等,任选其一),把 [README · 快速开始](../README.md#-快速开始) 里方式 C 的提示词原样发给它,AI 会自动完成克隆、装依赖、启动服务。适合完全不想碰命令行的用户;AI 最终执行的仍是方式 A / B / D 之一。
+
+---
+
+
+## 方式 D:Dev 模式(二次开发推荐)
+
+由于刚开源近期更新频繁,推荐开发模式运行,可随时 `git pull` 同步最新代码。
+
+```bash
+git clone https://github.com/shy3130/tick-stock-panel.git
+cd tick-stock-panel
+cp .env.example .env # 按需填 TICKFLOW_API_KEY(留空 = None 模式)
+./dev.sh # Windows: .\dev.ps1
+```
+
+`dev.sh` 自动检查 / 下载依赖、释放端口、同时起前后端,Ctrl-C 一并关闭。默认:
+
+- 后端 → · 前端 →
+- 自定义端口:`BACKEND_PORT=8000 FRONTEND_PORT=5173 ./dev.sh`
+
+### 手动分别启动(不想用 dev.sh)
+
+```bash
+# 后端
+cd backend && uv sync --extra backtest # 含回测依赖
+# 老 CPU: uv sync --extra legacy-cpu
+# 老 CPU + 回测: uv sync --extra legacy-cpu --extra backtest
+uv run uvicorn app.main:app --reload --port 3018
+
+# 前端
+cd frontend && pnpm install && pnpm dev # http://localhost:3011
+```
+
+---
+
## 老 CPU 兼容(avx2/fma 缺失)
如果运行时报 `avx2`/`fma` 缺失,或进程 `exit 132`,说明 CPU 不支持 AVX2 指令集(常见于老 VPS)。解决:
@@ -91,12 +123,14 @@ vectorbt → numba 体积较大,作为可选 extras(`uv sync --extra backtest`)
## 更新代码(已部署用户必读)
-拉取新版本只需一条命令:
+拉取新版本只需一条命令(Dev / Compose 本地构建用户):
```bash
git pull
```
+> 用方式 A 镜像直跑(无本地仓库)的用户:`docker pull ghcr.io/shy3130/tick-stock-panel:latest` 后删除旧容器重跑;compose 换 `image:` 的用户执行 `docker compose pull && docker compose up -d`。
+
**整个 `data/` 目录都不纳入 git** —— 行情 K线、财务、自选、回测、监控记录,乃至概念/行业扩展数据,全部是程序运行时生成/拉取的用户数据,`git pull` 物理上无法影响它们。新用户首次启动时,概念/行业两份扩展数据会自动从远程接口拉取,无需任何手动操作。
> ⚠️ **切勿使用以下命令"解决冲突"或"清理",它们会一次性删光 `data/` 下所有未被 git 跟踪的数据:**
diff --git a/操作说明书.md b/操作说明书.md
index 6274298..cce35ae 100644
--- a/操作说明书.md
+++ b/操作说明书.md
@@ -62,6 +62,8 @@ TickFlow A 股智能量化工作台是一套本地优先的 A 股数据分析与
## 2. 安装与启动
+零基础用户可以让本机 AI 编程助手代为部署(见项目 README「快速开始 · 方式 C」);已装 Docker 的用户推荐直接拉取 GHCR 现成镜像(见 2.5),无需本地构建。
+
### 2.1 环境要求
开发模式建议准备:
@@ -109,7 +111,19 @@ cp .env.example .env
默认访问地址与 macOS/Linux 开发模式一致。
-### 2.5 Docker 部署
+### 2.5 GHCR 镜像启动
+
+已安装 Docker 的用户可以直接拉取 GitHub Actions 自动构建的现成镜像,无需克隆代码,也不用本地构建:
+
+```bash
+docker run -d --name tsp -p 3018:3018 -v ${PWD}/data:/app/data ghcr.io/shy3130/tick-stock-panel:latest
+```
+
+启动完成后访问 `http://localhost:3018`。需要配置时,从 `.env.example` 复制出 `.env`,并在命令中追加 `--env-file .env`。
+
+现成镜像默认不含 stock-sdk 插件和老 CPU 兼容内核;有这些需求时请改用 Docker 部署并按 [docs/deployment.md](./docs/deployment.md) 传入构建参数。
+
+### 2.6 Docker 部署
在项目根目录执行:
@@ -138,7 +152,7 @@ docker compose logs -f
Docker 中的 `/app/data` 应映射到宿主机持久化目录。不要仅将数据保存在容器可写层,否则重新创建容器后可能丢失数据。
-### 2.6 停止系统
+### 2.7 停止系统
开发模式可在启动终端中按 `Ctrl+C` 停止。
@@ -1122,9 +1136,16 @@ data/strategies/ai/
## 25. 更新与维护
-### 25.1 Docker 更新
+### 25.1 镜像与 Docker 更新
-更新前先备份,再执行:
+GHCR 镜像启动的用户,备份 `data/` 目录后执行:
+
+```bash
+docker pull ghcr.io/shy3130/tick-stock-panel:latest
+docker rm -f tsp
+```
+
+然后按 2.5 重新执行 `docker run`。Docker Compose 用户更新前先备份,再执行:
```bash
git pull