dsh-openrouter-live:DeepSeek Harness 的 OpenRouter 實時模型提供程序

前言

DeepSeek Harness (dsh) 的內置 openrouter 路由使用發佈時附帶的靜態模型列表。OpenRouter 上線的新模型(如 deepseek/deepseek-v4.1-flash)在下一個 DSH 版本發佈前不會出現在模型選擇器中。dsh-openrouter-live 插件爲 dsh 提供了一個新的路由,它直接讀取 OpenRouter 的 /models 端點,確保模型列表實時更新。

核心功能

該插件通過讀取 OpenRouter 的實時數據,擴展了 DSH 的能力:

  • 實時模型列表:列表每 10 分鐘刷新一次。模型按名稱排序,且輸入/輸出價格以每百萬 tokens 計算後追加到模型名稱中。如果刷新失敗,則繼續使用上一次有效的列表。
  • 模型元數據:上下文窗口和輸出限制直接來自 OpenRouter 的 API。推理級別(reasoning levels)從模型的 reasoning.supported_efforts 讀取,選擇器中只會顯示模型支持的選項。
  • 圖像輸入:支持圖片輸入。插件會內聯圖片,並遵循 DSH 的圖片預算:圖片會被縮放,當請求過大時,舊圖片會被卸載。
  • 推理連續性:插件會在後續請求中發送 reasoning_details(包括簽名和加密條目),使 Claude 或 DeepSeek 等模型能夠在工具調用間保持推理狀態。
  • 提示緩存:Anthropic 模型會在系統提示詞和最新消息處設置緩存斷點。對於其他提供商,插件使用 x-session-id 頭部保持會話與上游提供商一致,從而保持緩存熱度。
  • 故障分類:錯誤被映射爲 DSH 的故障代碼,以便重試插件只針對值得重試的情況進行重試(如速率限制、5xx 錯誤、空響應),而跳過無效密鑰或上下文溢出等錯誤。
  • 實際花費追蹤:插件記錄 OpenRouter 報告的每次響應的 usage.cost,這是真實費用而非估算值。費用會附加到當前會話及其所有委託的子會話中。數據持久化在 ~/.dsh/openrouter-live/costs.jsonl 中,每行對應一個 JSON 記錄,包含 OpenRouter 的生成 ID。
  • 共享憑據:默認情況下,該路由讀取與內置 openrouter 路由相同的 OPENROUTER_API_KEY 憑據,無需額外配置。

安裝與啓用

安裝前請確保環境滿足以下要求:
* DeepSeek Harness 版本:0.1.6-alpha.2 至 0.1.7
* Node.js 版本:^22.19 或 >=24
* 已擁有 OpenRouter API Key

執行以下命令安裝插件:

dsh plugin --profile web add dsh-openrouter-live

安裝後必須重啓配置文件。若尚未存儲 API Key,請在設置中選擇 OpenRouter 卡片存儲,或導出 OPENROUTER_API_KEY 環境變量。

配置

插件的所有配置項均位於 ~/.dsh/profiles/<profile>/cordis.patch.yml,在 openrouter-live 節點下設置。

基本配置示例

- id: openrouter-live
  config:
    models: ['deepseek/*', 'anthropic/claude-*']
    priceInName: true

關鍵配置項

字段 默認值 說明
models [] 模型 ID 的通配符過濾列表。空列表表示顯示所有模型。
priceInName true 是否將價格追加到模型名稱中。
apiKeyEnv OPENROUTER_API_KEY 讀取憑據的環境變量名。
maxTokens 32768 輸出限制。如果未設置,則使用此值,但模型自身的限制優先級更高。
costLedgerPath $DSH_HOME/openrouter-live/costs.jsonl 花費日誌文件的路徑。設置爲空字符串則僅保留在內存中。

典型用法

設置默認模型:

agent-default-model:
  provider: openrouter-live
  model: deepseek/deepseek-v4.1-flash

在 Composer 中選擇模型,或使用命令查看花費:

/cost

注意事項

  • 許可證:本項目採用 MIT 許可證。
  • 源碼審查:作爲插件,它以當前進程權限運行。建議在安裝前檢查源碼。
  • 安裝方式:請安裝打包後的 .tgz 文件,不要安裝目錄,否則會導致依賴解析錯誤。
羽毛球分组比赛记分
小程序二维码

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

小夜