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 是一個輕量級工具,它僅專注於注入缺失的兼容性字段,不改變官方適配器的核心邏輯。對於需要在非標準端點啓用思考模式的開發者,這是一個必要的補充。

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

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

小夜