前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在使用 Cline Pass 作爲網關代理時,一個常見需求是將流量釘死在 DeepSeek 官方渠道上,防止回退到其他路由。dsh-clinepass-deepseekv4.1 插件正是爲此設計,它將 Cline Pass 集成進 DSH,通過本地攔截與響應校驗,強制保證請求只通過 DeepSeek 上游。
核心功能¶
插件主要解決三個問題:路由配置、渠道釘選校驗、用量監控。
-
路由與 Key 管理
插件通過一個標準的pi-ai provider profile實現路由。API Key 不需要手動配置文件,直接在 DSH 的 設置 → 模型 界面填寫即可。模型目錄、地址等界面元素均由 DSH 原生提供,無需自寫 UI。 -
用量條顯示
卡片上集成了用量監控,顯示 5 小時、每週、每月三個時間窗口的剩餘量。數據由 DSH 進程通過憑據庫中的 Key 請求網關獲取,掛載在同源路徑上供瀏覽器讀取,瀏覽器端無法直接接觸到 Key。 -
端口與路徑行爲
- 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 字段,插件在本地實現了攔截邏輯:
- 響應捕獲:插件對 SSE 流式響應進行逐幀轉發,但會扣留最後一幀
data: [DONE]。 - 裁決:在收到終止幀時,解析響應中的
routing元數據(包括finalProvider、resolvedProvider、modelAttempts等),檢查是否有非 DeepSeek 渠道的記錄。 - 攔截與撤回:
- 如果發現違規,插件會拒絕放行內容,導致本次調用作廢,不會將內容裝配進上下文,也不會觸發工具調用。
- 流式場景:採用「撤回」策略,即內容雖然顯示過,但實際已作廢。這避免了緩衝策略帶來的 TPS(tokens per second)數據失真問題。
- 非流式場景:讀取完響應後直接判違規,返回 HTTP 400 錯誤。
3. 文案淨化¶
爲了防止渠道名被濫用(如將 context_length_exceeded 插入錯誤文案),插件對顯示的渠道名做了過濾。只有符合特定形狀且不含危險詞根的名字纔會寫入錯誤文案,其他一律退回固定說法。
配置與用法¶
由於依賴 DSH 的內部行爲,使用該插件無需編寫複雜的安裝腳本。
-
配置 Key
在 DSH 界面進入 設置 → 模型,找到對應的 provider profile,填入 Cline Pass 的 API Key。 -
配置校驗級別
在 profile 的配置中設置enforcement參數:strict(默認):攔截所有違規流量。warn:僅告警,不攔截。off:關閉校驗,僅保留請求注入邏輯。
# cordis.patch.yml 或配置文件中的相關段
- id: clinepass
config:
enforcement: strict
注意事項¶
-
非官方與維護狀態
這是一個分享性質的快照項目,非長期維護。作者按 MIT 協議原樣提供,不承諾跟進上游接口漂移。如果 DeepSeek Harness 改變其內部行爲(例如pi-ai組件不再使用全局fetch),插件會靜默失效。 -
上游依賴風險
插件依賴 DSH 的內部行爲。如果上游改掉行爲,插件不會報錯,只是不再起作用。建議在使用前閱讀源碼確認依賴點。 -
版本差異
事實顯示 package.json 版本爲0.9.0,而 README 中有線索顯示爲v4.1,使用時請以實際文件爲準。 -
Releases 頁面爲空
維護者通過RELEASING.md流程發版,僅推 Tag,因此 GitHub Releases 頁面可能爲空,但這不影響插件的正常使用。