Skip to content

dsh-remote v0.8.32 — GitHub Pages 站点改为中文优先,并修掉站点里与代码不符的事实错误

Choose a tag to compare

@flymysql flymysql released this 30 Sep 07:58
· 234 commits to main since this release

GitHub Pages 站点改为中文优先,并修掉站点里与代码不符的事实错误

🟢 站点默认中文:插件主页与用量看板都以中文渲染(中文写在 HTML 骨架里,禁用 JS 也是中文,不会闪英文),右上角可切 中文 / EN。同时修掉站点上一批会误导用户的错误:4 个工具名不存在(写成了 rw_workspace/rw_list/rw_read/rw_write,真名是 rw_pick_workspace/rw_list_dir/rw_read_file/rw_write_file)、auditLog 默认值写错(应为 true)。

升级方式

dsh plugin --profile web add dsh-remote@latest

纯文档/站点变更,不升级也能继续用;升级后你去看站点时内容才准确。

本版变更

GitHub Pages 站点改为中文优先,并修掉站点里与代码不符的事实错误

中文优先(与仓库首页切换为中文化的口径一致):

  • 两个页面(插件主页 / 与用量看板 /stats/)现在默认中文。
    中文写在 HTML 骨架里,不是靠脚本注入 —— 因此禁用 JS 或首屏那一刻就是中文,
    不会闪英文(<html lang="zh-CN">)。
  • 右上角提供 中文 / EN 切换,选择存 localStorage;只有显式选过 EN 才用英文。
  • 图表内嵌文案(柱图 tooltip、分布表头、空态提示)也随语言切换重绘。

修掉两处站点的真错误(站点等于第二份产品说明,会和代码漂移):

  • 4 个工具名写错:站点列的是 rw_workspace / rw_list / rw_read / rw_write,
    而真实名字是 rw_pick_workspace / rw_list_dir / rw_read_file / rw_write_file
    (以 lib/index.js 的 defineTool 为准)。用户照抄会直接失败。
  • 默认值写错:站点写 auditLog 默认 false,真源是 true。
    同时补上 maxOutputChars,并改为只列常用项 + 指回 README 的完整表(26 项)。

修复过程中撞出并修掉的一个真缺陷:语言切换原本对容器也整体写
innerHTML,把内部的 data-zh 子元素连同属性一起抹掉 —— 表现为"点一次 EN 后
标题永久卡在英文,切不回来"。现在只重写叶子节点(内部不再含 data-zh 的
元素),并顺带修好 <h1> 里 <br> 两侧文案粘连("变成真正的DSH 工作区")。

  • 新增 test/docs-i18n.test.js(7 例),把"中文优先"与"站点不得与代码矛盾"
    变成机器判据:

    1. 两个页面都声明 lang="zh-CN";
    2. 去掉 <script>/<style> 后骨架本身必须有足量中文(防"靠脚本注入中文");
    3. data-zh / data-en 数量相等且按序成对(防切语言时配错句);
    4. applyLang 必须跳过含子 data-zh 的容器(守住上面那个真缺陷);
    5. 默认语言变量必须是 'zh',只有显式存过 'en' 才切英文;
    6. 站点文档里出现的每个 rw_* 都必须真实存在,且总数恰为 20;
    7. 站点配置表里的默认值必须与 Config schema 一致(含常量解析,
      如 updateMode → DEFAULT_UPDATE_MODE → auto)。
      已用负对照验证:把 rw_list_dir 改回错名 ⇒ 立即变红;把默认语言改成 en
      ⇒ 立即变红;恢复后全绿。
  • 测试:全量 npm test 269/269;node check.mjs 通过。


安装:npm install dsh-remote@0.8.32 · npm 页面 · 完整变更记录