DeepSeek Harness 插件:dsh-qq-voice

前言

DeepSeek Harness(DSH)的「一切皆插件」理念,让开发者可以通过组合插件来定义 agent 行为。但同一个 profile 里往往存在多种对话场景:有的需要长篇输出,有的则要求短促回应。如果只用一份系统提示去管所有渠道,很难同时满足「短长结合」的长度约束。

dsh-qq-voice 就是为此设计:它把一份单独的渠道口径(Markdown 文件)挂进指定 preset 的系统提示里,让那条线答得短,别的会话保持正常篇幅。它不往消息历史注入,只在每次组装提示时按需读取并挂载。

它是什么

  • 名称:dsh-qq-voice
  • 维护者:hzh5021
  • 分类:模型推理
  • 功能:将一份 Markdown 文件挂成系统提示里的一个段落,只对安装它的 preset 生效,不影响其他会话

核心功能

  • 按 preset 挂载:只挂在目标 preset 的插件行里,从而只影响那一条会话;不会全局生效。
  • 系统提示段:以 qq-voice:channel 为名,作为系统提示的一个独立段落插入,内容不会被当作模板变量解析(interpolate: false)。
  • mtime 缓存:每次组装提示时检查文件 mtime,未变动则使用缓存,变动后重新读取,无需重装插件。
  • 失败不阻塞:文件不存在、位置取不到等异常情况只打日志,不会让会话建不起来。

安装

使用官方安装命令:

dsh plugin add hzh5021/dsh-qq-voice

安装完成后,插件会出现在 ~/.dsh/plugins/dsh-qq-voice/ 目录中。

启用与配置

配置项

键 默认值 说明
home "" 口径文件所在目录;空 = 不挂这一段(即关闭)
file "QQ线口径.md" 相对 home 的文件名
after "DEPLOYMENT_PERSONA_SUFFIX" 插在这一节后面——位置比内容要紧
fallbackOrder 10201 拿不到 after 那节的顺序值时用的 order

手动挂载(示例:dsh-qq)

以 dsh-qq 为例,在 profile 的 cordis.patch.yml 中需要做三处修改:

1) 插件行,指向口径文件所在目录

- insert:
    - id: qq-voice
      name: dsh-qq-voice
      config:
        home: /path/to/your/home     # 放着那份渠道口径 md 的目录
        file: QQ线口径.md

2) 目标渠道的 preset 里带上它

- id: preset-qq
  name: '@deepseek-ai/dsh-agent-preset'
  config:
    id: qq
    order: 3
    plugins:
      - id: persona
        name: '@deepseek-ai/dsh-persona'
      # …其余子插件照你别的 preset 抄…
      - id: qq-voice
        name: dsh-qq-voice

3) 让那条线走这个 preset

- id: qq
  name: dsh-qq
  config:
    # …wsUrl / ownerId / cwd…
    agentPreset: qq

注意:只做第 1 步而不把它列进 preset,这段口径要么不生效,要么挂在所有会话上(取决于是否把它放进了 profile 顶层花名册)。不要把它放在 profile 顶层——这份口径是给一条线的,不是给所有会话。

工作原理

  • 服务声明:只声明 inject = ["systemPrompt"]。Cordis 的规则是没报名的服务连读都不允许,而除了往提示词里放一段字,插件不干任何运行时状态操作。
  • 位置获取:通过 ctx.systemPrompt.getSectionOrder(opts.after) 获取目标段落的顺序值,然后 +1 插在它后面。获取不到时使用 fallbackOrder,保证段能挂上。
  • 段落挂载:名字为 qq-voice:channel,interpolate: false,在正文前加一句固定中文前言,声明「本段只约束当前渠道」。
  • 文件读取:每次组装提示都求值,利用 mtime 缓存避免重复读盘。文件不存在或读不动时返回空串,段仍在但内容为空。
  • 错误处理:位置取不到、段挂不上,都只打日志,绝不让 agent 建不起来。

适用场景与注意

  • 适用场景:需要为某个对话渠道(如 QQ)设定固定长度约束(如一两行)的 DSH profile 开发者。
  • 注意:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证;建议保持渠道口径文件短小。

结尾

dsh-qq-voice 通过在系统提示中挂载一段渠道口径,让一条线保持短促回应,同时不影响其他会话。修改 Markdown 文件后,下一轮即可生效。如果你需要为不同渠道设置不同的输出长度策略,这个插件是一个轻量且可控的方案。

  • 目录页:https://www.skillhub.cn/plugins/hzh5021/dsh-qq-voice
  • GitHub:https://github.com/hzh5021/dsh-qq-voice
羽毛球分组比赛记分
小程序二维码

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

小夜