Bundle
dsh-think-zh
强制 DeepSeek Harness 的回答与思考使用简体中文
- Source
- Len7183
- stars
- 13 stars
- License
- MIT
- Updated
- Updated 16 days ago
Readme
# dsh-think-zh

为 DeepSeek Harness(DSH)打造的插件:**强制模型的思考(reasoning)使用简体中文**,并让回复语言跟随提问语言。
## 项目解决什么问题
DeepSeek Harness 默认的思考语言常常为英文,这不利于中文使用者阅读推理过程、复核结论。本插件通过在每次请求的 system prompt 中注入一条精简的强制语言指令,使:
- **思考(reasoning)恒为简体中文**,无论用户用什么语言提问;
- **回复跟随提问语言**:中文提问用中文答,英文提问用英文答,无法判断语言倾向时默认简体中文;
- **代码、标识符、文件路径、命令等保持原文**,不翻译。
> **限制声明**:模型思考语言本质是模型自身行为,插件只能通过「注入强制指令」影响,无法 100% 程序化锁死;是否遵守超出插件控制。
## 主要功能
- **单一注入机制**:`ctx.systemPrompt.section()` 在每次请求的 system prompt 注册 `dsh-think-zh/language` section(order 2,persona 之后、工具声明之前)。
- **零上下文污染、零 token 浪费**:不做任何检测、缓冲、告警或写回;token 成本仅为每次请求约 75 字的指令文本。
- **可靠的加载时序**:插件声明 `inject: ['systemPrompt']`,cordis 等待 `systemPrompt` 服务就绪后才执行 `apply`,避免 section 注册被静默降级。
- **可配置**:支持关闭注入或自定义指令文本。
内置默认指令:
```
语言要求(强制):
1. 思考(reasoning)必须使用简体中文。
2. 回复使用与用户提问相同的语言;无法判断时默认简体中文。代码、标识符、文件路径、命令等保持原文,不翻译。
```
## 安装方法
前置条件:
- 已安装 DeepSeek Harness(`dsh --version` 可运行)。
- Node.js ≥ 22.19,pnpm(`dsh plugin` 内部调用)。
### 方式一:从 GitHub 直接安装(推荐)
无需本地构建,命令行执行(等价写法 `npx @deepseek-ai/dsh ...`):
```bash
dsh plugin --profile web add github:Len7183/DSH-Think-zh
```
### 方式二:从源码构建安装
```bash
# 1. 克隆并构建插件
git clone https://github.com/Len7183/DSH-Think-zh.git
cd DSH-Think-zh
npm install
npm run build
# 2. 安装到 web profile(任意目录执行)
dsh plugin --profile web add <本插件目录的绝对路径>
# 3. 重启 DSH
dsh web
```
> 必须用 `dsh plugin` 形式安装——直接 `npm install` 只会把包当普通库装到当前目录,不会注册进任何 DeepSeek Harness profile。
## 使用方法
安装并重启后插件默认生效(`injectPrompt: true`),无需额外配置。
**验证是否生效**:
```bash
# 确认插件已组合进 profile
dsh --profile web --dump-config | grep dsh-think-zh
```
新建会话,观察 system prompt(轨迹视图)中出现「语言要求(强制)」section 即注入成功。
**自定义配置**(可选):在 `~/.dsh/profiles/web/cordis.patch.yml` 中为 `dsh-think-zh` 行追加 `config`:
```yaml
- id: dsh-think-zh
name: 'dsh-think-zh'
config:
injectPrompt: true # 是否注入中文指令
injectionText: '' # 自定义指令文本;留空用内置精简版
```
## 输入输出示例
### 中文提问
```
用户:请帮我写一个计算斐波那契数列的 Python 函数。
思考(reasoning,简体中文):用户需要一个计算斐波那契数列的 Python 函数。可以用迭代或递归实现,考虑到性能,迭代更合适……
回答(text,简体中文):下面是一个使用迭代实现的 Python 函数:
def fibonacci(n): ...
```
### 英文提问
```
用户:Write a Python function to compute the Fibonacci sequence.
思考(reasoning,恒为简体中文):用户要求一个计算斐波那契数列的 Python 函数。回复语言应跟随提问使用英文,代码保持原样……
回答(text,跟随提问使用英文):Here is an iterative Python implementation:
def fibonacci(n): ...
```
> 说明:以上为机制示意,实际输出内容取决于模型。思考恒为简体中文,回复语言跟随提问语言,代码与标识符保持原文。
## 工作原理
| 环节 | 机制 |
|---|---|
| 加载依赖 | 插件声明 `inject: [systemPrompt]`:cordis 等待 `systemPrompt` 服务就绪后才执行 `apply` |
| 注入点 | `ctx.systemPrompt.section()` 注册 `dsh-think-zh/language`(order 2,persona 之后、工具声明之前) |
| 生效时机 | 每次请求的 system prompt 组装 |
| 运行时开销 | 零检测、零缓冲、零写回;token 成本仅为每次请求约 75 字指令文本 |
## 开发
```bash
npm test # vitest 单元测试
npm run build # tsc 构建到 lib/
```
## 许可
MIT © [Len7183](https://github.com/Len7183)
Install
dsh plugin --profile web add github:Len7183/DSH-Think-zh#e6ab9d8d70b199de83bbb0f76ef9b593f474326b
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-think-zh from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.