Skip to content

Releases: Lin-AxiomSight/dsh-zh-layer

v0.6.0 首个公开版本:可开关的 DSH 双语覆盖层

Choose a tag to compare

@Lin-AxiomSight Lin-AxiomSight released this 02 Nov 07:58

首个公开发布版本,功能闭环,定位为 DSH 的「双语覆盖层」,核心解决插件装多后的记忆衰减、命令检索困难与语言切换注意力损耗问题。

核心特性

  • 双语排版,覆盖全场景:插件列表、/ 命令菜单、技能列表均支持双语展示,中文主显、英文原名弱化保留,不丢失原始名称方便索引。
  • 三种场景模式一键切换:
    • 只显示中文(zh):彻底省去语言切换成本
    • 中英都显示(both):中文辅助理解 + 英文作为分辨索引(推荐)
    • 不翻译(off):录屏/演示一键关闭,刷新立即恢复原版
  • 纯手动一键 AI 翻译:彻底移除后台轮询扫描,仅在用户主动点击时发起请求,仅提交未翻译条目,不点按钮零 Token 消耗。
  • 统一可编辑词典:AI 翻译结果与人工微调合并至同一份配置文件,支持设置页一键打开手动编辑,全局生效。
  • 纯净零依赖:基于原生 Node.js 与浏览器 API 实现,不引入任何第三方 npm 依赖。安装极速,不污染依赖树,和你现有插件生态完美共存。

技术实现

  • 宿主端包装元数据接口,无侵入实现插件列表双语化,不修改 DSH 源码,不影响官方升级。
  • 前端基于 DOM 渲染层实现命令与技能的双语替换,配合严格正则与节流机制,避免误匹配聊天内容。

底层重构与修复

  • 元数据包装改为通过 ctx.inject 等待服务就绪后再执行 patch,解决 apply() 同步执行时服务未就绪导致的静默失败。
  • 待翻译插件列表不再依靠磁盘路径反推 profile,改为直接调用 pluginManager.listBundles(),避免路径变更带来失效问题。
  • 修复 mergeDisplayMeta 无条件改写 title 为对象的问题,按原生类型分支处理,保护宿主原始字符串契约。
  • 新增前后端模式同步机制:前端切换 zh / both / off 时,实时通知后端。修复 off 模式下插件列表仍然显示中文的问题,使得“一键恢复原版”在全局范围内闭环。

已知局限

  • AI 翻译默认调用 deepseek-official 的 deepseek-flash 模型,暂不支持自定义服务商与模型。
  • 「打开配置文件夹」快捷按钮目前仅支持 Windows 平台。
  • 排版依赖 DSH 当前版本的 DOM 结构,若 DSH 大版本底层更新或安装特殊 UI 插件,排版可能失效(欢迎提 Issue 反馈)。