From 26de52a513cb74c32c68d5d91f873de5fca1deaf Mon Sep 17 00:00:00 2001 From: Harry Giunta Date: Tue, 22 Sep 2026 20:10:01 -0400 Subject: [PATCH] feat(providers): add Yolo-Auto compatible host Yolo-Auto is a flat-rate OpenAI Chat Completions gateway, so it is a data-driven descriptor row rather than a ProviderKind variant: the wire is ordinary Chat Completions and offerings come from live GET /v1/models. The row ships endpoint, credential env, and a bootstrap model only, which is the same shape every other compatible host uses. Model ids stay out of the compiled catalog by design. Billing: the gateway sells subscription tiers and publishes no per-token catalog, so the route classifies as Unknown and is recorded in the reviewed omission inventory rather than guessed into a plan surface. Compatible-default breadth moves 7 -> 8. --- crates/config/assets/provider_descriptors.json | 12 ++++++++++++ crates/tui/src/pricing/default_coverage_tests.rs | 2 +- .../tui/src/pricing/default_coverage_unpriced.json | 5 +++-- docs/PROVIDERS.md | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/crates/config/assets/provider_descriptors.json b/crates/config/assets/provider_descriptors.json index 66acb9c32a..6bc79cb901 100644 --- a/crates/config/assets/provider_descriptors.json +++ b/crates/config/assets/provider_descriptors.json @@ -99,6 +99,18 @@ "meituan-sensenova", "meituan-sensenova-cn" ] + }, + { + "id": "yolo-auto", + "label": "Yolo-Auto", + "wire": "openai-compatible", + "base_url": "https://yolo-auto.com/v1", + "api_key_env": "YOLO_AUTO_API_KEY", + "default_model": "yolo", + "discovery": "models_endpoint", + "aliases": [ + "yolo" + ] } ] } diff --git a/crates/tui/src/pricing/default_coverage_tests.rs b/crates/tui/src/pricing/default_coverage_tests.rs index 700df06992..4429ee2a50 100644 --- a/crates/tui/src/pricing/default_coverage_tests.rs +++ b/crates/tui/src/pricing/default_coverage_tests.rs @@ -123,7 +123,7 @@ fn shipped_default_routes_have_reviewed_pricing_coverage() { assert_eq!(built_in_count, 51, "review changed shipped-default breadth"); assert_eq!( defaults.len() - built_in_count, - 7, + 8, "review compatible-default breadth" ); let recorded_at = Utc.with_ymd_and_hms(2026, 9, 8, 12, 0, 0).unwrap(); diff --git a/crates/tui/src/pricing/default_coverage_unpriced.json b/crates/tui/src/pricing/default_coverage_unpriced.json index a595197204..1c1c055c9c 100644 --- a/crates/tui/src/pricing/default_coverage_unpriced.json +++ b/crates/tui/src/pricing/default_coverage_unpriced.json @@ -36,7 +36,7 @@ }, { "reason": "unknown_billing_basis", - "review": "No mode/credential product is supplied. Both MiniMax dialects share a PAYG/plan endpoint that cannot prove product (route_billing.rs:253,402; pricing.rs:534); Ollama Cloud is unclassified possible spend, not local/free (pricing.rs:411). Generic Custom and six non-Baseten compatible defaults are transport descriptors without a reviewed product; production envelope refuses Unknown at cost_status.rs:239. AICraft is the sixth compatible default: dc170add3 restored its row from the closed PR #6171 with endpoint, credential env and bootstrap model only, and no billing product or pricing row was reviewed for it. Its default is claude-4.6-sonnet, which has no bundled/hand row either; that omission is recorded here on the shape of the descriptor, and a real source review of AICraft's billing basis is still owed.", + "review": "No mode/credential product is supplied. Both MiniMax dialects share a PAYG/plan endpoint that cannot prove product (route_billing.rs:253,402; pricing.rs:534); Ollama Cloud is unclassified possible spend, not local/free (pricing.rs:411). Generic Custom and seven non-Baseten compatible defaults are transport descriptors without a reviewed product; production envelope refuses Unknown at cost_status.rs:239. AICraft is the sixth compatible default: dc170add3 restored its row from the closed PR #6171 with endpoint, credential env and bootstrap model only, and no billing product or pricing row was reviewed for it. Its default is claude-4.6-sonnet, which has no bundled/hand row either; that omission is recorded here on the shape of the descriptor, and a real source review of AICraft's billing basis is still owed. Yolo-Auto is the seventh: its row carries endpoint, credential env and bootstrap model only, the gateway sells flat-rate subscription tiers with no published per-token catalog to review, and the URL proves no plan product, so the route stays Unknown rather than being guessed into subscription or local-no-bill; a source review of Yolo-Auto's billing basis is owed.", "routes": [ ["aicraft", "claude-4.6-sonnet", "https://aicraftapi.com/v1", "chat_completions", "unknown"], ["cerebras", "llama-3.3-70b", "https://api.cerebras.ai/v1", "chat_completions", "unknown"], @@ -47,7 +47,8 @@ ["minimax", "MiniMax-M3", "https://api.minimax.io/v1", "chat_completions", "unknown"], ["minimax-anthropic", "MiniMax-M3", "https://api.minimax.io/anthropic", "anthropic_messages", "unknown"], ["ollama-cloud", "gpt-oss:120b", "https://ollama.com/v1", "chat_completions", "unknown"], - ["sensenova", "deepseek-v4-flash", "https://token.sensenova.cn/v1", "chat_completions", "unknown"] + ["sensenova", "deepseek-v4-flash", "https://token.sensenova.cn/v1", "chat_completions", "unknown"], + ["yolo-auto", "yolo", "https://yolo-auto.com/v1", "chat_completions", "unknown"] ] }, { diff --git a/docs/PROVIDERS.md b/docs/PROVIDERS.md index 41a3dd0b0f..9dfe7eff03 100644 --- a/docs/PROVIDERS.md +++ b/docs/PROVIDERS.md @@ -42,6 +42,7 @@ against the vendor's own docs before trusting any value here: | Command Code | `https://api.commandcode.ai/provider/v1` | `deepseek/deepseek-v4-flash` | `COMMAND_CODE_API_KEY` | | Alibaba Model Studio (DashScope) | `https://dashscope-intl.aliyuncs.com/compatible-mode/v1` | `qwen3.8-flash` | `DASHSCOPE_API_KEY` | | AICraft | `https://aicraftapi.com/v1` | `claude-4.6-sonnet`; DeepSeek / Claude / Gemini / Qwen / GLM / MiniMax / Doubao families | `AICRAFT_API_KEY` | +| Yolo-Auto | `https://yolo-auto.com/v1` | `yolo` (reasoning) / `yolo-small` | `YOLO_AUTO_API_KEY` | AICraft's roster spans DeepSeek, Anthropic Claude, Google Gemini, Qwen, GLM, MiniMax and Doubao ids on its OpenAI-compatible endpoint. The authority is