Forráskód Böngészése

chore(env): 新增 VITE_CHAT_TARGET 与 VITE_CHAT_SESSION_JSON_DIR

用户给了一个新路径 /data/dms/dms_upload/yszs(后端存放会话信息 JSON 的目录),
并要求把后端地址收进环境变量。仓库与 DMS 项目里此前都没有 dms_upload 的任何引用。

- .env.development 新增:
  · VITE_CHAT_TARGET="http://192.168.2.23:8000" —— 聊天后端真实地址。
    dev 下 VITE_CHAT_API 只是代理前缀 /chat-api,真实地址此前**硬编码在
    vite.config.ts 里**,现改为读这个变量(vite.config 保留同值兜底)
  · VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"
- .env.production / .env.qingpu / .env.test 各加 VITE_CHAT_SESSION_JSON_DIR(值相同)
- docs/architecture.md 环境变量表补上两个变量,并写明「地址往 env 放、别写死在代码里」

⚠️ 两点如实说明:
1. 我把 /data/dms/dms_upload/yszs 按字面当作 **URL 路径**接在后端地址之后
   (http://192.168.2.23:8000/data/dms/dms_upload/yszs)。若 /data/dms/ 其实是
   服务器文件系统前缀、对外路径是别的,改一行即可。
2. VITE_CHAT_SESSION_JSON_DIR 目前**没有消费方**(前端还没有读会话 JSON 的功能),
   只作约定记录——已在变量注释与架构文档里写明,避免误以为它在起作用。

验证:npm run build 通过;dev 代理实测未被改坏(首页 200,经 /chat-api/api/chat
打真实后端返回 200 而非 502);四份 env 逐一核对。

Co-Authored-By: Claude Code <noreply@anthropic.com>
gongtianxiao 3 napja
szülő
commit
0caf1ae051
8 módosított fájl, 70 hozzáadás és 1 törlés
  1. 7 0
      .env.development
  2. 4 0
      .env.production
  3. 4 0
      .env.qingpu
  4. 4 0
      .env.test
  5. 6 0
      README.md
  6. 6 0
      harness/docs/architecture.md
  7. 37 0
      harness/progress.md
  8. 2 1
      vite.config.ts

+ 7 - 0
.env.development

@@ -38,6 +38,13 @@ VITE_PARENT_ORIGIN = 'https://192.168.14.50:5174'
 # 开发环境走 vite 同源代理(见 vite.config.ts 的 /chat-api/),
 # 避免 HTTPS 页面直连 HTTP 后端被浏览器拦截,同时绕开后端未实现 CORS 的问题
 VITE_CHAT_API="/chat-api"
+# 聊天后端真实地址。dev 走同源代理(VITE_CHAT_API 是代理前缀,见 vite.config.ts),
+# 代理的 target 从**这个变量**读,不再硬编码在 vite.config.ts 里
+VITE_CHAT_TARGET="http://192.168.2.23:8000"
+# 后端存放「会话信息 JSON」的目录。
+# 完整地址 = {VITE_CHAT_TARGET}{VITE_CHAT_SESSION_JSON_DIR}(生产则接在 VITE_CHAT_API 之后)
+# ⚠️ 目前仅作约定记录,前端尚无消费方;等对接会话 JSON 时从这里取,不要再写死
+VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"
 
 # DMS 数据管理服务(会话/问答记录/反馈的落地库)
 # 走 vite 同源代理:HTTPS 页面直连 http:// 的 DMS 会被浏览器按混合内容拦截,

+ 4 - 0
.env.production

@@ -14,3 +14,7 @@ VITE_USE_KNOWLEDGE_API=true
 # 新版聊天协议后端(POST /api/chat,SSE),直连模式
 # 生产部署时请改为实际后端地址(当前为内网测试地址)
 VITE_CHAT_API="http://192.168.2.23:8000"
+
+# 后端存放「会话信息 JSON」的目录(完整地址接在 VITE_CHAT_API 之后)
+# ⚠️ 目前仅作约定记录,前端尚无消费方
+VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"

+ 4 - 0
.env.qingpu

@@ -14,4 +14,8 @@ VITE_MODEL_SERVER="https://qingpu-data-api.metamaker.cn/llms/qingpu"
 VITE_USE_KNOWLEDGE_API=true
 VITE_ASSISTANT_STATISTICS_BASE_URL=https://qingpu-data-api.metamaker.cn/
 VITE_CHAT_API="http://192.168.2.23:8000"
+
+# 后端存放「会话信息 JSON」的目录(完整地址接在 VITE_CHAT_API 之后)
+# ⚠️ 目前仅作约定记录,前端尚无消费方
+VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"
 VITE_REDIRECT_MAP={"demo":"https://demo.heijingai.com/FTA-c2p/%23/overview","zhaoshang":"https://demo.heijingai.com/policy-application/%23/"}

+ 4 - 0
.env.test

@@ -11,3 +11,7 @@ VITE_USE_KNOWLEDGE_API=false
 VITE_POLICY_LOCAL_FIRST="false"
 # 新版聊天协议后端(POST /api/chat,SSE),直连模式
 VITE_CHAT_API="http://192.168.2.23:8000"
+
+# 后端存放「会话信息 JSON」的目录(完整地址接在 VITE_CHAT_API 之后)
+# ⚠️ 目前仅作约定记录,前端尚无消费方
+VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"

+ 6 - 0
README.md

@@ -169,3 +169,9 @@
   - 新增回归脚本:`verify-chat-task-utils.mjs`(33 项,含把「响应式容器破坏对象同一性」
     这个陷阱钉死的断言)、`verify-coordinator-multi-instance.mjs`
     (11 项,验证多实例事件隔离——并行化的地基)
+- 环境变量整理:**地址类配置收进 env,不再写死在代码里**
+  - 新增 `VITE_CHAT_TARGET`(聊天后端真实地址)——此前它硬编码在 `vite.config.ts` 的
+    代理配置里;现由 `vite.config.ts` 从 env 读取(保留同值兜底)
+  - 新增 `VITE_CHAT_SESSION_JSON_DIR`(后端存放会话信息 JSON 的目录,
+    `/data/dms/dms_upload/yszs`,挂在聊天后端地址之后)。**目前仅作约定记录,
+    前端尚无消费方**,将来对接时从这里取

+ 6 - 0
harness/docs/architecture.md

@@ -107,5 +107,11 @@ src/
 |---|---|
 | `VITE_API` | 主业务 API 网关 |
 | `VITE_CHAT_API` | 对话接口。服务前缀(`/chat-api`、`http://host:8000`)会自动追加 `/api/chat`;已是完整地址则原样使用 |
+| `VITE_CHAT_TARGET` | **聊天后端真实地址**(仅 dev 用)。`VITE_CHAT_API` 在开发环境是代理前缀 `/chat-api`,代理的 target 从本变量读(见 `vite.config.ts`),**不再硬编码在配置文件里** |
+| `VITE_CHAT_SESSION_JSON_DIR` | 后端存放「**会话信息 JSON**」的目录(当前 `http://192.168.2.23:8000` 上的 `/data/dms/dms_upload/yszs`)。完整地址 = `{后端地址}{该路径}`。⚠️ 目前**仅作约定记录,前端尚无消费方**;将来对接时从这里取,别再写死 |
+| `VITE_DMS_API` / `VITE_DMS_TARGET` | DMS 数据服务(会话/问答记录/反馈落地)。dev 走 `/dms-api` 代理、token 由代理注入,见 `vite.config.ts` |
 | `VITE_MODEL_SERVER` | 模型服务 |
 | `VITE_ASR` / `VITE_STREAM_SERVER` | 语音识别 / 流媒体 |
+
+> 📌 **地址往 env 里放、不要写死在代码里**:`VITE_DMS_TARGET` 与 `VITE_CHAT_TARGET`
+> 都是为此加的。vite.config.ts 里保留同值兜底,但优先读 env。

+ 37 - 0
harness/progress.md

@@ -28,6 +28,43 @@
 
 ## 会话记录
 
+## Session 032
+
+- **日期**:2026-09-17
+- **本轮目标**:用户要求「修改环境变量」——新增后端存放会话 JSON 的路径
+  `/data/dms/dms_upload/yszs`,并说明后端地址是 `http://192.168.2.23:8000`
+- **背景(问清后才动手)**:仓库与 DMS 项目里**都没有** `dms_upload` 的任何引用,
+  是全新信息。问了两个问题才定清楚:①用途 = **后端存放会话信息 JSON 的目录**;
+  ②形态 = 前缀是后端地址(`http://192.168.2.23:8000`)
+- **已完成**:
+  - `.env.development` 新增两个变量:
+    - `VITE_CHAT_TARGET="http://192.168.2.23:8000"` —— **聊天后端真实地址**。
+      dev 下 `VITE_CHAT_API` 只是代理前缀 `/chat-api`,真实地址此前**硬编码在
+      `vite.config.ts` 里**;现改为读 env
+    - `VITE_CHAT_SESSION_JSON_DIR="/data/dms/dms_upload/yszs"`
+  - `.env.production` / `.env.qingpu` / `.env.test` 各加 `VITE_CHAT_SESSION_JSON_DIR`
+    (值相同,后端同一个)
+  - `vite.config.ts` 的 `/chat-api/` 代理 target 改读 `env.VITE_CHAT_TARGET`(保留同值兜底)
+  - `docs/architecture.md` 环境变量表补上两个新变量,并写明「地址往 env 放、别写死在代码里」
+- **运行过的验证**:
+  - `npm run build` 通过
+  - **dev 代理实测未被改坏**:`npm run dev`(用户已在跑的 8083,vite 检测到 config 变更自动重启)
+    → 首页 200;经 `/chat-api/api/chat` 打真实后端 → **http=200**(不是 502)
+  - 四份 env 逐一核对,变量与注释都正确落位
+- **已记录证据**:本文件 Session 032;`.env.*` 与 `vite.config.ts` 的改动;
+  `docs/architecture.md` 的环境变量表
+- **更新过的文件或工件**:`.env.development`、`.env.production`、`.env.qingpu`、`.env.test`、
+  `vite.config.ts`、`harness/docs/architecture.md`、根 `README.md`、本文件
+- **已知风险或未解决问题**:
+  - ⚠️ **有一处我按字面理解写、需要用户确认**:把 `/data/dms/dms_upload/yszs` 当作
+    **URL 路径**直接接在后端地址之后(`http://192.168.2.23:8000/data/dms/dms_upload/yszs`)。
+    如果 `/data/dms/` 其实是**服务器上的文件系统前缀**、对外访问路径是别的
+    (例如 `http://192.168.2.23:8000/dms_upload/yszs`),告诉我改一行即可
+  - ⚠️ `VITE_CHAT_SESSION_JSON_DIR` 目前**没有消费方**(前端还没有读会话 JSON 的功能),
+    只作约定记录——已在变量注释与架构文档里写明,避免以后有人以为它在起作用
+- **下一步最佳动作**:确认上面那条路径理解是否正确;若将来前端要读会话 JSON,
+  从 `VITE_CHAT_SESSION_JSON_DIR` 取,不要另写死地址
+
 ## Session 031
 
 - **日期**:2026-09-17

+ 2 - 1
vite.config.ts

@@ -43,8 +43,9 @@ export default defineConfig(({ mode }) => {
         // 开发服务器是 HTTPS 而后端是 HTTP,浏览器会拦截直连(混合内容),
         // 且后端未实现 CORS,因此开发环境统一走同源代理。
         // 对应 .env.development 中 VITE_CHAT_API="/chat-api"
+        // target 取 VITE_CHAT_TARGET(地址收在 env 里,不再写死在配置文件中)
         "/chat-api/": {
-          target: "http://192.168.2.23:8000",
+          target: env.VITE_CHAT_TARGET || "http://192.168.2.23:8000",
           changeOrigin: true,
           rewrite: (path) => path.replace(/^\/chat-api/, ""),
         },