# 切流目标:新系统取代 `C:\yutongda`(方案 B) 决策日期:2026-09-12。 运行根(新正式):`E:\wwwroot`(`admin\current` / `agent\current`)。 现网旧根:`C:\yutongda`(切流完成前禁止删、禁止改其 `ops` 指针)。 对照合同:`prompt/13-环境对照.md`。本文件只写**执行顺序与禁区**。 ## 目标态(切完之后) | 项 | 值 | |---|---| | `YTD_ENV` | `prod` | | 运行根 | `E:\wwwroot` | | 主账 | 新 Java 主账(非 Jeecg),端口按切流日约定(可继续 8180 或改回 8080) | | 智能体 HTTP | 合并进程(现 8910,切流后可改挂 8810 或保持 8910 只改 Nginx) | | Worker | 唯一后台进程 | | AIBOT | 仅新桥(现规划 8913);**旧 8813 必须先停** | | 域名 / 企微 | 仍为 `ai.ytd-scm.com` / `1000010`(URL 不用改) | | MySQL / PG / Redis / 桶 | **正式列取值**;新主账**不复用 Jeecg 表结构**,用新库或迁完再切库名 | ## 当前阶段(切流前) 已做:Nginx 回调/`inquiry-form`/`agent/health` → 8910;静态后台 → `E:\wwwroot\admin\current`。 未做:新主账 8180、Worker、真库、Graph/Redis、AIBOT 切流。 **切流前数据必须继续隔离**(新系统资源名:`inquiry_robot` / `inquiry_robot_runtime` / `inquiry_robot:` / 桶 `inquiry_robot`),禁止新进程写 `jeecg-boot` / `ytd_runtime` / `ytd:prod:` / `ytd-inquiry`。 不要再用 `ytd_test*` 命名。 ## 阶段清单 ### P0 — 新正式底座(仍隔离库) 1. 服务器安装 **JDK 17+**(已装:`E:\wwwroot\tools\jdk-17`,Microsoft OpenJDK 17.0.16;环境变量 `JDK17_HOME`。旧 Jeecg 仍用 `C:\yutongda\tools\jdk8`)。 2. 开通/确认新系统库账号:MySQL `inquiry_robot`、PG `inquiry_robot_runtime`、Redis db1 前缀 `inquiry_robot:`、桶 `inquiry-robot`(勿指 `jeecg-boot`)。 - Redis / MinIO 已在应用机配通;MySQL/PG 建库 SQL 在 `E:\wwwroot\ops\sql\`,需数据机管理员执行(现网 `ytd_jeecg` / `ytd_runtime` **无建库权限**)。 3. 部署并常驻:主账 `8180`、智能体 `8910`、Worker;后台静态已在 `admin\current`。 4. 主账:工单六态 + transition API;智能体改打 `BIZ_API_BASE_URL=http://127.0.0.1:8180`。 5. Redis 队列/幂等、PG checkpoint 接通。 6. 业务验收:建单 → 补问 → 报价 → 六态,不依赖旧 Jeecg 写路径。 ### P1 — 切流日(取代现网进程) 须单独批准。失败则按现网流程回滚 `ai.conf` 与进程。 1. 备份:`ai.conf`、`E:\wwwroot\ops\active-release.json`、现网 `C:\yutongda\ops\active-release*.json`。 2. `.env` 改为 `YTD_ENV=prod`;库/Redis/桶继续用 `inquiry_robot*`(或甲方最终正式名);去掉告警 `[test]`。 3. Nginx:`/jeecgboot` 指到**新主账**(勿再指旧 8080,除非回滚)。 4. 停现网:旧智能体相关(8810 等)、**先停 8813**,再起新 AIBOT `8913` 并 `WECOM_AIBOT_ENABLED=true`。 5. 确认 8080 旧 Jeecg:按产品决定停或只读保留;**新后台只打新主账**。 6. 冒烟:企微收发、后台登录、建单、六态、健康检查。 7. 观察期后再处理旧目录归档(不要当天直接删 `C:\yutongda`)。 ### P2 — 收尾 - TMS lock/release 按产品打开。 - 旧 release / 旧库只读归档。 - 发布脚本只写 `E:\wwwroot`,不再用现网累计发布器切活动指针。 ## 硬禁止(直到 P1 批准) - 新主账 / 智能体连接 `jeecg-boot`、`ytd_runtime`、Redis `/0` + `ytd:prod:`、桶 `ytd-inquiry` - 与现网 **同时** 连接同一 AIBOT 长连接 - 删除或改写 `C:\yutongda\ops` 活动指针 - 把半成品 `YTD_ENV=prod` 却仍混用旧现网库密钥 ## 回滚(P1 失败) 1. `ai.conf` 恢复切流前备份;硬重启 Nginx(避免 BOM / 卡死的 Restart-Service)。 2. 停 `E:\wwwroot` 新进程中已接管的部分;拉起现网对应进程。 3. 确认 `https://ai.ytd-scm.com/wecom/callback` 回到现网行为。