retire(web): sanguo_web legacy 平行后端归档——用户拍板「代码保留归档,服务删」 [nas]

- git mv sanguo_web → _retired/sanguo_web/(git 历史保全+墓碑 README:
  归档原因/拍板记录/现役=sanguo_api)
- 退出启动面三处: promote.sh ALL_MODS 白名单(15→14 模块)+docker/Dockerfile:63
  COPY+docker/Dockerfile.nas:16 COPY——不可再被部署或启动为服务
- 背景(架构审计 P0-3): 硬编码 SECRET_KEY/admin123 默认口令/CORS 全开/可下
  真实订单/零测试/与 sanguo_api 路由冲突; 生产从未部署为服务, 纯误启动风险
  (README 旧「生产模式 uvicorn sanguo_web」指引已于 f6ca85e 勘误)
- three-env §3.1 模块清单+§12 矩阵行同步; session-guide §5 角色表前端行
  勘误(旧表把 sanguo_web 当前端模块推——实为 legacy 后端, 前端=frontend/)
- 零外部 import(runuweb/tests/packages 全 grep 实证), pytest testpaths=tests
  不受影响

Co-Authored-By: Claude Code <notify@anthropic.com>
This commit is contained in:
2026-10-01 09:46:21 +08:00
parent 1284ce7bd2
commit bf57aed17a
33 changed files with 10 additions and 6 deletions
+6
View File
@@ -0,0 +1,6 @@
# sanguo_web —— ⚠️ 已退役归档(2026-10-01)
> - **归档原因**:legacy 平行后端(07 月),生产从未部署为服务;自带硬编码 SECRET_KEY/admin123 默认口令/CORS 全开/可下真实订单(audit/20261001_architecture_code_audit/ P0-3),与现役 `sanguo_api` 路由路径冲突且零测试。
> - **用户拍板(2026-10-01)**:代码保留归档、服务删除——移出 promote 白名单与 docker COPY 面,确保不可再被启动为服务。
> - **现役后端**:`sanguo_api`(run_web.py 工厂,NAS 容器与 VPS sanguo-api 同款)。
> - 全文见 git 历史(归档 commit 前一版路径=sanguo_web/)。
-1
View File
@@ -60,7 +60,6 @@ RUN pip install --no-cache-dir --upgrade pip -i https://pypi.tuna.tsinghua.edu.c
# 声明装 ≥3.17.9,单装只校验自身依赖可落 3.17.3;vnpy_sqlite 实证兼容)。
# 复制应用代码(包含所有 sanguo 模块)
COPY sanguo_web/ /app/sanguo_web/
COPY vnpy_v4.4.0/vnpy/ /app/vnpy/
COPY sanguo_trader/ /app/sanguo_trader/
COPY sanguo_research/ /app/sanguo_research/
-1
View File
@@ -13,7 +13,6 @@ COPY sanguo_trader/ ./sanguo_trader/
COPY sanguo_research/ ./sanguo_research/
COPY sanguo_data/ ./sanguo_data/
COPY sanguo_common/ ./sanguo_common/
COPY sanguo_web/ ./sanguo_web/
COPY vnpy_v4.4.0/vnpy/ ./vnpy/
COPY config/ ./config/
+1 -1
View File
@@ -103,7 +103,7 @@ ssh 49.232.102.198 'cd C:\sanguo_vnpy_v2 && C:\Python310\python.exe -X utf8 scri
| 角色 | 模块 | 改完怎么推 | 必跑验证 |
|------|------|-----------|----------|
| **前端** | `sanguo_web` | `--module sanguo_web` | Mac `pytest tests/`(无 web 子目录则全量)+ 浏览器看渲染 |
| **前端** | `frontend/`(Vue) | dist 不走 promote(CI 自动 rsync NAS;VPS 见 three-env §13) | Mac `npm run build` + 浏览器看渲染(`sanguo_web`=legacy 后端已归档 `_retired/`,2026-10-01) |
| **后端** | `sanguo_api` | `--module sanguo_api` | Mac `pytest tests/api/` |
| **策略** | `sanguo_portfolio` `sanguo_backtest` | **全量**(多模块) | Mac `pytest tests/portfolio/ tests/backtest/` + NAS 冒烟(Step 3) |
| **数据** | `sanguo_data` `sanguo_common` | `--module sanguo_data` | NAS 冒烟(Step 3)+ **VPS 冒烟(Step 5)** |
+2 -2
View File
@@ -42,7 +42,7 @@ bash scripts/nas_sync/promote.sh
```
推送内容:
- 模块目录(15 个): `sanguo_api sanguo_backtest sanguo_common sanguo_data sanguo_factor sanguo_live sanguo_orchestrator sanguo_portfolio sanguo_qmt_bridge sanguo_research sanguo_trader sanguo_web scripts config tests`
- 模块目录(14 个): `sanguo_api sanguo_backtest sanguo_common sanguo_data sanguo_factor sanguo_live sanguo_orchestrator sanguo_portfolio sanguo_qmt_bridge sanguo_research sanguo_trader scripts config tests`(2026-10-01 起 `sanguo_web` 移出——legacy 平行后端归档至 `_retired/sanguo_web/`,退出 promote 白名单与 docker COPY 面)
- 根文件(4 个): `pyproject.toml pytest.ini requirements-lock.txt run_web.py`
### 3.2 单模块快速补推
@@ -270,7 +270,7 @@ CI `enforce-label` 强制:本次 push 的 commit 必须带 `[vps]`(VPS 运
| 🔴 | `frontend/`(Vue 源码) | VPS 挂 `frontend/dist`(公网前端);vps-deploy.yml 每次自动构建+推送+重启 sanguo-api(§13) |
| 🟡 弱触及 | `sanguo_orchestrator/` | 随 sanguo_api 常驻加载(run_web.py 单进程内存态,app.py 直接 import);VPS 控制台动作可触发,改后同样须重启 sanguo-api |
| 🟡 弱触及 | `requirements-lock.txt` | VPS 手动 pip 装,lock 仅参考 |
| 🟢 | `sanguo_web/`(**legacy 平行后端,不是前端**) | 已退役、任何环境不部署(2026-10-01 架构审计 P0-3 待终裁处置);前端=`frontend/` |
| 🟢 | `sanguo_web/`(**legacy 平行后端,不是前端**) | 已退役归档 `_retired/sanguo_web/`(2026-10-01 用户拍板:代码保留、退出 promote 白名单+docker COPY,不可再启动为服务);前端=`frontend/` |
| 🟢 | `docker/` `Dockerfile` `entrypoint.sh` `.gitea/` | VPS 无 docker |
| 🟢 | `config/`(vnpy_db 等容器 config) | VPS 用 `SANGUO_DB_PATH` env 覆盖(backtest.yaml 仍作种子直推) |
+1 -1
View File
@@ -21,7 +21,7 @@ VPS_CODE='C:/sanguo_vnpy_v2' # scp 目标用正斜杠
ALL_MODS=(sanguo_api sanguo_backtest sanguo_common sanguo_data sanguo_factor
sanguo_live sanguo_orchestrator sanguo_portfolio sanguo_qmt_bridge
sanguo_research sanguo_trader sanguo_web scripts config tests)
sanguo_research sanguo_trader scripts config tests)
ROOT_FILES=(pyproject.toml pytest.ini requirements-lock.txt run_web.py)
# 解析参数: --module <名>(单模块) / --target <nas|vps|all>(目标机器,默认 all)