模型端點
已註冊模型、路由、tier、額度與音訊模型的端點。
| Method | 路徑 | 說明 |
|---|---|---|
GET |
/v1/models |
列出已註冊模型(OpenAI {data:[...]} 格式,含 auto) |
GET |
/v1/models/*id |
讀取單一已註冊模型 |
POST DELETE |
/v1/models · /v1/models/*name |
local — 新增 / 移除模型 |
GET POST |
/v1/model |
local — 模型路由集中在一個物件:dispatcher、dispatcher_beta、summary、image、stt、tts,讀取時另附 image_options、image_providers 與 audio_providers。欄位分兩種值:dispatcher、summary、stt、tts 填模型名(prefix@model)—— 其中 stt 與 tts 取自 GET /v1/model/audio,不是 session 模型註冊表;image 自 v1.0.13 起填的是 provider@model 形式的圖像模型 —— image_options 改為對每個握有憑證的 provider(openai、grok、grok-oauth、gemini,v1.0.17 起另加 openrouter)以 image-only filter 探查模型清單,v1.0.18 起快取 15 分鐘,選的是模型而非端點。codex 為例外,仍以裸 provider 名稱呈現;舊版存下的裸 provider 名稱也仍然接受。image_providers 與 audio_providers 維持為完整 provider 清單(image_providers 為 openai、codex、grok、grok-oauth、gemini、openrouter;audio_providers 為 openai、gemini、openrouter)。dispatcher_beta 為 v1.0.18 新增的布林欄位,改由 TypeSafe dispatcher 路由而非 dispatcher;keychain 沒有 TYPESAFE_API_KEY 時設為 true 會回 400 並帶 missing_key。全域 auto_reasoning 開關已於 v1.1.0 移除——改把 session 的 reasoning 設為 auto,由模型選擇器依工作類型逐請求決定等級。POST 為部分更新——未帶到(或 null)的欄位不動,"" 清除,image 另接受 off 作為 "" 的別名。未註冊的模型、未知的 provider、或沒有憑證的 provider 一律拒絕且不寫入 |
GET |
/v1/model/quota |
local — v1.1.0 新增。?model=<prefix>@<model> 回傳 {quota}:該模型所屬 provider 的額度顯示字串(codex、grok-oauth、copilot、ollama-cloud、claude-code 為 "42%";openrouter、deepseek 為 "$12.34"),provider 無額度資訊、沒有憑證或讀取失敗時為 ""。即時讀取(15 秒上限,不快取)。v1.1.0 起額度已從 completion 事件與頻道 footer 移除,改由 dashboard 在 completion 後另行查詢此端點 |
GET |
/v1/model/audio |
local — stt_options 與 tts_options:以目前已存憑證實際可用的 speech-to-text 與 text-to-speech 模型,向 OpenAI、Gemini 與 OpenRouter(v1.0.17 加入)查詢後以 provider@model 回傳;v1.0.18 起各 provider 的結果快取 15 分鐘,失效時機與 /v1/provider/:provider/models 相同。POST /v1/model 的 stt / tts 只接受這些值 |
GET POST |
/v1/model/priority |
local — 已註冊模型的 fallback 順序:被選中的模型失敗後,其餘模型由上而下嘗試。v1.1.0 起略過 pass tier 模型(v1.0.20 至 v1.0.27 仍會依其在順序中的位置嘗試)。GET 回傳 models(依序的模型名)、tiers(model_tag map,模型 → tier)與 tier_options({tier, detail} 列,第一列為代表無 tier 的 "")。POST {models} 把列出的模型依序移到最前,其餘接在後面;未知模型名回 400 |
POST |
/v1/model/tier |
local — {model, tier}。設定單一已註冊模型的 tier:S、A、B、C 或 pass(v1.1.0 起 auto routing 與 subagent 永不選用,即使請求指名也一樣,fallback 也會略過;設為 session 自身的模型時仍會執行);"" 清除。未註冊的模型或未知 tier 回 400 |