EPCN-fla/dsh-prompt-translation ↗★ 0

dsh-prompt-translation

Prompt, reasoning and response translation for DeepSeek Harness 支持传统API与智能体翻译,适合需要跨语言交流与推理的用户。

パッケージ
dsh-prompt-translation
互換性
未検証
Harness ピア範囲
>=0.2.0-rc.1 <0.2.0 || >=0.2.1-rc.1 <0.2.1
Cordis ピア範囲
^4.0.4
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/10/20

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:EPCN-fla/dsh-prompt-translation

ドキュメント

README 全文を読む ↗

使用

1. 配置翻译方式

打开「插件 → dsh-prompt-translation」。插件默认关闭翻译;展开翻译卡片,选择翻译类型、配置服务后,勾选「启用翻译」并保存。卡片底部可保存设置或放弃修改。

传统翻译服务所需配置接口
百度App ID、密钥官方通用翻译 API
GoogleCloud Translation API KeyBasic v2
DeepLAPI Key、Free / Pro 选择/v2/translate
微软Translator API Key、资源区域(按资源要求)Translator v3

密钥通过 DSH 设置接口交给 Host,由 secret 字段保存;浏览器不直接调用供应商。密钥输入框留空保留已有值,切换服务时必须填写新服务的密钥。删除凭据可在 DSH 组件配置中清空 apiKey。

选择「智能体」时,填写已有提供商 ID、模型 ID,以及可选的推理强度。候选项来自 DSH 模型目录,也支持手动填写已有 ID。推理强度必须受该模型支持,留空使用模型默认值。辅助翻译调用不提供工具,不会再次进入翻译链路,会产生额外模型请求和费用。自动回译会额外调用所选服务检测本轮用户语言;传统 API 读取检测元数据,模型模式使用独立语言检测请求。

2. 选择语言和翻译内容

选择「原始语言 → 目标语言」,再独立勾选用户提示词、思考内容和输出内容。原始语言可设为自动检测。

用户提示词按“原始 → 目标”翻译,思考与回答译回原始语言。 例如 简体中文 → 日本語 会把输入译成日语,并把选中的思考、回答译回中文。原始语言为自动检测时,使用本轮用户输入确定回译语言;不同会话互不影响。无法可靠检测时会报错,请明确选择原始语言。只需要回译时可以关闭用户提示词翻译。

同语言时是否调用翻译服务: 以下规则适用于已启用相应翻译开关的非空文本。

场景当前行为
显式选择相同原始和目标语言,例如 简体中文 → 简体中文用户提示词直接跳过翻译,不调用翻译 API 或模型。
原始语言为自动检测仍会调用所选翻译服务;即使检测结果与目标语言相同,目前也不会据此跳过后续提示词翻译。
思考与回答回译使用 自动检测 → 本轮用户语言,即使模型已经使用该语言输出,仍会调用翻译服务。

翻译前后文本相同不代表没有调用服务:可能已经发出请求,只是返回了相同文本,仍可能产生延迟和费用。

语言选项包括简体中文、繁体中文、英语、日语、韩语、法语、德语、西班牙语、俄语、葡萄牙语、意大利语、阿拉伯语和印地语;实际可用性取决于供应商。

在已有会话的输入框左下角,点击「权限」右侧的翻译图标,可以快捷启停和切换语言。图标划线表示关闭,无划线表示开启;弹窗使用“语言下拉框 → 语言下拉框”单行布局。修改作用于当前 Profile 的所有会话。

3. 生效时机与优先级

  • 保存后,下一次用户提交读取新配置;一轮提示词与回译共用该轮的配置快照,正在生成的回答不会被后续编辑切换服务或回译语言。
  • 用户提示词在 agent/pre-step 阶段翻译,保留原消息 ID;历史提示词不会在后续工具步骤重复翻译。
  • 系统提示词、工具调用参数、工具结果、注入上下文、图片和文件块不参与翻译。标题生成、压缩等辅助模型调用不进入本插件的输出翻译。
  • 思考与输出在完整文本块生成后翻译,再交给 DSH 展示和持久化;启用的内容不再逐 token 展示。
  • 输入翻译或语言检测失败时,原始用户消息仍会记录并显示,然后在调用主模型前明确报错;不会静默将原文继续发送。取消会传播到翻译调用,卸载会撤销监听器并取消进行中的翻译。

1. 配置翻译方式

打开「插件 → dsh-prompt-translation」。插件默认关闭翻译;展开翻译卡片,选择翻译类型、配置服务后,勾选「启用翻译」并保存。卡片底部可保存设置或放弃修改。

传统翻译服务所需配置接口
百度App ID、密钥官方通用翻译 API
GoogleCloud Translation API KeyBasic v2
DeepLAPI Key、Free / Pro 选择/v2/translate
微软Translator API Key、资源区域(按资源要求)Translator v3

密钥通过 DSH 设置接口交给 Host,由 secret 字段保存;浏览器不直接调用供应商。密钥输入框留空保留已有值,切换服务时必须填写新服务的密钥。删除凭据可在 DSH 组件配置中清空 apiKey。

选择「智能体」时,填写已有提供商 ID、模型 ID,以及可选的推理强度。候选项来自 DSH 模型目录,也支持手动填写已有 ID。推理强度必须受该模型支持,留空使用模型默认值。辅助翻译调用不提供工具,不会再次进入翻译链路,会产生额外模型请求和费用。自动回译会额外调用所选服务检测本轮用户语言;传统 API 读取检测元数据,模型模式使用独立语言检测请求。

配置存储格式

设置命名空间和 Loader 行 ID 均为 prompt-translation。用户设置保存在当前 Profile 的 cordis.patch.yml 对应行的 config 中,例如:

- id: prompt-translation
  name: dsh-prompt-translation
  config:
    enabled: true
    source: auto
    target: zh
    type: agent
    provider: your-existing-provider
    model: your-existing-model
    reasoningEffort: low
    userPrompt: false
    reasoning: true
    output: true
    timeoutMs: 60000
    maxChars: 2000

提供商、模型和推理强度需要替换成实际支持的值;使用默认推理强度时删除 reasoningEffort。部署方也可以在组合层同一插件行的 config 中预置配置。

传统翻译配置使用 type: traditional,并填写 engine(baidu / google / deepl / microsoft)、apiKey,以及对应服务的 appId、region 或 deeplFree。不要将真实密钥提交到仓库。

字段默认值说明
enabledfalse启用翻译
source / targetauto / en原始语言与目标语言
type / enginetraditional / google翻译类型与传统服务
userPrompt / reasoning / outputtrue / false / false三类内容开关
timeoutMs60000单个文本块翻译的总超时,范围 1000–300000 毫秒
maxChars2000单次请求 Unicode 字符上限,范围 100–4000;百度还受 6000 UTF-8 字节上限约束