DeepSeek Harness 插件:OpenAI 兼容服務器協議探測工具

前言

DeepSeek Harness 生態採用“一切皆插件”的理念。在開發智能體或使用 DSH 時,開發者常遇到這樣一個問題:文檔聲稱服務器支持某項 OpenAI 兼容協議特性,但在實際調用時卻因參數錯誤或流式處理異常而中斷。dsh-compat-probe 專門解決這一問題。

插件介紹

這是一個 DeepSeek Harness 插件,名爲 compat_probe。它發送五個微型 fixture 請求到目標 OpenAI 兼容服務器,並返回一個“協議卡”。這張卡由一組布爾值組成,精確描述服務器實際實現了哪些功能,而非文檔聲稱的內容。它主要用於回答那些會在 Harness 運行時導致崩潰的問題:服務器是否在線?GET /models 是否有響應?stream: true 是否返回 Server-Sent Events?服務器是接受 max_tokens、max_completion_tokens 還是兩者都拒絕?

核心功能

  • 協議兼容性探測:兼容 OpenAI 服務器協議。
  • Fixture 測試:發送五個微型請求並返回協議卡。
  • 細節檢查:檢查協議實現細節,包括流式傳輸類型、max_tokens、max_completion_tokens 等。
  • 無額外依賴:不包含 GGUF 權重,不啓動 llama-server 或任何其他進程。
  • 離線測試:支持離線測試(使用 node:http mock)。

安裝與啓用

使用官方安裝命令進行添加:

dsh plugin --profile web add github:jwilson411/dsh-compat-probe

安裝器會讀取 dsh.bundle.patch 並將 cordis.patch.yml 追加到配置中。安裝後,需確保依賴版本正確,否則可能導致輸出格式不匹配:

npm install @deepseek-ai/dsh-tools@0.1.1-rc.2

配置

在插件的 cordis.patch.yml 中設置以下字段:

  • baseURL:目標服務器的地址,包含 API 前綴(如 /v1),例如 http://127.0.0.1:8080/v1。
  • apiKey:認證密鑰。發送爲 Authorization: Bearer,建議使用環境變量 DSH_COMPAT_PROBE_API_KEY 而非直接寫入配置。
  • allowRemote:是否允許探測非迴環地址。默認爲 false,必須顯式設爲 true 才能探測其他主機。
  • model:fixture 請求中使用的模型 ID。
  • timeoutMs:每個請求的超時時間(毫秒),默認爲 3000。

探測卡

工具返回一個對象,包含以下字段:

  • reachable:是否收到任何 HTTP 響應。
  • models_ok:GET {baseURL}/models 是否返回 2xx 狀態碼。
  • stream_sse:stream: true 是否返回 Server-Sent Events(text/event-stream 或 data: 幀)。
  • stream_ignored_json:stream: true 是否被忽略,返回了一個非流式的 JSON 完成對象。
  • honors_max_tokens:服務器是否接受 max_tokens 參數。
  • honors_max_completion_tokens:服務器是否接受 max_completion_tokens 參數。
  • http_status:第一個非 2xx 狀態碼,或最後一個成功狀態碼,或 null(無連接)。
  • error_code:錯誤代碼(UNREACHABLE, HTTP_ERROR),僅在失敗時存在。

注意事項

  • 安全默認值:默認僅探測迴環地址(localhost, 127.0.0.1, ::1)。拒絕非迴環目標直到顯式允許。迴環判斷基於寫入的地址,而非解析結果。
  • 非測試工具:不是 Ollama、負載測試器或 GPU 基準測試工具。
  • 非客戶端:不是託管 OpenAI 或 Anthropic 的客戶端。
  • 無權重/進程:不包含 GGUF 權重或下載功能,不啓動 llama-server 或任何其他進程。

結語

該工具專注於協議驗證與兼容性確認,而非性能測試。它通過結構化數據回答“服務器實際上能做什麼”,幫助開發者避免運行時錯誤。相關資源請參考目錄頁與 GitHub 倉庫。

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

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

小夜