在 DeepSeek Harness (DSH) 的开发中,智能体往往需要在不同的模型路由上应用不同的系统提示词。针对 GPT 的提示词可能要求“严格限定文件范围”,而针对 DeepSeek 的提示词可能要求特定的思考语言。手动维护这些提示词容易出错且繁琐。这个插件通过自动切换条件性系统提示部分来解决这个问题。

这是什么

这是一个可配置的 DeepSeek Harness 插件,旨在为选定的 GPT 模型提示词添加文件阅读纪律,或为 DeepSeek 路由追加特定的思考语言部分。它由 youxi-huang 维护。它解决了智能体在多个模型提供商之间切换时,需要针对特定提供商动态调整系统提示词的问题。

核心功能

  1. 条件切换:根据路由匹配条件性地将系统提示部分切换到 GPT 路由。
  2. DeepSeek 追加:在 DeepSeek 路由(提供商或模型前缀为 deepseek)上追加 DeepSeek 思考语言部分。
  3. 其他路由:对于其他路由,保持下游组装完全不变。
  4. 按需注册:注册无静态提示部分,仅追加匹配路由的内容。未匹配的路由不消耗额外的上下文、令牌或节开销。
  5. 精确匹配:等待下游瀑布监听器,使用精确步骤的提供商和模型。

安装与启用

使用官方 GitHub 包规范将其添加到 DSH 配置文件中:

dsh plugin --profile <profile> add github:youxi-huang/dsh-gpt-file-discipline

典型用法

安装后,插件会根据默认配置匹配路由。要卸载,使用:

dsh plugin --profile <profile> remove dsh-gpt-file-discipline

默认情况下,插件会匹配以下路由:
* GPT:provider 为 codex 且模型前缀为 gpt-。
* DeepSeek:provider 或模型前缀为 deepseek。

如果匹配路由的节已存在,插件保持组装不变。DeepSeek 检查优先于 GPT。

通过配置 patch 可以自定义提示文本和节名称。例如,覆盖 GPT 路由的配置如下:

- insert:
    - id: gpt-file-discipline
      name: dsh-gpt-file-discipline
      config:
        provider: codex
        modelPrefix: gpt-
        gptText: Use only the designated project sources.
        sectionName: route:gpt-file-discipline
        deepseekProviderPrefix: deepseek
        deepseekModelPrefix: deepseek
        deepseekText: '**when you thought,thought in ENGLISH,start with "We need..."**'
        deepseekSectionName: route:deepseek-thought
        caseSensitive: false

适用场景与注意

  • DeepSeek 文本来源:DeepSeek 提示文本是社区共享文本(Bilibili 评论),并非作者原创。如果未发现效用,请谨慎使用。
  • 组装逻辑:如果匹配路由的节已存在,插件保持组装不变。DeepSeek 检查优先于 GPT。
  • 配置约束:文本字段必须非空。节名称必须为 1-128 个字符,仅包含字母、数字、.、_、:、-。caseSensitive 默认为 false。
  • 开发与测试:开发环境需要 Node.js >= 18。测试命令为 npm run check:syntax 和 npm test。
  • 权限与合规:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

该插件通过减少手动提示词管理,在处理混合模型路由时提供帮助。可以在 GitHub 上找到源代码。