前言¶
DeepSeek Harness 的智能体开发中,翻译文本是一个常见需求。已有的做法往往依赖外部服务,或者需要手动拼接接口,在处理长文本、服务故障或限流时缺少统一的降级与重试机制。下面介绍一个为 DeepSeek Harness 设计的翻译工作台插件,它在侧边栏提供可视化的翻译面板,并为智能体提供 translate_text 工具。
这是什么¶
这是一个面向 DeepSeek Harness 的翻译工作台插件,由 jack-001-a 维护。插件提供侧边栏面板、全宽翻译页面,以及一个可供智能体调用的 translate_text 工具。它通过匿名服务(Microsoft Edge 与 Google Translate 端点)实现翻译,内置重试、缓存、限流与自动服务降级,并在结果中标注实际使用的服务。
核心功能¶
- 侧边栏面板:在侧边栏出现一个翻译入口,点击后在主列打开全宽翻译页面。页面支持源/目标语言选择、服务选择、源文本与结果卡片、切换语言、复制与清空、实时字符计数,以及使用
Ctrl+Enter快速翻译。 - 服务选择与降级:插件支持两种匿名服务。当所选服务不可达时,会自动切换到另一个服务,并在结果中标注实际提供服务的名称。
- 智能体工具:插件向智能体暴露
translate_text(text, targetLanguage, sourceLanguage?)方法,返回翻译结果。面板与工具共享同一代码路径,因此失败、语言选择或限制的行为一致。 - 状态记忆:页面会将语言与服务选择保存在本地存储中,以便下次访问时恢复。
- 长文本处理:输入超过配置长度时,按段落、行、句子、单词边界拆分,并在完成后重新拼接,保持结构一致。超出部分会以可读消息拒绝,而不是静默截断。
- 隐私保护:Host 不会记录对话内容,日志仅包含长度、ID 与计数器。
服务降级与健康检查¶
插件在两种路由下运行:
- 优先使用 Host 携带的
ctx.translator服务,该服务负责服务路由、请求限制与基于会话的结果复用。 - 若该服务不存在,则直接调用 Microsoft Edge 与 Google Translate 端点。
两种路由均为匿名:无需登录、无需 API Key、无需会话。describe() 方法会报告当前活跃路由以及该路由实际可用的服务,因此页面不会提供当前路由无法使用的服务。
服务降级与健康观察:
- 仅在服务自身不健康时降级:传输/连接错误、单次尝试的头部超时、HTTP 429 与 HTTP 5xx。其他情况(如 4xx、无法读取响应体、本地限流)不降级。
- 每次尝试使用
attemptTimeoutMs(默认 3000 毫秒)限制等待响应头的时间,避免长时间阻塞。 - 失败的服务会在
providerCooldownMs(默认 5 分钟)内被标记为不健康,后续请求直接跳过该服务。恢复后会在冷却结束后自动重试一次。 - 结果中会标注实际服务(
provider)、请求服务(requestedProvider)与是否发生降级(failover)。若长文本被拆分并由两个服务分别回答,则providersServed会列出所有参与的服务。缓存条目保持这些事实,不会将缓存命中伪装为请求服务已响应。
容错与限制¶
插件对匿名端点做了多层防护:
- 仅对网络错误、429 与 5xx 进行指数退避与抖动重试,并遵循
Retry-After响应头;其他 4xx 立即失败。 - 对响应体大小进行上限限制,防止恶意或故障端点无限写入内存。
- 对每个服务调用设置头部超时与整体请求截止时间。
- 使用令牌桶对自身请求进行限流,桶空时快速返回
translation-pane/rate-limited错误,而不是无限排队。 - 对已完成的翻译使用基于 provider、语言对与源文本的 LRU 缓存,并合并相同并发请求。
- 在 Agent 工具中通过取消信号与生命周期正确取消进行中的请求。
安装与启用¶
插件未提供官方安装命令。建议通过 DeepSeek Harness 的插件管理界面搜索 deepseek-harness-translation-pane 或 jack-001-a/deepseek-harness-translation-pane 进行安装。安装前应检查源码与许可证。
典型用法¶
在 DeepSeek Harness 中打开侧边栏,点击翻译入口,在主列页面选择源语言、目标语言与服务,输入待翻译文本,按 Ctrl+Enter 即可得到翻译结果。若所选服务不可达,页面会自动切换到另一个服务,并在元行提示实际使用的服务。
在智能体工具中,可直接调用:
const result = await ctx.call('translationPane.translate', {
text: '待翻译文本',
targetLanguage: 'en',
sourceLanguage: 'zh'
});
返回结果中会包含 provider、requestedProvider、failover 等字段,可用于判断服务状态。
适用场景与注意¶
- 适合需要频繁翻译文本的智能体开发与调试场景。
- 插件在当前 DSH 进程权限下运行,请从可信来源获取安装包或源码。
- 安装前应检查源码与许可证,确保符合你的使用场景。
小结¶
这个插件为 DeepSeek Harness 提供了一个统一的翻译工作台:可视化的侧边栏与全宽页面,以及一个可被智能体调用的 translate_text 工具。它通过匿名服务、服务降级、缓存与限流等机制,在保证易用的同时提升了稳定性与可控性。
插件目录页与源码仓库:https://github.com/jack-001-a/deepseek-harness-translation-pane