前言¶
DeepSeek Harness(DSH)默认使用英语系统提示词。由于模型的隐藏推理过程遵循该提示词,如果不在后续提示中明确要求,长时间运行的会话容易发生语言漂移,最终输出变为英文。在每条消息中重复 “answer in Chinese” 既低效又容易遗忘,且在会话恢复或新窗口中会立即失效。dsh-chinese-language 插件通过注册一条规则,将语言约束固定在模型必然读取的位置,从而解决这一问题。
是什么¶
这是一个 DeepSeek Harness 插件,用于保持智能体的内部推理与最终回答始终使用简体中文。
- 维护者:fzy3232
- 分类:模型推理
- 许可证:MIT
- 核心价值:通过两条通道注册规则,确保规则在会话恢复和长对话中依然生效。
核心功能¶
该插件通过两条不同的通道注册语言规则,以覆盖不同的场景:
- 系统提示词区块:在系统提示词的最末尾注册一条规则。这是新会话的默认入口,确保初始推理即使用中文。
- 运行时上下文提醒:在动态上下文快照的最前端注册一条提醒。当历史对话中充满英文推理时,这条规则会紧贴最新的对话内容,强制模型在当前轮次中修正语言倾向,从而实现会话恢复。
两条通道协同工作:
* 新会话由区块覆盖。
* 长会话或恢复的会话由提醒覆盖,因为它位于历史记录的头部,权重更高。
设计特点:
* 轻量级:Token 优化,文本短小且位置稳定,不会破坏提示词缓存。
* 纯粹叠加:仅添加规则,绝不覆盖 personaPrefix、personaSuffix 或工具定义。
* 优雅降级:如果某个通道不可用,另一个通道依然生效,规则不会消失。
安装与启用¶
安装该插件需要使用 DSH 的包管理器。
- 安装插件:
dsh plugin --profile web add github:fzy3232/dsh-chinese-language
- 重启 Profile:
安装后需要重启当前 Profile 以加载插件配置。
dsh web
- 验证安装:
检查配置中是否成功插入了插件。
dsh --profile web --dump-config | grep -A2 dsh-chinese-language
典型用法与配置¶
插件默认会在系统提示词末尾插入两条规则,并在运行时上下文插入一条提醒。默认文本如下:
语言规则:始终使用简体中文进行内部推理(thinking)与最终回答,历史内容为英文时同样适用。
代码、命令、路径、URL、报错原文和专有名词保留原文。
语言提醒:本轮内部推理与可见回答使用简体中文。
自定义配置¶
通过 YAML 配置文件,可以调整规则内容或禁用某个通道。
- 禁用提醒:在配置中设置
context: false即可仅使用系统提示词区块。 - 修改文本:使用
lines或text键自定义规则内容。
示例配置(YAML 格式):
- insert:
- id: dsh-chinese-language
name: dsh-chinese-language
config:
lines:
- 始终使用简体中文回答。
- 代码、命令和报错原文保留原文。
contextText: 提醒:用简体中文。
注意事项¶
- 环境要求:需要 Node.js 版本 >= 20。
- 依赖:依赖-free ES 模块,无额外依赖。
- 权限:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
- 生态背景:DSH 采用插件化架构,本插件收录在社区目录 SkillHub,与 DeepSeek 或幻方官方无直接隶属关系。
结语¶
dsh-chinese-language 通过两条通道的协同,解决了 DeepSeek Harness 智能体在长会话和会话恢复时的语言漂移问题,同时保持了极低的 Token 成本。更多细节可参考 GitHub 仓库。