dsh-clinepass-deepseekv4.1:Cline Pass 接入 DeepSeek Harness 的釘選方案

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在使用 Cline Pass 作爲網關代理時,一個常見需求是將流量釘死在 DeepSeek 官方渠道上,防止回退到其他路由。dsh-clinepass-deepseekv4.1 插件正是爲此設計,它將 Cline Pass 集成進 DSH,通過本地攔截與響應校驗,強制保證請求只通過 DeepSeek 上游。

核心功能

插件主要解決三個問題:路由配置、渠道釘選校驗、用量監控。

  1. 路由與 Key 管理
    插件通過一個標準的 pi-ai provider profile 實現路由。API Key 不需要手動配置文件,直接在 DSH 的 設置 → 模型 界面填寫即可。模型目錄、地址等界面元素均由 DSH 原生提供,無需自寫 UI。

  2. 用量條顯示
    卡片上集成了用量監控,顯示 5 小時、每週、每月三個時間窗口的剩餘量。數據由 DSH 進程通過憑據庫中的 Key 請求網關獲取,掛載在同源路徑上供瀏覽器讀取,瀏覽器端無法直接接觸到 Key。

  3. 端口與路徑行爲

    • 0.5.0 版本起:插件不再開啓任何本地監聽端口。
    • 0.7.0 版本起:爲了供瀏覽器讀取用量數據,插件在 DSH 的 HTTP 服務上註冊了一條路徑 /api/clinepass.usage,但進程內依然沒有任何 Socket 監聽。

工作原理

插件的核心邏輯分爲請求注入、響應校驗和提示詞處理三個部分。

1. 請求注入與提示詞處理

  • 釘選字段注入:雖然 Vercel AI Gateway 目前不再執行 providerOptions.gateway.only 字段,插件仍會在發出的請求體中保留該字段,以備將來網關行爲變更。
  • 提示詞模型名去前綴:網關要求 model 字段爲 type/model 格式,而 DSH 的 catalog ID 本身不帶前綴。插件會在提示詞裝配階段,將模板中的 {{model}} 替換爲完整的渠道 ID(如 cline-pass/deepseek-v4.1-flash),而不會影響網關請求體中的實際 ID。

2. 本地閘機制

這是插件最關鍵的部分。由於網關在 2026-09-22 之後的實測中不再執行 only 字段,插件在本地實現了攔截邏輯:

  1. 響應捕獲:插件對 SSE 流式響應進行逐幀轉發,但會扣留最後一幀 data: [DONE]。
  2. 裁決:在收到終止幀時,解析響應中的 routing 元數據(包括 finalProvider、resolvedProvider、modelAttempts 等),檢查是否有非 DeepSeek 渠道的記錄。
  3. 攔截與撤回:
    • 如果發現違規,插件會拒絕放行內容,導致本次調用作廢,不會將內容裝配進上下文,也不會觸發工具調用。
    • 流式場景:採用「撤回」策略,即內容雖然顯示過,但實際已作廢。這避免了緩衝策略帶來的 TPS(tokens per second)數據失真問題。
    • 非流式場景:讀取完響應後直接判違規,返回 HTTP 400 錯誤。

3. 文案淨化

爲了防止渠道名被濫用(如將 context_length_exceeded 插入錯誤文案),插件對顯示的渠道名做了過濾。只有符合特定形狀且不含危險詞根的名字纔會寫入錯誤文案,其他一律退回固定說法。

配置與用法

由於依賴 DSH 的內部行爲,使用該插件無需編寫複雜的安裝腳本。

  1. 配置 Key
    在 DSH 界面進入 設置 → 模型,找到對應的 provider profile,填入 Cline Pass 的 API Key。

  2. 配置校驗級別
    在 profile 的配置中設置 enforcement 參數:

    • strict(默認):攔截所有違規流量。
    • warn:僅告警,不攔截。
    • off:關閉校驗,僅保留請求注入邏輯。
    # cordis.patch.yml 或配置文件中的相關段
    - id: clinepass
      config:
        enforcement: strict

注意事項

  1. 非官方與維護狀態
    這是一個分享性質的快照項目,非長期維護。作者按 MIT 協議原樣提供,不承諾跟進上游接口漂移。如果 DeepSeek Harness 改變其內部行爲(例如 pi-ai 組件不再使用全局 fetch),插件會靜默失效。

  2. 上游依賴風險
    插件依賴 DSH 的內部行爲。如果上游改掉行爲,插件不會報錯,只是不再起作用。建議在使用前閱讀源碼確認依賴點。

  3. 版本差異
    事實顯示 package.json 版本爲 0.9.0,而 README 中有線索顯示爲 v4.1,使用時請以實際文件爲準。

  4. Releases 頁面爲空
    維護者通過 RELEASING.md 流程發版,僅推 Tag,因此 GitHub Releases 頁面可能爲空,但這不影響插件的正常使用。

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

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

小夜