limulin778-web
dsh-translator
Built-in translator plugin for DeepSeek Harness (DSH): multi-language, multi-model streaming translation, document import (PDF/DOCX/PPTX/XLSX/text), translation history, Markdown preview.
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-translator
DeepSeek Harness (DSH) 内置翻译插件:多语言、多模型流式翻译,支持文档导入、翻译历史与 Markdown 预览。
A translator plugin for DeepSeek Harness: multi-language, multi-model streaming translation with document import, translation history and Markdown preview.
功能 Features
- 🧭 侧边栏底部「文 / 翻译」入口(宽侧栏 / 56px 窄轨道均正常显示)
- 🌐 16 种语言 + 源语言自动检测 + 语言互换
- 🤖 模型选择:列出 DSH 中所有已配置 provider 的模型(DeepSeek / Kimi / Claude / GPT …),默认选中当前默认模型
- ⚡ 流式翻译输出,任务进度实时刷新
- 📄 文档导入:纯文本类 + PDF / DOCX / PPTX / XLSX(markitdown-node → 内置 ZIP/XML 解析 → pdfjs-dist 三级降级)
- 🕘 翻译历史(持久化到
~/.dsh/translator-state.json,上限 100 条,可单删/清空/点击回填) - 📝 Markdown 预览(内置轻量渲染器,可切换纯文本)
- ⚙️ 可自定义翻译提示词(支持
{{target_language}}与{{text}}占位符) - ⌨️ Ctrl+Enter 快捷翻译、拖拽文件到输入框直接导入、一键复制结果
安装 Install
需要 DeepSeek Harness 桌面版(内置 Host 的
dsh web模式)。
方式一:安装脚本(推荐)
# 在仓库目录下执行
powershell -ExecutionPolicy Bypass -File install.ps1
# 自定义 DSH 家目录:
powershell -ExecutionPolicy Bypass -File install.ps1 -DshHome C:\Users\你的用户名\.dsh
脚本会:① 把插件复制到 <DSH_HOME>\profiles\web\node_modules\dsh-translator\;② 在 <DSH_HOME>\profiles\web\cordis.patch.yml 幂等追加注册行。然后重启 DeepSeek Harness 即可。
方式二:手动安装
-
把
lib/与package.json复制到<DSH_HOME>\profiles\web\node_modules\dsh-translator\; -
编辑
<DSH_HOME>\profiles\web\cordis.patch.yml,追加(注意必须是insert块语法,裸- id:会被 loader 当作"覆盖已有条目"而跳过):- insert: - id: translator name: dsh-translator config: {} -
重启 DeepSeek Harness(桌面端与浏览器端共用同一 Host,都会生效)。
使用 Usage
- 点击左侧边栏底部的「翻译」按钮;
- 选择源语言(可自动检测)与目标语言;
- 选择翻译模型;
- 输入文本,或点「导入文档」/ 直接把文件拖进输入框;
- 点「翻译」(或 Ctrl+Enter),流式结果实时显示在右侧;
- 打开右上角 🕘 查看历史、⚙ 调整设置(Markdown 预览 / 提示词)。
工作原理 How it works
| 端 | 文件 | 职责 |
|---|---|---|
| Host | lib/index.js | 通过 webServer 注册 /api/translator 路由(JSON RPC + 文件导入);用 llm.stream() 做流式翻译任务;文档转换(markitdown-node / 内置 ZIP+XML / pdfjs-dist);历史与设置持久化 |
| Client | lib/client.js | sidebar.footer.action 侧栏入口 + shell.overlay 全屏翻译面板;同源 fetch("/api/translator/*") 调用 Host(与官方 dsh-file-upload 同一模式) |
状态文件:~/.dsh/translator-state.json(设置 + 历史)。
依赖 Dependencies
node >= 22.6.0(DSH Host 运行时)- 可选(用于复杂文档转换,缺失时自动回退到内置解析器):
markitdown-node^1.5.2pdfjs-dist^4.10.38
- 在 DSH web profile 中安装时,会优先复用同目录
dsh-file-upload携带的上述依赖(零额外安装)。
许可 License
MIT © 2026 limulin778-web