dsh-llm-arena:在 DSH 中接入 Arena API 與 OpenAI Responses

前言

DeepSeek Harness(DSH)通過插件擴展模型提供方,而不是把各家 API 寫死在主程序裏。若要在 Web 配置裏選用 Arena 的模型,並走 OpenAI Responses 協議而非 Chat Completions,需要一份與 DSH 配置解析、憑證引用一致的 provider bundle。

社區維護的 dsh-llm-arena(維護者 Sazmir,分類:模型推理)面向 Arena API,並針對控制台裏 Arena Router 促銷餘額的使用方式做了模型目錄與說明;同時提供 Windows 下在特定 Cloudflare 攔截場景下的傳輸回退。以下按安裝、配置與選用模型的順序說明。

這是什麼

dsh-llm-arena 是 DSH 的 Arena API provider bundle:註冊 provider id arena,協議爲 openai-responses,基址 https://api.arena.ai/v1,憑證引用名爲 ARENA_API_KEY。包內預置六個模型 id,並在配置合併時以「僅補缺」方式恢復缺失的 arena 路由,避免靜態 patch 覆蓋其它層已註冊的 provider。

文檔聲明兼容 DeepSeek Harness 0.2.0-rc.2;Node.js 需 22 或更高。其它 DSH 版本未經單獨驗證前不應默認可用。

核心功能

Provider 與協議

  • Provider id:arena
  • 協議:openai-responses(非 Chat Completions)
  • Base URL:https://api.arena.ai/v1
  • 憑證引用:ARENA_API_KEY(bundle 配置中只寫引用名,不落明文密鑰)

預置模型與餘額類型

插件在模型選擇器中提供六條目錄項。README 強調:Arena Router 餘額與 All models 餘額對應不同模型;選錯可能遇到 HTTP 402 paid_credits_required。

Model id Display name 訪問說明
coding-router-preview Arena Router · Coding (promo) 推薦給 Arena Router 促銷餘額
claude-coding-router-preview Arena Router · Claude (promo) Claude 向路由,推薦給 Arena Router 促銷餘額
claude-fable-5-1 All models · Claude Fable 5.1 直連;需 All models 非零餘額
claude-opus-5-5 All models · Claude Opus 5.5 同上
claude-sonnet-5-5 All models · Claude Sonnet 5.5 同上
claude-haiku-5-5 All models · Claude Haiku 5.5 同上

若控制台在 Arena Router 有餘額而 All models 爲 $0.00,應優先選 coding-router-preview 或 claude-coding-router-preview。目錄存在不保證賬戶權限、現價、限速或實際上下文上限;以當前 Arena 控制台爲準。

Bundle 對未公開覈實上限的模型使用保守元數據(例如 262,144 上下文、32,768 輸出);coding-router-preview 使用文檔記載的 1,000,000 上下文、128,000 輸出及 text/image 元數據。這些是包內目錄值,不是上游服務承諾。

運行時路由恢復

DSH 的 profile 與 bundle 層可能整體替換 llm-pi-ai.providers。本插件在解析配置時僅在缺少 arena 路由時注入默認項:保留其它 provider、不改動用戶已顯式定義的 arena、拒絕畸形 map,且不寫回 profile 文件。

Windows 下的 Cloudflare 兼容回退

默認每次 Arena 請求先走 DSH 已安裝的 Fetch。僅在 Windows 上,當對 https://api.arena.ai 的響應同時滿足 HTTP 403、HTML 正文、server: cloudflare、非空 cf-ray,且在正文前綴內識別到 Cloudflare 攔截頁標記時,該次請求會通過本地 PowerShell 7(pwsh)/.NET HttpClient 助手回放一次;下一次仍從原生 Fetch 開始。普通 401/JSON 403、配額與速率類響應不觸發回退;macOS/Linux 保持僅原生傳輸。需要 Windows 回退時需安裝 PowerShell 7 並保證 pwsh 在 PATH 中。

安裝與啓用

建議按發佈標籤安裝(當前 package 版本爲 0.1.1):

dsh plugin --profile web add github:Sazmir/dsh-llm-arena#v0.1.1
dsh --profile web --dump-config
dsh web

--dump-config 只校驗組合結果,不發起 provider 請求。確認輸出中包含 llm-arena 行。安裝後重啓已有 DSH Web Host,刷新頁面,在模型選擇器中應能看到 Arena API 與上述六個模型項。

跟蹤 main 的開發安裝:

dsh plugin --profile web add github:Sazmir/dsh-llm-arena

卸載:

dsh plugin --profile web remove dsh-llm-arena

卸載 bundle 不會自動刪除或吊銷 DSH 中已保存的 Arena 密鑰;需要時請自行移除或輪換。

配置 API 密鑰

推薦在 Web 界面操作:

  1. 打開 DSH Web → Settings → Models。
  2. 選擇 Arena API。
  3. 填寫 Arena API key 並應用。

DSH 將值存到憑證引用 ARENA_API_KEY。勿把明文密鑰寫入 cordis.patch.yml、自定義頭、命令行參數、示例或日誌。

Windows 也可用啓動環境變量(示例自 README):

$env:ARENA_API_KEY = Read-Host "Arena API key" -MaskInput
dsh web

POSIX:

read -rsp 'Arena API key: ' ARENA_API_KEY; echo
export ARENA_API_KEY
dsh web

典型用法與費用相關說明

安裝並配置密鑰後,在 DSH Web 的模型列表中選擇 Arena API 下的模型 id 即可發起調用。實際請求會把對話內容(含 prompt、system、工具 schema 與結果、附件等)發往 Arena 及其可能選擇的上游;調用、重試與回退回放可能消耗額度。

以下步驟不產生模型調用:安裝、dsh --profile web --dump-config、在插件倉庫內執行 npm test 與 npm run verify。README 中的可選 live smoke 需顯式 opt-in,可能計費,不應在 CI 或常規校驗中默認運行。

適用場景與注意

適合誰: 已在 DSH 0.2.0-rc.2 上使用 Web profile,並擁有 Arena API key;希望用 OpenAI Responses 統一接 Arena,且尤其要利用 Arena Router 促銷餘額走 coding-router-preview / claude-coding-router-preview 的開發者。

權限與安全: 插件隨當前 DSH 進程權限運行;安裝前應審閱倉庫源碼與許可證(MIT)。模型調用涉及數據出網與計費,安裝前請閱讀 README 中的 WARNING 與 SECURITY 說明。

排錯摘要:

  • 選擇器中沒有 Arena API:確認 DSH 版本、--dump-config 是否含 llm-arena、重啓 Host 並刷新頁面。
  • MISSING_CREDENTIAL:配置 ARENA_API_KEY 或啓動環境變量。
  • 直連 Claude 模型報額度/權益錯誤:檢查 All models 餘額與賬戶權限。
  • Windows 上識別到 Cloudflare 攔截但回退失敗:檢查 pwsh 與 PowerShell 7。

DSH 社區插件目錄(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係;本介紹事實來源以插件 GitHub README 與 package 元數據爲準。

鏈接

  • 目錄頁:https://www.skillhub.cn/plugins/Sazmir/dsh-llm-arena
  • 倉庫:https://github.com/Sazmir/dsh-llm-arena

以上爲在 DSH Web 中掛載 Arena provider、按賬戶餘額類型選對模型 id,並在 Windows 特定網絡場景下了解傳輸行爲的操作要點。

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

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

小夜