@gw/dsh-text-inject: DSH Text Injection Plugin

在 DeepSeek Harness (DSH) 的开发中,管理常驻的系统提示词或项目背景上下文往往比较麻烦。直接在官方配置页修改容易导致配置臃肿,而在代码中维护又缺乏灵活性。@gw/dsh-text-inject 插件提供了一个解决方案:在 DSH 官方设置页左侧栏新增「文字注入」分区,将文本注入到系统提示词或会话上下文中。内容存储在独立文件,支持热加载与历史备份。

核心功能

  • 提示词注入:## [system] 名称 块会被追加进系统提示词,每轮对话生效。
  • 上下文注入:## [context] 名称 块会被合成一条 user 消息注入会话。通过 kind 字段去重,通过 trigger 关键词门控(例如:trigger: 项目,需求)。
  • 文件管理:内容全部存储在独立文件(默认 ~/.dsh/text-inject/inject.md)中,与官方配置隔离。
  • 热加载:修改文件保存后立即生效,无需重启 DSH。
  • 历史备份:每次保存自动备份到 history/ 目录,保留最近 30 份,支持一键恢复。

安装与启用

  1. 复制插件目录到对应 profile 的 node_modules:
    cp -r dsh-text-inject ~/.dsh/profiles/web/node_modules/@gw/
  1. 在 profile 的 cordis.patch.yml 中追加 loader 入口:
    - insert:
        - id: gw-text-inject
          name: '@gw/dsh-text-inject'
  1. 重启 DSH,打开设置页,左侧栏会出现「文字注入」分区。

配置文件格式

插件首次加载会自动创建默认的 inject.md 文件。文件内容支持 Markdown 格式,通过区块头区分注入类型:

## [system] 我的常驻规则
order: 40

这段会追加进系统提示词,每轮生效。

## [context] 项目背景
kind: gw-project
trigger: 项目,需求

当消息里出现「项目」或「需求」时,这段作为一条 user 消息注入会话。
  • 区块头:## [system] 名称 或 ## [context] 名称(大小写不敏感)。
  • 元数据:紧跟在块头之后,使用英文冒号。支持 order(排序)、kind(上下文去重)、trigger(关键词触发)、enabled(启用/禁用)。
  • 正文:元数据之后的内容。

[context] 块必须有 kind(唯一,用于去重);trigger 留空则每轮注入。enabled: false 可临时禁用某块。

注意事项

  • 隐私与安全:插件不访问网络、不读取凭据、不上报任何数据。读写仅限于指定的数据文件。
  • 性能影响:注入的内容会进入每一轮请求,会放大提示词体积。建议 [context] 块配合 trigger 使用,避免全量常驻。
  • 依赖要求:依赖 DSH 的 systemPrompt 和 webServer 服务。
  • 兼容性:兼容 DSH 版本 >=0.1.2-rc.1。

总结

@gw/dsh-text-inject 通过将提示词和上下文管理从代码或官方配置中剥离,转向独立的 Markdown 文件管理,结合热加载和备份功能,为 DSH 用户提供了更灵活的配置方式。适合需要频繁调整系统指令或管理项目上下文的场景。

插件目录:https://www.skillhub.cn/plugins/1497105876/dsh-text-inject
源码地址:https://github.com/1497105876/dsh-text-inject

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

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

Xiaoye