zuoguyoupan2023/openharness-reply-in-cn ↗★ 0
openharness-reply-in-cn
DSH plugin that shows a '中文回复' label in the web sidebar and forces the model to reply in simplified Chinese.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zuoguyoupan2023/openharness-reply-in-cn说明文档
阅读完整 README ↗openharness-reply-in-cn
一个 DeepSeek Harness(dsh)插件:往系统提示词注入「必须用简体中文回复」的高优先级指令, 并在 dsh 设置页侧边栏显示「中文回复」一项。
- host 半:
ctx.systemPrompt.section({ name, order: 45, text })注入指令(真实逻辑); - client 半:注册
settings.section槽,显示侧边栏项(与openharness-rule-for-dsh-plugin/adhdgofly-dsh-ext完全同构)。
注入逻辑(host half,src/host/index.ts)
export const inject = ['systemPrompt'] // 申报依赖,否则 boot 崩
export const name = 'openharness-reply-in-cn'
export function apply(ctx, config) {
if (config?.enabled === false) return // 可通过 patch 关闭
const disposer = ctx.systemPrompt.section({
name: 'openharness:reply-in-cn',
order: 45, // persona(0) 之后、工具引导(100+)之前
text: (context) => (context.agent === undefined ? '' : ),
})
return () => disposer?.() // apply 返回 disposer,卸载时清理
}
- 只
order:45,指令文本含「【回复语言 · 最高优先级】…必须用简体中文回复…代码/命令/标识符保持原文」。 - 只有真实 agent 装配(
context.agent存在)才渲染。
遵循程度:软约束。注入一定发生,但「模型是否严格遵守」无法 100% 保证——靠 order 靠前 + 「最高优先级」措辞稳住。 验证:对话里问「系统提示里有没有『必须用简体中文回复』这条」;或发「请用英文回复」看它是否仍用中文。
⚠️ 必读:为什么代码对了却不显示(缓存/进程坑,2026-08 真实教训)
排查记录与同作者插件 openharness-rule-for-dsh-plugin 一致(改 client 后 rev 已变但 webview 不拉新的问题)。
一句话:Tauri 壳的「重启DSH」只杀后端 node 进程、不重建前端 webview;dsh 的 client bundle 按 rev 缓存在 webview 内存里,rev 变了 webview 也不拉新的。所以改 client 或加新 client 插件后,要彻底退出 OpenHarness(⌘Q)再重开,才确定看到新 bundle / 新侧边栏项。
安装
# 当前依赖目录(开发):
dsh plugin --profile web add ./openharness-reply-in-cn
# 或发布后按名装:
dsh plugin --profile web add openharness-reply-in-cn
装完彻底退出 app 重开(见缓存坑)。
依赖与构建
pnpm install # 生成 node_modules(含 esbuild / typescript)
pnpm build # 产出 lib/index.js(host)+ lib/client.js(client)
package.json:dsh.bundle.patch、dsh.client.platform: "web"、exports["./client"]、main → lib/index.js。
文件结构
openharness-reply-in-cn/
├── src/host/index.ts # 注入「中文回复」system-prompt section(order 45)
├── src/client/index.ts # 注册 settings.section 侧边栏项「中文回复」
├── build.mjs / package.json / cordis.patch.yml / tsconfig.json
└── lib/ # 已构建 bundle