DeepSeek Harness (DSH) 提供了插件化扩展能力。在 Web GUI 环境下,处理多语言文本往往需要频繁切换窗口上下文。dsh-translator 插件通过浏览器端的浮动窗口组件,解决了这一问题。
插件简介¶
该插件由 zhinian558 维护,开源协议为 MIT。它为 Web GUI 提供了一个浮动 AI 翻译窗口,具备以下核心能力:
* 窗口交互:窗口可拖拽、可调整大小,包含语言选择器、源文与结果分栏。
* 状态监控:窗口底部实时显示提供商账户余额和今日估算消耗(CNY)。
* 服务托管:在主机端托管路由 /translator/* 用于翻译、余额查询和状态检查。
* 配置管理:提供独立的设置命名空间。
* 安全性:API 密钥由主机端持有,不会以明文形式传递到浏览器页面。
安装与启用¶
安装该插件需要使用 DSH 的 CLI 工具。
dsh plugin --profile web add github:zhinian558/dsh-translator
安装完成后,必须重启 dsh 进程并刷新浏览器页面才能加载插件。
技术实现与安装方式¶
插件采用双面包结构(Host + Browser)。
- Git 安装:拉取源码,依赖
prepare脚本在安装时构建lib/目录。若使用 pnpm ≥10,需在pnpm-workspace.yaml中允许构建此包。 - NPM/Tarball 安装:包内自带预构建的
lib/目录,无需额外构建权限。 - 本地开发:需要执行
pnpm install && pnpm run build。
插件通过 cordis.patch.yml 将主机服务(webServer、settings、credentials)注入到 DSH 核心中,浏览器端通过 window.__ModuleLoader__.load 加载客户端资源。
核心功能与 API¶
翻译服务¶
通过 POST 请求调用翻译接口,请求体格式如下:
{
"text": "待翻译文本",
"source": "源语言代码",
"target": "目标语言代码"
}
支持的 source 值包含 'auto'。返回结果为 JSON,包含翻译文本、Token 使用量、服务模型、估算费用(CNY)和延迟。
状态与余额¶
- GET /translator/balance:查询提供商账户余额。DeepSeek 调用
/user/balance,OpenAI 使用公开的 credit-grants 端点,其他兼容端点可能返回不支持。 - GET /translator/status:查询已解析的提供商信息、密钥配置来源及余额查询支持状态。
配置¶
插件的设置项包含提供商类型(deepseek | openai)、Base URL、模型、API 密钥(支持字面量或环境变量引用)以及价格配置。
注意事项¶
- 密钥解析顺序:插件优先使用设置页中的
apiKey字面量值,其次才使用凭证 seam 引用。 - 数据存储:窗口位置、大小以及每日使用账本(按本地日期记录,30天后清理)均存储在浏览器的
localStorage中。 - 费用估算:今日消耗为基于本地配置价格和提供商 Token 使用的估算值,非官方账单,仅供参考。
- 权限:作为 DSH 插件,它以当前 dsh 进程的权限运行。