dsh-identity-override:在不改 DSH 核心的前提下覆盖 HARNESS_IDENTITY

前言

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 默认空字符串。

典型用法与自检

  1. 新开 agent step,查看组装后的 system prompt,确认身份覆盖只出现一次。
  2. 将 Find 设为 DeepSeek harness、Replace with 设为 harness 并保存;在新 step 中检查 system 提示里各大小写变体是否均已替换。
  3. 确认无关文案、面向模型的 tool schema、runtime-context 消息未变。
  4. 清空关键字规则并保存;再禁用插件,确认后续组装恢复标准 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 版本为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜