dsh-bilingual-description:在 DSH 中强制工具调用的中英双语 description

前言

在 DeepSeek Harness(DSH)里跑智能体时,轨迹里每条工具调用的 description 会出现在 参数 面板中,用来回顾「这一次调用在做什么」。若模型只写英文,非英语读者扫读成本高;这些内容又会原样进入会话记录,相当于项目的操作留痕,事后也不会再自动改写。

翻译层加在轨迹之后也解决不了问题:description 由模型生成、原样入库。能施加影响的只有两处——在 提示词 里声明格式,以及在 调用前守卫 里拒绝不合规的入参。社区插件 dsh-bilingual-description(维护者 che0911,GitHub:che0911/dsh-bilingual-description)同时做这两件事,要求带 description 参数的工具调用按「中文在前、英文在后」的一行格式书写,漏写中文则在执行前被拒并回传改写提示。

这是什么

dsh-bilingual-description 属于 DSH 社区插件目录中的 模型推理 类扩展,当前 npm 包版本为 0.1.0,许可证 MIT。它不依赖其他插件,仅使用 DSH 提供的 ctx.systemPrompt.section() 与 ctx.tools.guard() 钩子。

核心功能

下面按 README 已说明的机制归纳。

提示词段(Prompt section)

在每个 Agent 的系统提示词末尾(靠近内置 shell 相关说明)追加一条短规则,让模型在写出 description 之前就知道格式要求。

工具守卫(Tool guard)

在工具真正执行前检查 description。不合规则拒绝本次调用,并把需要重试的完整文案返回给模型,便于下一轮改正。

要求的单行格式(使用全角引号,避免 JSON 转义问题):

中文:“<中文描述>” 英文:“<English description>”

校验失败时的典型提示包含 invalid description: must be bilingual(可用仅英文的 description 试跑一次做验证)。

作用范围

  1. 仅针对工具定义里声明了顶层 description 参数的工具;守卫在调用时读取当前工具 schema,随已安装工具变化。
  2. 若无法读取定义,则回退到已知的 shell 类工具列表,而不是对全部工具泛猜。
  3. 像 read、write 等没有 description 参数的工具不受影响。
  4. 插件内部任何异常都走 allow,不会因插件自身错误阻断合法调用。

配置

均为可选,通过环境变量设置:

变量 默认值 含义
DSH_BILINGUAL_DESCRIPTION_DISABLE 未设置 设为 1 时关闭整个插件。
DSH_BILINGUAL_DESCRIPTION_SCOPE all 设为 shell 时只对命令类工具做检查。
DSH_BILINGUAL_DESCRIPTION_EXTRA_TOOLS 未设置 逗号分隔的额外工具名,在 schema 不可用时仍强制校验。

若需改成其他语言对或分隔符,文案在仓库 index.js 顶部的 CN_LABEL / EN_LABEL / RULE 及消息构造处修改。

安装与启用

从 DSH 插件市场安装

在 DSH 插件市场中安装包名 dsh-bilingual-description(与社区目录页 che0911/dsh-bilingual-description 对应同一插件)。

手动装进某个 profile

先将插件目录装到 profile,再在 dsh.profile.bundles 中注册并重启 DSH:

cd ~/.dsh/profiles/<profile>
npm install /path/to/dsh-plugin-bilingual-description

在该 profile 的 package.json 里把 "dsh-bilingual-description" 加入 dsh.profile.bundles,然后重启 DSH。

环境要求

  • DeepSeek Harness >= 0.2.0-rc.1(README 注明在 0.2.2-rc.1 上测过)。

典型用法与验证

安装并启用后,无需额外 API:模型发出的带 description 的工具调用会自动受规则约束。

验证步骤:

  1. 发起一次工具调用,故意只写英文 description。
  2. 调用应被拒绝,并看到双语格式相关的错误与重写指引。
  3. 按返回格式改写后重试,调用应能通过守卫。

开发者在仓库内可用下列命令做本地检查(不依赖完整 DSH 运行时):

node scripts/smoke.mjs   # 16 条断言
node --check index.js

适用场景与注意

适合谁: 需要在轨迹里稳定留下中英对照操作说明的团队;希望把「双语 description」写进模型行为而不是事后翻译的 DSH 用户。

权限与安全: 插件随当前 DSH 进程权限运行,能改系统提示词并拦截工具调用。安装前应阅读 GitHub 源码 与 MIT 许可证,确认组织策略允许从社区目录或本地路径引入该 bundle。

生态说明: DSH 奉行「一切皆插件」;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系,不要把它等同于厂商应用商店。

结尾

dsh-bilingual-description 用提示词声明 + 调用前守卫,把工具 description 固定为「中文 + 英文」一行格式,并尽量在不误伤无 description 工具的前提下收窄校验范围。需要进一步了解安装细节、截图与配置表,可查阅目录页与仓库 README。

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

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

Xiaoye