DSH 采用插件化架构。在开发 Agent 工作流时,常见问题是当工具返回英文内容时,Agent 的内部推理(思维链)也会发生“语言漂移”,导致最终输出混乱。dsh-language-control 插件通过在每次推理前强制注入语言约束,解决了这一问题。
插件介绍¶
dsh-language-control 是一个由 wodongx123 维护的 DSH 工作流插件。它通过在每次推理前向 System Prompt 注入语言约束,强制 Agent 的链式推理、规划、工具调用推理和内部思考全部使用中文,即使工具返回英文内容。
核心功能¶
-
每步刷新约束
插件不是在会话开始时注入一次,而是每次推理前重新注入。注入位置在 System Prompt 最顶部(order: -200),优先级最高,不会被工具返回的内容稀释。 -
中文思考强制
约束要求 Agent 的所有内部思考过程(包括链式推理、规划、工具调用推理)必须使用中文,确保思维链与最终回答的语言一致性。 -
可视化设置面板
在 DSH 设置 → 插件中可找到“语言控制”选项。支持编辑自定义约束文本、切换自定义/默认模式、以及一键恢复默认文本。 -
无依赖、零配置、即装即用
插件无额外依赖,安装后自动生效。
安装与启用¶
使用官方命令安装:
dsh plugin --profile web add @deepseek-ai/dsh-language-control
或者从 dsh-market 应用市场中搜索 language-control 一键安装。
安装完成后,插件自动生效,无需额外配置。
使用与配置¶
插件安装后,每次 Agent 推理 step 前,System Prompt 最顶部会自动注入语言约束(默认要求中文思考与回答)。
在 DSH 设置 → 插件 → 语言控制(Language Control) 中,可以进行以下操作:
- 编辑自定义约束文本并保存。
- 关闭自定义文本,直接使用默认约束。
- 点击恢复默认文本。
工作原理¶
该插件通过服务端与客户端协作实现语言控制:
-
注入时机
通过systemPrompt.section()实现,每次assemble()重新求值(即每个推理 step 前)。 -
注入位置
设置order: -200,确保语言约束位于 System Prompt 的第一行。 -
服务端
注册了 HTTP 路由/language-control/{status,update,reset},用于读写约束文本。 -
客户端
通过dsh.client.inject注册设置面板到settings.section。
注意事项¶
插件以当前 DSH 进程权限运行。在安装前,建议检查源码与许可证(MIT)。
结语¶
dsh-language-control 通过技术手段解决了 Agent 工作流中常见的语言漂移问题,保持了思考过程与最终输出的语言一致性。