初始化询价智能体新仓:同步本地工程并排除密钥与 .env。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
linmianxun
2026-09-13 14:30:44 +08:00
co-authored by Cursor
commit 2a14def882
2621 changed files with 393165 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
# 切流目标:新系统取代 `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` 回到现网行为。