Procházet zdrojové kódy

chore: 清理项目——删掉无人读取的 env、重复定义、空目录与构建分析产物

用户要求「先帮我清理下当前项目」。先审计(逐个 env 反查谁在读、扫重复定义、
扫未引用文件/空目录)再动手,不是凭印象删。

删除:
- 5 个无人读取的 env 变量(四份 env 共 17 行):VITE_STREAM_SERVER、VITE_STREAM_TOKEN
  (含两个入库凭据)、VITE_HUMAN_IDLE_MP4_URL、VITE_PLUGIN_URL、VITE_PLUGIN_ASR
  —— 都是数字人/插件那条从未接入本项目前端的链路的遗留
- .env.development 里 VITE_ASR / VITE_XF_ASR 的重复定义(合并成一份)
- vite 的 /stream/ 代理(无代码使用);/asr/ 保留(讯飞退路)
- 空目录 public/images、public/pencil_exports;构建分析产物 stats.html(968K)

⚠️ 过程中我犯了一个错并当场修正:合并重复 env 时脚本保留了第一份,
但 .env 的语义是「后定义的生效」——于是 VITE_ASR 被改成原本的死值
(wss://human-screen-v3...),会弄坏语音识别。核对 diff 时发现,
已把保留行改回正确生效值(https://qingpu-data-api.metamaker.cn 与 /asr)。
教训:合并重复配置前先确认哪一份生效。

刻意保留(附理由):three-libs/asr(语音识别,在用)、VITE_XF_ASR + /asr 代理(切引擎退路)、
stream-message-coordinator.ts(架构文档明确保留)、PolicyListUpdatedMatch.vue(老历史可能触发)、
dist/(部署产物)。

验证:npm run build 通过;被删变量在代码里零命中;dev server 实测 8083 首页 200、
/chat-api 打真实后端 200(env 缩减后没坏);validate-harness 通过。

Co-Authored-By: Claude Code <noreply@anthropic.com>
gongtianxiao před 2 dny
rodič
revize
5c1d54d3a5
7 změnil soubory, kde provedl 56 přidání a 37 odebrání
  1. 2 17
      .env.development
  2. 0 4
      .env.production
  3. 0 2
      .env.qingpu
  4. 0 4
      .env.test
  5. 7 0
      README.md
  6. 44 0
      harness/progress.md
  7. 3 10
      vite.config.ts

+ 2 - 17
.env.development

@@ -4,22 +4,10 @@ VITE_VERSION=${npm_package_version}
 # VITE_API="//fifth-hospital.test.metamaker.cn"
 # VITE_ASR="wss://fifth-hospital.test.metamaker.cn"
 VITE_API="//qingpu-data-api.metamaker.cn"
-VITE_ASR="wss://human-screen-v3.metamaker.cn"
-VITE_XF_ASR="https://open.metamaker.cn"
+VITE_ASR="https://qingpu-data-api.metamaker.cn"
+VITE_XF_ASR="/asr"
 VITE_APP_KEY="e61a4f61170a4b2f8f88ee946e2e635b"
-# VITE_STREAM_SERVER="192.168.15.184:19999"
-VITE_STREAM_SERVER="//flv-enc.test.metamaker.cn"
-VITE_HUMAN_IDLE_MP4_URL="https://img.metamaker.cn/flv_generated_videos/a5c13fcc6339fae8a0492f60480ca03c.mp4"
-VITE_STREAM_TOKEN="AW+eef97275de3740efad56300cf601eca2%3AMTczOTk1NjkzMzocw1%2F%2BDrD8OqaznNbK0mTFh6mQ75paDgztknq1PFq6UQ%3D%3D"
 VITE_MODEL_SERVER="https://qingpu-data-api.metamaker.cn/llms/qingpu"
-VITE_STREAM_SERVER="//flv-enc.metamaker.cn"
-VITE_STREAM_TOKEN="AW+11d70e17340143ac9ecbfd15c16bd4b9%3AMTczOTk1NjQ5OTp6PtY%2FSQyU2jrPXUEiDyPCEcQWsgq2WEFvz7eIAnJ3sQ%3D%3D"
-
-VITE_PLUGIN_URL = //human-card-mini.metamaker.cn/open
-VITE_PLUGIN_ASR = wss://human-card-mini.metamaker.cn/open
-
-
-
 
 # VITE_API="/api"
 VITE_USE_KNOWLEDGE_API=true
@@ -29,9 +17,6 @@ VITE_DOWNLOAD_URL="https://qingpu-data-api.metamaker.cn/llm/download/"
 # 表现为详情面板的「政策名称」是纯文本、点不开;本地这份 261/262 有该字段。
 # 仅开发环境打开(见 index.html),生产仍远端优先
 VITE_POLICY_LOCAL_FIRST="true"
-VITE_ASR="https://qingpu-data-api.metamaker.cn"
-VITE_XF_ASR="/asr"
-VITE_STREAM_SERVER="/stream"
 VITE_PARENT_ORIGIN = 'https://192.168.14.50:5174'
 
 # 新版聊天协议后端(POST /api/chat,SSE)

+ 0 - 4
.env.production

@@ -1,13 +1,10 @@
 VITE_VERSION=${npm_package_version}
 VITE_API="//qingpu-data-api.metamaker.cn"
 VITE_ASR="wss://qingpu-data-api.metamaker.cn"
-VITE_STREAM_SERVER="//flv-enc.metamaker.cn"
-VITE_HUMAN_IDLE_MP4_URL="https://img.metamaker.cn/flv_generated_videos/a5c13fcc6339fae8a0492f60480ca03c.mp4"
 VITE_DOWNLOAD_URL="https://qingpu-data-api.metamaker.cn/llm/download/"
 # 政策库来源顺序:false = 远端优先、本地兜底(见 index.html)
 VITE_POLICY_LOCAL_FIRST="false"
 VITE_APP_KEY="e61a4f61170a4b2f8f88ee946e2e635b"
-VITE_STREAM_TOKEN="AW+11d70e17340143ac9ecbfd15c16bd4b9%3AMTczOTk1NjQ5OTp6PtY%2FSQyU2jrPXUEiDyPCEcQWsgq2WEFvz7eIAnJ3sQ%3D%3D"
 VITE_PARENT_ORIGIN = 'https://aixq.shqp.gov.cn/'
 VITE_MODEL_SERVER="https://qingpu-data-api.metamaker.cn/llms/qingpu"
 VITE_USE_KNOWLEDGE_API=true
@@ -15,7 +12,6 @@ VITE_USE_KNOWLEDGE_API=true
 # 生产部署时请改为实际后端地址(当前为内网测试地址)
 VITE_CHAT_API="http://192.168.2.23:8000"
 
-
 # 取 OSS 上传签名的接口(当前为厂商 metamaker 提供,实测无需鉴权)。
 # 换自建签名服务时只改这里(见 harness/docs/reference/current-api-call-sites.md)
 VITE_UPLOAD_SIGN_URL="//qingpu-data-api.metamaker.cn/common/qp_signed_url"

+ 0 - 2
.env.qingpu

@@ -3,12 +3,10 @@ VITE_API="//qingpu-data-api.metamaker.cn"
 # VITE_ASR="/asr"
 VITE_ASR="wss://qingpu-data-api.metamaker.cn"
 VITE_XF_ASR="/asr"
-VITE_STREAM_SERVER="/stream"
 VITE_DOWNLOAD_URL="/api/download/"
 # 政策库来源顺序:false = 远端优先、本地兜底(见 index.html)
 VITE_POLICY_LOCAL_FIRST="false"
 VITE_APP_KEY="e61a4f61170a4b2f8f88ee946e2e635b"
-VITE_STREAM_TOKEN="AW+11d70e17340143ac9ecbfd15c16bd4b9%3AMTczOTk1NjQ5OTp6PtY%2FSQyU2jrPXUEiDyPCEcQWsgq2WEFvz7eIAnJ3sQ%3D%3D"
 VITE_PARENT_ORIGIN = 'https://aixq.shqp.gov.cn/'
 VITE_MODEL_SERVER="https://qingpu-data-api.metamaker.cn/llms/qingpu"
 VITE_USE_KNOWLEDGE_API=true

+ 0 - 4
.env.test

@@ -2,17 +2,13 @@ VITE_VERSION=${npm_package_version}
 VITE_API="//human-card-mini.metamaker.cn"
 # VITE_ASR="wss://human-screen-v3.test.metamaker.cn"
 VITE_ASR="https://qingpu-data-api.metamaker.cn"
-VITE_STREAM_SERVER="//flv-enc.test.metamaker.cn"
-VITE_HUMAN_IDLE_MP4_URL="https://img.metamaker.cn/flv_generated_videos/a5c13fcc6339fae8a0492f60480ca03c.mp4"
 VITE_APP_KEY="e61a4f61170a4b2f8f88ee946e2e635b"
-VITE_STREAM_TOKEN="AW+eef97275de3740efad56300cf601eca2%3AMTczOTk1NjkzMzocw1%2F%2BDrD8OqaznNbK0mTFh6mQ75paDgztknq1PFq6UQ%3D%3D"
 VITE_USE_KNOWLEDGE_API=false
 # 政策库来源顺序:false = 远端优先、本地兜底(见 index.html)
 VITE_POLICY_LOCAL_FIRST="false"
 # 新版聊天协议后端(POST /api/chat,SSE),直连模式
 VITE_CHAT_API="http://192.168.2.23:8000"
 
-
 # 取 OSS 上传签名的接口(当前为厂商 metamaker 提供,实测无需鉴权)。
 # 换自建签名服务时只改这里(见 harness/docs/reference/current-api-call-sites.md)
 VITE_UPLOAD_SIGN_URL="//qingpu-data-api.metamaker.cn/common/qp_signed_url"

+ 7 - 0
README.md

@@ -169,6 +169,13 @@
   - 新增回归脚本:`verify-chat-task-utils.mjs`(33 项,含把「响应式容器破坏对象同一性」
     这个陷阱钉死的断言)、`verify-coordinator-multi-instance.mjs`
     (11 项,验证多实例事件隔离——并行化的地基)
+- 清理项目(用户要求):
+  - 删掉 **5 个无人读取的 env 变量**(`VITE_STREAM_SERVER` / `VITE_STREAM_TOKEN` /
+    `VITE_HUMAN_IDLE_MP4_URL` / `VITE_PLUGIN_URL` / `VITE_PLUGIN_ASR`)——数字人与插件那条
+    **从未接入本项目前端**的链路的遗留;其中两个还是入库的凭据
+  - 合并 `.env.development` 里重复定义的 `VITE_ASR` / `VITE_XF_ASR`(**后定义的才生效**)
+  - 删掉无代码使用的 vite `/stream/` 代理(`/asr/` 保留,是切讯飞 ASR 的退路)
+  - 删掉空目录 `public/images`、`public/pencil_exports` 与构建分析产物 `stats.html`
 - **恢复上传图片/附件功能**(此前因新协议只收两个字段而挂起):
   - 采用「把 OSS 地址拼进 `question` 文本」的方案(用户拍板,**不需要后端配合**)
   - 关键:`sendMessage` 拆成两个变量——发给后端的 `questionForBackend`(含附件地址)与

+ 44 - 0
harness/progress.md

@@ -2033,3 +2033,47 @@
   - ⚠️ 上传的图片/附件存放在**厂商的 OSS bucket**(数据在第三方)
 - **下一步最佳动作**:浏览器实测整条链路;并确认后端能否识别拼接的 URL
 
+## Session 050
+
+- **日期**:2026-09-18
+- **本轮目标**:用户要求「先帮我清理下当前项目」
+- **先做了审计再动手**(不凭印象删):
+  - 逐个 env 变量反查「谁在代码里读」→ 找出**5 个无人读的**
+  - 扫重复定义 → `.env.development` 里 4 个变量定义多次
+  - 扫未引用文件 / 空目录 / 构建产物
+- **已删除**:
+  1. **5 个无人读的 env 变量**(四份 env 里共删 17 行):
+     `VITE_STREAM_SERVER`、`VITE_STREAM_TOKEN`(含**两个凭据**)、
+     `VITE_HUMAN_IDLE_MP4_URL`、`VITE_PLUGIN_URL`、`VITE_PLUGIN_ASR`
+     —— 都是数字人/插件那条**从未接入本项目前端**的链路的遗留
+  2. **`.env.development` 的重复定义**:`VITE_ASR`、`VITE_XF_ASR` 各定义两次,合并成一份
+  3. **vite 的 `/stream/` 代理**(无代码使用);**`/asr/` 代理保留**(讯飞退路的一部分)
+  4. **两个空目录** `public/images`、`public/pencil_exports`
+  5. **`stats.html`**(968K,rollup visualizer 的分析产物,`npm run build` 会重新生成)
+- **⚠️ 过程中我自己犯了一个错并当场修正**:合并重复 env 时,我的脚本保留了**第一份**,
+  但 `.env` 的语义是**后定义的生效** —— 于是 `VITE_ASR` 被改成了原本的死值
+  (`wss://human-screen-v3...`),会**弄坏语音识别**。核对 diff 时发现,已把保留的那两行
+  改回正确的生效值(`https://qingpu-data-api.metamaker.cn` 与 `/asr`)。
+  **教训:合并重复配置前要确认哪一份生效(.env 是后者覆盖前者)。**
+- **刻意保留(没删,附理由)**:
+  - `src/three-libs/asr/` —— **语音识别,在用**(用户明确「先用原来的」)
+  - `VITE_XF_ASR` + vite `/asr/` 代理 —— 切引擎的**退路**(与 ASR 那个决定配套)
+  - `src/components/stream-message-coordinator.ts` —— 架构文档明确「保留未用,勿改」
+  - `PolicyListUpdatedMatch.vue` —— 老会话历史里可能仍有 `<policy-list-updated>` 块
+  - `dist/`(3.1M)—— 是**部署产物**,不是垃圾;要删另说
+- **运行过的验证**:
+  - `npm run build` 通过
+  - 关键功能自检:`VITE_ASR` 生效值正确、`VITE_XF_ASR=/asr` 与代理保留、
+    上传签名地址在、政策库 json 在
+  - 残留检查:5 个被删变量在代码里**零命中**(`vite.config.ts` 里那 3 处是我写的说明注释)
+  - **dev server 实测**:8083 首页 200、`/chat-api` 打真实后端 200(env 缩减后没坏)
+  - `validate-harness` 通过
+- **已记录证据**:本文件 Session 050;上面的审计与自检输出
+- **更新过的文件或工件**:四份 `.env.*`、`vite.config.ts`、根 `README.md`、本文件
+  (删除:`stats.html`、`public/images/`、`public/pencil_exports/`)
+- **已知风险或未解决问题**:
+  - ⚠️ 被删的凭据(`VITE_STREAM_TOKEN`)**仍在 git 历史里**;它们是数字人流的 token,
+    现无代码使用,但若安全要求彻底清除需重写历史
+  - ⚠️ `dist/` 未删(部署产物),要腾空间可自行删
+- **下一步最佳动作**:无(本轮为清理);上传功能的浏览器实测仍待做
+

+ 3 - 10
vite.config.ts

@@ -67,16 +67,9 @@ export default defineConfig(({ mode }) => {
           rewrite: (path) => path.replace(/^\/asr/, ""), //重写路径
           ws: true,
         },
-        "/stream/": {
-          //匹配的路径
-          target: "https://flv-enc.metamaker.cn", //目标url
-          changeOrigin: true, //跨域
-          rewrite: (path) => path.replace(/^\/stream/, ""), //重写路径
-          ws: true,
-          headers: {
-            Connection: "keep-alive",
-          },
-        },
+        // [已移除] "/stream/" 代理(数字人视频流):src/index.html 里没有任何代码往它发请求,
+        // 相关 env(VITE_STREAM_SERVER / VITE_STREAM_TOKEN / VITE_HUMAN_IDLE_MP4_URL)也已删除。
+        // 注意 "/asr/" 代理**保留** —— 它是切到讯飞 ASR 分支(VITE_XF_ASR="/asr")的退路。
       },
     },
     build: {