dsh-plugin-thinking-api

前言

DeepSeek Harness (DSH) 的生态通过插件扩展功能。在使用官方 dsh-llm-pi-ai 适配器时,如果模型声明了推理能力,系统会将系统提示词重写为 OpenAI 的 developer 角色。许多第三方 OpenAI 兼容端点(例如腾讯 CodeBuddy)并不支持 developer 消息,这会导致请求被拒绝或触发 content_filter,而使用 system 角色则能正常工作。dsh-plugin-thinking-api 插件旨在解决这一兼容性问题。

插件定位

此插件用于一键配置任意 OpenAI 兼容 API 并自动启用思考模式,同时规避第三方端点因 developer 角色被拒绝的问题。作者为 qjf44,许可证为 MIT。其核心逻辑是复用官方 PiAiAdapter 类,但在构建模型时注入 compat.supportsDeveloperRole: false,从而强制使用 system 角色发送请求。

核心功能

  1. 一键配置:无需手动编写 reasoningEfforts 或 thinkingFormat 等内部字段,直接配置通用 OpenAI 格式。
  2. 思考模式:在模型配置中设置 thinking: true 即可自动启用推理层级。
  3. 修复角色拒绝:解决非官方白名单端点在启用推理时因 developer 角色被拒绝的问题。

安装与启用

在 DeepSeek Harness 的 Profile 配置目录下,修改 package.json。在 dependencies 中添加插件依赖,并在 dsh.profile.bundles 中注册。

// ~/.dsh/profiles/<profile>/package.json
{
  "dependencies": {
    "dsh-plugin-thinking-api": "github:qjf44/dsh-plugin-thinking-api"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-plugin-thinking-api"
      ]
    }
  }
}

安装完成后重启 Harness。插件通过 cordis.patch.yml 自动注册,无需手动修改配置。

典型用法

通过 YAML 配置

在 ~/.dsh/settings.yaml 中添加 thinking-api 配置区块。

thinking-api:
  providers:
    codebuddy:
      displayName: CodeBuddy
      baseURL: https://copilot.tencent.com/v2
      apiKeyEnv: CODEBUDDY_API_KEY
      thinkingFormat: deepseek
      models:
        deepseek-v4-pro:
          name: DeepSeek V4 Pro
          thinking: true

通过 Web UI 向导

  1. 打开 Settings 菜单,找到 Thinking API 面板。
  2. 选择模板(如 CodeBuddy)或自定义。
  3. 输入 API Key。
  4. 点击 Fetch models 列出端点模型(腾讯 CodeBuddy 无此端点时会使用模板默认模型),勾选需要启用的模型,设置 thinking: true。
  5. 保存。

注意:Web UI 的客户端部分通过 exports["./client"] 导入。修改插件源码后,需重建 Web 构建包以使新客户端生效。

配置参考

Provider 配置

  • baseURL: API 端点地址(必填)。
  • apiKeyEnv: 存储密钥的环境变量名。
  • thinkingFormat: 推理格式,默认为 deepseek。
  • models: 模型配置字典。

Model 配置

  • thinking: 布尔值,设为 true 启用思考模式。
  • input: 声明输入模态,如 ["text", "image"],否则默认为仅文本。

适用场景与注意

本插件适用于使用非官方 PiAiAdapter 白名单端点(如腾讯 CodeBuddy、自建 vLLM 等)且需要开启推理功能的场景。

前置要求:
- DeepSeek Harness 版本需在 0.1.0-rc.6 到 0.1.5-rc.1 之间,或更高兼容版本。
- 依赖官方 @deepseek-ai/dsh-llm-pi-ai 库。

注意:
- Web UI 需要重建客户端构建包才能识别插件的新功能。
- 插件以当前 DSH 进程权限运行,使用前请确认源码与许可证。

结语

dsh-plugin-thinking-api 是一个轻量级工具,它仅专注于注入缺失的兼容性字段,不改变官方适配器的核心逻辑。对于需要在非标准端点启用思考模式的开发者,这是一个必要的补充。

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

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

小夜