前言¶
DeepSeek Harness 的插件體系裏,一次會話走哪個後端、以什麼優先級跑,通常交給 provider 自己的配置決定。當你只想臨時把當前會話切到一條更明確的路徑——例如把某個 Responses 請求轉發到一個可信的 Codex Responses 目標、並帶上 service_tier: "priority"——改全局配置往往太重,而且會影響整個 profile 的其他會話。
delthin/dsh-fast 解決的就是這件事:把檔位切換做成會話級,並提供一個帶推理等級調節的模型選擇器。下面介紹這個插件能做什麼、怎麼裝、以及哪些地方需要你自己確認。
這是什麼¶
dsh-fast 由 Delthin 維護,分類是模型推理。它給 DeepSeek Harness(DSH)提供兩件事:
- 當前會話的「標準 / Fast」檔位切換,可以按會話讀寫,不需要重啓或改全局配置。
- 模型選擇器裏的推理等級(reasoning effort)滑塊。
當會話處於 Fast 檔時,插件會把一個明確配置的 provider 發往一個完整 Responses URL 的請求,轉發到指定 Codex Responses URL,並設置 service_tier: "priority"。
需要注意定位:這是一次定向的 Responses-to-Codex 轉發,不是通用供應商加速器。普通供應商、Chat Completions、自定義協議不能據此視爲已支持;供應商實際是否提供優先級、是否收費、是否更快,由目標服務決定。
兼容範圍¶
- 宿主最低版本爲 DSH
0.2.1-rc.5(>=0.2.1-rc.5,包含後續預發佈版本)。Web 客戶端需要內置模型選擇服務@deepseek-ai/dsh-client-ui-model-selection。Desktop 客戶端未驗證。 - 當前只支持單 provider / 單 Responses URL → 單 Codex Responses URL。
- 需要原適配器通過兼容的 Undici 7 全局 dispatcher 發起請求。繞過全局 dispatcher 的 HTTP 客戶端、獨立 dispatcher、Undici 8 請求鏈不在本版驗證範圍。
- Fast 隻影響當前會話的後續請求,不繼承到普通子會話。
核心能力¶
1、會話級檔位。檔位保存在 DSH 的 dsh_fast domain,控制的是當前會話;切換狀態本身不證明請求已命中目標或獲得優先處理。
2、模型選擇器。提供帶推理等級調節的模型選擇 UI,入口作用於已配置的 provider。
3、Fast 轉發。滿足精確匹配 sourceURL 的請求才會被轉發,轉發時保留原適配器生成的認證與業務頭,並轉換爲 Codex 外層載荷。沒有匹配 sourceURL 的請求仍會直通。
4、命令控制。提供 /fast on、/fast off、/fast toggle、/fast status 四條指令。
5、可選角色聯動。能讀取已有角色插件的 runs.json 快照,把啓動時的檔位固定下來,但不會安裝或自動同步角色插件。
安裝與啓用¶
環境要求:DSH 0.2.1-rc.5 及以上,Node.js 22.19.0 或更新版本。插件固定依賴 undici@7.30.1 和 zod@4.6.7;宿主 peer 依賴爲 @deepseek-ai/cordis@>=4.0.5、@deepseek-ai/schemastery@>=3.18.5。
npm 包名爲 @delthin/dsh-fast。無作用域的 dsh-fast 屬於另一位作者,不是本項目,安裝時不要寫錯。
用固定 npm 版本安裝:
dsh plugin --profile web add @delthin/dsh-fast@0.1.2
也可以使用同版本的 GitHub Release 安裝包:
dsh plugin --profile web add https://github.com/Delthin/dsh-fast/releases/download/v0.1.2/delthin-dsh-fast-0.1.2.tgz
把命令裏的 web 換成你自己的 profile 名稱。也可以在 DSH 的插件頁用上面這條 URL 安裝。
安裝後在插件頁檢查組合包和 fast 條目是否啓用。若 DSH 提示需要重啓,則重啓該 profile,再刷新 Web 頁面。
首次安裝不需要角色插件或 Fast 路由就能加載。默認沒有 provider、源 URL、目標 URL、本機路徑:標準請求仍走原適配器,模型選擇器裏的 Fast 入口禁用,/fast on 會明確提示尚未配置。只填寫部分路由字段同樣按未配置處理。
配置 Fast 路由¶
在目標 profile 的 cordis.patch.yml 中,爲安裝生成的 fast 條目添加覆蓋;也可以通過支持修改條目配置的 DSH 插件界面操作:
- id: fast
config:
provider: my-provider
sourceURL: https://provider.example/v1/responses
targetURL: https://trusted-target.example/backend-api/codex/responses
上面的示例域名不能直接使用,必須替換成你自己確認支持此路由的地址。
各字段含義如下:
| 字段 | 含義 |
|---|---|
provider |
DSH 中已有供應商的真實 ID,不是顯示名稱。插件不會創建供應商,也不會配置憑據。 |
sourceURL |
原適配器實際 POST 的完整 Responses URL,包含路徑與查詢參數(如有)。不是 API base URL。只有精確匹配此地址的請求才會被轉發。 |
targetURL |
管理員明確指定且可信的 Codex Responses 目標 URL。必須爲 HTTP(S),不能包含用戶名、密碼或 fragment;無效 URL 會導致插件加載失敗。 |
roleRunsPath |
可選。已有角色插件的 runs.json 快照文件路徑。默認空字符串,不讀取角色文件。相對路徑按 DSH 宿主進程的工作目錄解析。 |
保存配置並由 DSH 重新加載後,打開模型選擇器,在配置的 provider 上切換 Fast,或者直接用命令:
/fast on
/fast off
/fast toggle
/fast status
幾個容易踩的點:
- Fast 狀態下請求其他 provider 會得到明確錯誤,先切回標準檔。
- 狀態接口裏的
lastDelivery只是當前進程內的轉發嘗試記錄,不代表目標已接受請求或兌現優先級。 - 如果之後卸除了路由配置,已有 Fast 會話會明確報「尚未配置」,不會靜默降檔。這時用
/fast off或模型選擇器切回標準檔。
角色插件聯動(可選)¶
不裝角色插件也能獨立使用會話檔位。需要和已有角色插件聯動時,顯式設置 roleRunsPath:
- id: fast
config:
provider: my-provider
sourceURL: https://provider.example/v1/responses
targetURL: https://trusted-target.example/backend-api/codex/responses
roleRunsPath: ./agent-roles/runs.json
同時要在角色插件自己的配置裏手動把 fastProviders 對齊到相同的 provider ID,例如 fastProviders: [my-provider]。本插件不會安裝、修改或自動同步角色插件。
角色會話檔位以啓動快照中的 selection.fast === true 爲準,固定後不能通過 /fast 或模型選擇器修改。舊快照缺少 selection.fast 時仍固定爲標準檔,不能從角色模板的當前值反推。角色設置的修改只作用於以後啓動的新成員。文件不存在或會話不在快照中時按普通會話處理;快照文件損壞或格式錯誤時會報告錯誤,不會忽略已有快照規則。
認證與安全¶
Fast 保留原適配器生成的認證及業務頭,並且只嚮明確配置的 targetURL 發起 Fast 上游請求,不會從請求頭或請求體裏選目標,也不自動跟隨目標的 HTTP 重定向。
這意味着請求內容會發送到該目標,認證憑據也會隨之轉發。因此目標必須可信,並且有權接收原供應商的憑據;生產環境應使用 HTTPS。換句話說,targetURL 填什麼,你的憑據就送去哪裏,這一條需要在配置前確認清楚。
配置完整時,插件使用帶隨機令牌的本機 loopback 轉發端口,並清理內部控制頭、連接級頭。支持原鏈路經過本機 billion 轉發器的精確 /bili/<sourceURL> 形式:先保留其處理,再轉換 Codex 外層載荷。如果走第三方轉發器,仍需自行審查它的認證與日誌策略。
插件通過已有的 llm/stream、storageDomain、sessionController、connection 和 commands 能力工作,不增加 DSH Service,也不替換全局 fetch 或原適配器。轉發回執只保存在內存,最多 1000 個會話,不含提示詞、請求頭或憑據。
從源碼構建與測試¶
從源碼倉庫準備好依賴後執行:
npm install
npm run check
npm test
npm pack
prepack 會執行語法檢查、JSON/元數據檢查和定點測試。測試只用合成數據、本機 HTTP 服務和不髮網的示例 URL,不調用模型,也不調用付費模型。安裝包的 files 白名單隻包含運行文件、locale、圖標、README 和 LICENSE;測試、檢查腳本、截圖索引、截圖、依賴目錄和本地工件都留在源碼倉庫,不進安裝包。
適合誰,以及使用前提¶
適合這類場景:你有一個明確可信的 Codex Responses 目標,希望某個會話在這條路徑上跑得帶優先級,同時又不想改全局 provider 配置、不影響其他會話或子會話。
使用前請確認三件事:
1、目標端確實支持這個 Responses-to-Codex 路由,並且有權接收原供應商產生的憑據。示例域名不能直接用。
2、插件以當前 DSH 進程的權限運行,安裝和配置前先檢查源碼與許可證。本插件爲 MIT License,版權歸 Delthin。
3、本插件只驗證了 Undici 7 全局 dispatcher 這條請求鏈,且未做所有供應商的真實端到端驗證;Fast 也不保證目標服務會兌現優先級或更快。
小結¶
dsh-fast 做的是會話級檔位:一個配置好的 provider、一個精確匹配的 Responses URL,轉發到一個可信的 Codex Responses URL 並帶上 service_tier: "priority";默認狀態下它不會動標準請求,也不會靜默降檔。目錄頁與源碼見下方。