前言¶
DeepSeek Harness(DSH)在组装系统提示时会写入内置的 harness:identity 段落,并可能在其他 system 段落里出现固定措辞。若只想改身份文案或做全文替换,直接改核心仓库或手改每次下发的 prompt 都不顺手,也不利于按 profile 持久化配置。
社区插件 dsh-identity-override 由维护者 Soulize 发布,归类为模型推理相关能力。它通过官方插件机制挂接 system-prompt/assemble 流程,在 Plugins 页面配置,无需修改 DSH 核心文件。
这是什么¶
一句话:dsh-identity-override 提供两个可独立配置的系统提示变换——只替换内置 harness:identity 段落的正文,以及在身份覆盖之后、对已组装的全部 system 段落做大小写不敏感的字面查找替换。
配置保存在当前 profile;保存后对后续 prompt 组装生效,已发出的请求不会回溯修改。卸载或禁用插件后,后续组装恢复 DSH 默认行为,不写入核心配置行。
核心功能¶
1. HARNESS_IDENTITY 覆盖¶
默认身份文案为:
You are a capable, task-oriented AI agent that proactively uses available tools, researches existing projects and proven solutions when relevant, and delivers correct and complete results.
多行编辑器支持自定义内容,并保留字面量 {{variable}} 序列。Use recommended default 可恢复编辑器建议的默认身份;按 Save 持久化。
该功能只修改已有 harness:identity 段的文字,保留其在 prompt 中的位置;不会新增第二段 identity,不会改写 personaPrefix,也不会动其他段。若希望该能力生效,需保持官方 @deepseek-ai/dsh-system-prompt 插件启用,且 includeHarnessIdentity: true。
2. 大小写不敏感关键字替换¶
第二项设置在桌面端为左右并排输入框(窄屏纵向堆叠):
| 左:Find(大小写不敏感) | 右:Replace with |
|---|---|
DeepSeek harness |
harness |
按此配置时,system 提示中所有 DeepSeek Harness、deepseek harness、DEEPSEEK HARNESS 等变体都会变成 harness;全部匹配都会替换,而非仅首次。规则在 HARNESS_IDENTITY 覆盖之后执行,因此也可作用于已配置的身份文案。
- 默认关闭:Find 留空即禁用,Replace with 内容被忽略。
- Replace with 留空则删除匹配文本。
- 匹配为字面量,非正则;
+、*、(、$、.等无特殊含义。 - 官方 prompt 渲染器会先展开
{{model}}等变量,关键字可匹配变量展开后的文本;替换结果里的{{...}}保持字面量。 - 仅作用于 system-role 的 prompt 段,不包含单独提供的 tool JSON schema 或 runtime-context 用户消息。Clear keyword rule 清空两项编辑器,再 Save 持久化。
Host 侧顺序:先编辑命名 identity 段,再对已组装段落做关键字替换;二者均为 system 提示文本变换,不改模型工具或运行时上下文。在 DSH 权威 complete: true 的 system-prompt 模式下,上游可能在组装瀑布流之后恢复完整段,该策略会覆盖本插件的两项变换;插件刻意不绕过 complete-prompt 强制策略。
安装与启用¶
默认 Web profile 安装:
dsh plugin --profile web add "github:Soulize/dsh-identity-override#main"
若使用其他 profile,将 web 换成对应名称。已安装时,通过 DSH 插件管理器更新或重装 GitHub 源以加载新版本与客户端 UI,并按 DSH 提示重启。
在 Web/Desktop 打开 Plugins → dsh-identity-override → identity-override → Configure。两项功能同页、共用一个 Save 按钮;编辑写入当前 profile,后续组装即生效,无需重新挂载插件。
托管 profile 也可在 YAML 中直接写字段:
- id: identity-override
config:
identityText: >-
You are a capable, task-oriented AI agent that proactively uses
available tools, researches existing projects and proven solutions
when relevant, and delivers correct and complete results.
keywordFind: 'DeepSeek harness'
keywordReplace: 'harness'
省略 identityText 时使用上文默认身份;keywordFind、keywordReplace 默认空字符串。
典型用法与自检¶
- 新开 agent step,查看组装后的 system prompt,确认身份覆盖只出现一次。
- 将 Find 设为
DeepSeek harness、Replace with 设为harness并保存;在新 step 中检查 system 提示里各大小写变体是否均已替换。 - 确认无关文案、面向模型的 tool schema、runtime-context 消息未变。
- 清空关键字规则并保存;再禁用插件,确认后续组装恢复标准 DSH identity。
插件仓库提供离线校验(mock DSH 与 React);在运行中的 DSH 实例上做端到端验证仍是生产前必要步骤:
npm run check
适用场景与注意¶
适合谁: 需要在不改核心的前提下统一或弱化产品向身份文案、或对已组装 system 段做固定措辞替换的 DSH 用户;无头 profile 可只改 YAML。
环境与依赖(据 README / package.json):
- DeepSeek Harness
>=0.2.0-rc.1,需官方 system-prompt 服务与 Web 插件配置 UI。 - Node.js
>=22.19.0。 - 运行时 peer:
@deepseek-ai/dsh-system-prompt(官方renderPrompt插值逻辑由 DSH 提供给外部插件)。 - 可视化配置依赖 Web 客户端模块与托管 profile。
- DSH 处于开发者预览,插件接口可能有破坏性变更;当前包版本为
0.2.0,许可证 MIT。
安全与权限: 插件以当前 DSH 进程权限运行,会参与 system prompt 组装;安装前请自行审阅 源码与许可证。
其他限制: 关键字匹配在各段内部进行,跨段空行分隔的跨段搜索不会命中。修改 leading prompt 可能短暂影响 KV-cache 复用;配置稳定后前缀行为仍遵循 DSH 常规规则。字段变更在保存后对新组装生效并发出 system-prompt/change 通知。
结尾¶
dsh-identity-override 把身份覆盖与全段字面替换收进插件配置页,避免手改核心或重复编辑 prompt。目录与仓库:
- 社区目录页:https://www.skillhub.cn/plugins/Soulize/dsh-identity-override
- GitHub:https://github.com/Soulize/dsh-identity-override
社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系;选用前以仓库 README 与本地 DSH 版本为准。