55 lines
4.5 KiB
Markdown
55 lines
4.5 KiB
Markdown
# 139 · 品牌中文名:能力枢纽 → **能力网络**
|
||||
|
|
|
|||
|
|
- 日期:2026-09-19
|
|||
|
|
- 状态:✅ **已上线**(静态资源直覆,无需重启;页面与接口双端实测)
|
|||
|
|
- 触发(用户口径,原话):「**把页面上的能力枢纽 改为能力网络**」(同轮先说过「能力领域」,随即更正为「能力网络」)
|
|||
|
|
- 上游:档案 **137**(品牌标识去 DeepSeek 图形,定名「能力枢纽」)—— 本档**只改名,不动结构**
|
|||
|
|
- 落点:`web/i18n.js`、`web/admin.html`、`web/favicon.svg`、`web/design.css`(注释)、`test/i18n-brand.test.mjs`
|
|||
|
|
|
|||
|
|
> **TL;DR**|中文品牌名 **「能力枢纽」→「能力网络」**;**其他语言不变**(仍 `CapabilityNet`,
|
|||
|
|
> 走 `en` 词条 = 所有其他语言的回退)。改名落在**四处**:i18n 的中文词条、`admin.html` 顶栏文字、
|
|||
|
|
> **`favicon.svg` 的 `<title>` 与 `aria-label`**(浏览器标签页/读屏可见 —— 最容易漏)、`design.css` 注释。
|
|||
|
|
> 回归测试与 `verify-static`(含 SVG 真解析)全绿;线上 4 文件两端 md5 一致。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一、为什么改这几处(判据:**用户可见面**,不是"字符串出现即改")
|
|||
|
|
|
|||
|
|
| 落点 | 是否用户可见 | 处置 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `web/i18n.js` 的 `zh` 表 `brand.name` | ✅ 登录 / 注册 / 唤醒 / 工作台页头 | **改** 为 `能力网络` |
|
|||
|
|
| `web/i18n.js` 的 `en` 表 `brand.name` | ✅ 其他语言**全靠它回退** | **不动**(仍是 `CapabilityNet`) |
|
|||
|
|
| `web/admin.html` 顶栏 `<span class="wordmark">` | ✅ 管理页页头(该页纯中文、未接 i18n) | **改** |
|
|||
|
|
| `web/favicon.svg` 的 `<title>` / `aria-label` | ✅ 标签页提示 / 读屏 | **改** —— 只 grep 改 `.html/.js` 会漏掉它(本轮第一版就漏了) |
|
|||
|
|
| `web/design.css` 第 53 行注释 | ❌ 不可见,但**写的是现行事实** | 顺手更正(留着会误导下一个人) |
|
|||
|
|
| `test/i18n-brand.test.mjs` | — 测试断言 | 六条语言路径的期望值同步 |
|
|||
|
|
| 档案 137 / 本档引用的历史记述 | — | **不改历史**(137 保持原样,仅由 TOP 指针指过来) |
|
|||
|
|
|
|||
|
|
## 二、验证
|
|||
|
|
|
|||
|
|
| 项 | 结果 |
|
|||
|
|
|---|---|
|
|||
|
|
| 品牌回归测试 | `test/i18n-brand.test.mjs` **2/2 通过**(中文三条路径 = 能力网络;英文与未支持语言 = CapabilityNet) |
|
|||
|
|
| 静态校验 | `verify-static.mjs` 全合格(含 `favicon.svg` 段) |
|
|||
|
|
| SVG 真解析 | `xml.etree.ElementTree.parse('web/favicon.svg')` = **OK**(⚠️ 137 那次踩过"注释含 `--` 导致整份 SVG 静默失效",本档只改文本节点,仍逐次复验) |
|
|||
|
|
| 旧名残留 | `grep -rn 能力枢纽\|能力领域 web/ test/ scripts/ poc/ src/` ⇒ **仅剩 i18n 注释里一句"此前用过哪个名"的留痕**(有意保留) |
|
|||
|
|
| 线上 | 4 文件(`admin.html` / `i18n.js` / `design.css` / `favicon.svg`)本机 ↔ `/opt/dshs/web/` **md5 逐一致**;回滚点 `/opt/dsh/backups/seq138-web-20260919-125345/`(4 个旧文件) |
|
|||
|
|
| 零回归 | 全量 `npm test` **226 / 225 pass / 0 fail / 1 skipped** |
|
|||
|
|
|
|||
|
|
## 三、两个执行细节(都是既有经验的重用,不是新坑)
|
|||
|
|
|
|||
|
|
1. **行尾按"目标目录既有风格"逐文件对齐**(⛔ 不按 HEAD 判):服务器 `web/` 目录实测
|
|||
|
|
`admin.html = CRLF` / `design.css = CRLF` / `i18n.js = LF` / `favicon.svg = LF` ⇒ 推 `admin.html` 前先用
|
|||
|
|
脚本转 CRLF 并断言 `CR 数 == 行数`(本机工作树是 LF,直接 scp 会把整文件行尾翻掉)。
|
|||
|
|
2. **改 i18n 的"改名类"改动必须配断言**:品牌词条漏配/写错是**静默失败**(中文用户看到英文名),
|
|||
|
|
所以 `test/i18n-brand.test.mjs` 用 `node:vm` 跑**仓库里那份真实 `i18n.js`**,断言六条语言解析路径的
|
|||
|
|
实际渲染结果 —— 本轮把期望值从「能力枢纽」改为「能力网络」,跑通即证。
|
|||
|
|
|
|||
|
|
## 四、未做 / 待办
|
|||
|
|
|
|||
|
|
1. 🔴 **`alotbuy.com` 的旧域页面仍会显示旧名?** 不会 —— 旧域已降级为 301 过渡装置(档案 135),
|
|||
|
|
页面由同一份 `/opt/dshs/web/` 直出 ⇒ 旧域访客看到的也是新名。
|
|||
|
|
2. ⚠️ **会话页面左上角**(用户实例内的 dsh 会话窗口)不属本仓 `web/`,由官方 `@deepseek-ai/dsh` 的 client bundle
|
|||
|
|
渲染、受 **R2** 约束 ⇒ 本档不涉及(与档案 137 的范围声明一致)。
|
|||
|
|
3. ⚠️ **词条语义澄清**:用户曾提到「小写 CapabilityNet」;本档按「中文=能力网络/其他语言=CapabilityNet」实现。
|
|||
|
|
若原意是"再加一行小写英文",改动量 = `i18n.js` 一处 + `design.css` 一行(⛔ 不碰 HTML)。
|