dsh-llm-openai-completions 插件介紹

前言

在 DeepSeek Harness (DSH) 的生態中,連接自定義網關(如 vLLM、LM Studio 或自建 OpenAI 代理)通常需要特定的適配器。dsh-llm-openai-completions 是一個用於自定義網關的 OpenAI Completions 兼容適配器。它填補了 llm-deepseek 和 llm-pi-ai 之外的空白,專門處理非標準網關的協議差異,特別是針對角色定義和思考模式的兼容性問題。

核心功能

該插件主要解決以下問題:

  1. 角色定義兼容:強制使用 role: "system",避免自定義網關收到非標準 developer 角色時報錯(Unexpected message role 400)。
  2. 思考模式驅動:思考行爲由模型配置中的 compat.thinkingFormat 驅動,支持 Qwen3.6(enable_thinking)、Qwen Chat Template 以及 Qwen3.8(reasoning_effort)等多種格式。
  3. 接收端解析:在接收端將 Qwen3 風格的思考內容(vLLM 將其渲染在 content 中)分離爲獨立的推理塊,避免思考文本混入回覆正文。
  4. 視覺輸入支持:支持接收用戶上傳的圖片(單張或多張),並將其序列化爲 OpenAI 兼容的多部分 content 數組(image_url)。

安裝與啓用

安裝

使用 DSH 命令行安裝插件(推薦使用 npm 源):

dsh plugin --profile web add dsh-llm-openai-completions -w

安裝完成後,需要重啓 dsh web 以使插件生效:

dsh web

配置啓用

在 ~/.dsh/profiles/web/cordis.patch.yml 中啓用插件,並指定需要接管代理的 provider 列表:

llm-openai-completions:
  enabled: true
  providers:
    - local-35b

典型用法

在 llm-pi-ai 配置中,指定 api: openai-completions 並配置 baseURL 和模型參數。插件會根據配置接管該 provider 的流式行爲。

llm-pi-ai:
  providers:
    local-35b:
      api: openai-completions
      baseURL: http://192.168.100.242:8200/v1
      models:
        - id: Qwen3.6-35B-A3B
          reasoningEfforts: { off: null, high: 'high' }
          compat:
            thinkingFormat: qwen        # 使用 enable_thinking,不使用 reasoning_effort

注意事項

  1. 項目已停止維護:根據 2026-10-01 的公告,該項目已被停止維護並下架。原因是 dsh-thinking-levels 不再需要此插件。
  2. 版本狀態:npm 上的版本停留在 0.1.0。雖然 package.json 顯示 0.2.0,但包含視覺/圖像輸入功能的 0.2.0 分支從未發佈,且不會再發布。
  3. 依賴關係:視覺輸入功能依賴於宿主提供的 ctx.attachments(附件存儲)來讀取圖片字節並進行 Base64 編碼。純文本模型不受影響。
羽毛球分组比赛记分
小程序二维码

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

小夜