dsh-page-translator:整页主题感知翻译与中文→英文社区回复

前言

在 DSH 里查资料、逛英文社区时,常见做法是开翻译插件做逐句机翻,或在侧栏复制正文再丢给模型。前者往往不理页面主题,Film 和 Develop 在胶片社区里会被译成字面意思;后者打断阅读节奏,写 Reddit 评论还要自己把中文改成英文。下面介绍 SenhoiBot 维护的 dsh-page-translator:在真实页面上原地替换译文、保留版式,并复用 DSH 宿主模型做主题术语与中文草稿→英文回复,不单独持 API key。

这是什么

dsh-page-translator 是 DeepSeek Harness 的联网类插件(当前包版本 0.7.0,MIT 许可证)。同一套页面控制器支持两个入口:

  • DSH 桌面版右侧内置浏览器(Electron <webview>):页面右下角「译」胶囊;
  • Edge / Chrome MV3 未打包扩展(仓库内 edge-extension/):任意 http/https 页同样控件,翻译经本机 DSH 扩展桥完成。

Web 版 DSH 的内置浏览器为跨域 iframe,插件读不到 DOM;内置浏览器模式仅在桌面安装版生效。插件与扩展均通过 ctx.llm 调用(推理强度 off),额度与凭据由正在运行的 DSH 进程承担。

核心功能

整页主题感知翻译

翻译结合整页主题,不是按句孤立机翻。README 举例:胶片摄影站点上 Film → 胶片/胶卷、Develop → 冲洗、Magazine(16mm)→ 装片暗盒。流程上先对页面做一次主题与术语表分析(宿主路由 POST /page-translator/context),再分块并行翻译并原地写回 DOM;不经过代理,登录态、脚本与版式保留。

进度以百分比显示(如「翻译中 42%」「已译 100%」),不再展示段数梗概。Reddit 翻页、无限滚动、展开评论等新 DOM 会自动继续翻译(短暂「更新中 …%」),无需手动还原再点。

中文→英文回复(社区互动)

「译」按钮右侧有输入框与语气下拉(自然 / 口语 / 幽默 / 专业,默认自然)。输入中文后回车或点 →EN,结合当前页面主题与语气生成英文回复,浮层显示并可复制,面向 Reddit 等英文社区评论。提示词内置常见中文网感词的意译规则(如真香、入坑、刀锐奶化等),要求短、口语、像母语评论而非直译。

同一句中文切换语气会重新生成(README 对「报恩的镜头」在不同语气下的英文差异有示例表)。

悬浮控件与位置记忆

整条「译」胶囊可拖动(按住图标/文字区域;输入框、下拉、→EN 上不触发拖动)。位置在内置浏览器与 Edge 扩展中跨页面记住;拖动阈值 5px,拖动结束会吞掉误触的 click。回复浮层贴着控件上/下方锚定。

Edge 扩展与本机桥

扩展自身不调模型:内容脚本经 service worker 访问 http://127.0.0.1:34118/ext/*(与宿主 LlmTranslator、LRU 缓存共用)。桥默认只监听回环地址;可选配置 extensionToken 与扩展选项中的令牌一致以加强访问控制。

安装与启用

DSH 插件(推荐)

dsh plugin --profile <profile> add github:SenhoiBot/dsh-page-translator

也可在本机已有源码目录时用 link: 安装(见仓库 README)。装好后刷新 DSH 界面;改 index.js / lib/* 需重启 DSH 实例,改 client.js / page-script-hosted.js 后刷新并重载内置浏览器页即可。

Edge 扩展(可选)

  1. 确认 DSH 桌面版正在运行(扩展依赖宿主桥;关闭时按钮会提示连接失败)。
  2. 打开 edge://extensions,启用开发人员模式,「加载解压缩的扩展」→ 选择插件目录下的 edge-extension(典型路径形如 ...\plugins\dsh-page-translator\edge-extension)。
  3. 扩展选项中桥地址默认 http://127.0.0.1:34118,可「测试连接」(成功时 README 写明显示 连接成功:DSH 扩展桥 v0.3.0)。
  4. 打开普通网页,点右下角「译」验证翻译与还原。

edge://、chrome://、扩展商店及 PDF 阅读器内页面无法注入。

典型用法

  1. 在 DSH 右侧内置浏览器,或 Edge 中已加载扩展的页面,打开目标网址。
  2. 点右下角「译」开始整页翻译;再点一次还原原文。滚动或翻页后新内容会自动跟进翻译。
  3. 要在社区回复:在输入框写中文,选好语气,回车或 →EN → 复制浮层英文 → 粘贴到站点评论框。

胶片社区与 Reddit 类场景在 README 的网感对照表与 E2E 脚本(如 e2e/compose-live.mjs)中有可复现示例。

配置

在 profile patch 中按插件 id 覆盖(均可省略):

- id: dsh-page-translator
  config:
    provider: deepseek-account   # 默认按 DSH 默认模型
    model: deepseek-flash
    target: zh                   # zh/en/ja/ko/ru
    port: 34118                  # Edge 扩展桥回环端口(0 = 随机)
    extensionToken: ''           # 可选,与扩展选项一致
    callTimeoutMs: 25000
    llmConcurrency: 8

若 34118 被占用,插件会回退随机端口:内置浏览器仍可用,扩展需改桥地址或指定空闲 port。

适用场景与注意

适合谁:经常在 DSH 内置浏览器或 Edge 里读外文站、并在英文社区用中文起草再要地道英文回复的用户;需要保留页面交互与登录态,又不想在插件里再配一套 API key 的 DSH 桌面用户。

安全与权限:插件以当前 DSH 进程权限运行,模型调用走宿主配置;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。扩展仅通过本机回环桥通信,不新增对目标站点的额外网络请求(拖动与位置走已有注入桥或 chrome.storage.local)。

性能预期:README 记载每页主题分析冷启动约 2.9s、缓存后约 10ms;译义缓存位于宿主进程 LRU,同页二次翻译几乎瞬时。推理已固定 off,延迟主要来自往返与分块翻译。

结尾

dsh-page-translator 把「读外文页」和「用英文回帖」收拢到同一套主题感知翻译与回复流程里,并可选 Edge 扩展覆盖 DSH 外的浏览器标签。目录与说明见 SkillHub 插件页,源码与安装细节见 GitHub:SenhoiBot/dsh-page-translator。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜