feat(providers): add Yolo-Auto compatible host - #6408
harryvgiunta wants to merge 10 commits into
Conversation
|
Thanks @harryvgiunta for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
d1112ad to
f0805c3
Compare
|
Gate acknowledged. Rebased onto current |
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.
f0805c3 to
26de52a
Compare
Hmbown
left a comment
There was a problem hiding this comment.
wow I hadn't heard of this before — thank you!
Yolo-Auto's docs (https://yolo-auto.com/docs, 2026-09-28) tell new users on free and paid plans to start with qwen3.8-flash; `yolo` and `yolo-small` are paid-only per /models. The picker's descriptor form fills in default_model, so a free-plan user set up from /provider would have started on a paid alias whose server-side target can change. - default_model yolo -> qwen3.8-flash, and add the verified docs_url so the setup form links the vendor's docs like the other rows. - Reviewed-omission route row follows the new bootstrap model; it stays in unknown_billing_basis (same shape as DashScope's qwen3.8-flash row). - PROVIDERS.md row marks yolo / yolo-small as paid; the zh_hans host list now names Yolo-Auto too. Tests (local): cargo test -p codewhale-config --lib descriptors -> test result: ok. 3 passed; 0 failed cargo test -p codewhale-tui --lib -- pricing::default_coverage_tests provider_picker::tests::descriptor -> test result: ok. 2 passed; 0 failed cargo test -p codewhale-tui --lib -- every_bundled_descriptor a_configured_descriptor activating_a_descriptor picker_lists_all_providers diagnostics_list_and_read_bounded_windows -> test result: ok. 5 passed; 0 failed scripts/check-provider-registry.py -> passed Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
The contributor-credit gate flagged the PR's commit author twice (display name and login) because no AUTHOR_MAP entry mapped harryvgiunta@gmail.com. Map both aliases to the numeric noreply identity (GitHub id 37885714, checked with gh api), and credit Hmbown#6408 in the v0.10.1 band of docs/CONTRIBUTORS.md, RELEASE_CONTRIBUTORS and requiredCandidateCredits. CHANGELOG.md's 0.10.1 Contributors block is left to the release commit on main; until that bullet lands, check-contributor-credit.py and the two web credit-parity tests report only CHANGELOG.md. With the bullet applied locally: check-contributor-credit.py v0.10.0 -> "Every contributor in the window is credited on all three surfaces."; vitest lib/public-copy.test.ts lib/public-surface-contract.test.ts -> Tests 18 passed (18). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
|
|
||
| ### Contributors | ||
|
|
||
| - **[@harryvgiunta](https://github.com/harryvgiunta)** — added Yolo-Auto as a bundled OpenAI-compatible host, starting on the vendor's recommended `qwen3.8-flash` model ([#6408](https://github.com/Hmbown/Codewhale/pull/6408)). |
| "wire": "openai-compatible", | ||
| "base_url": "https://yolo-auto.com/v1", | ||
| "api_key_env": "YOLO_AUTO_API_KEY", | ||
| "default_model": "qwen3.8-flash", |
Preserve harryvgiunta original PR Hmbown#6408 history. Keep main Tsubasa and original Yolo-Auto descriptor, documentation and Unknown-billing rows together; the combined compatible descriptor breadth is nine. Preserve existing candidate credits. Unverified integration checkpoint: focused provider/pricing and mandatory web gates remain pending, and published-release credit placement still needs correction.
Preserve harryvgiunta's original PR Hmbown#6408 and AUTHOR_MAP identity. Move the unshipped provider contribution out of the published 0.10.1 credit record into Unreleased in the canonical ledger, changelog/TUI mirror and existing website contributor list. The preceding ordinary main merge preserves both Tsubasa and Yolo-Auto, including their distinct Unknown-billing evidence, with a combined compatible-descriptor breadth of nine. The original Yolo descriptor is unchanged and uses the shared named-custom-provider execution path. Verified on frozen source with coordinating-root logs: - Config descriptor tests: 4 passed, 0 failed. - TUI pricing/descriptor-picker tests: 3 passed, 0 failed. - npm test: 636 passed (68 + 16 + 50 + 502), 0 failed. - npm run check:web: passed, including 839 generated pages. - Provider registry, changelog mirror, contributor credit (7), formatting, and diff checks passed. Existing descriptor rows and pricing buckets were independently compared; no existing row was dropped or changed. The initial TUI invocation had an argument error before compilation; the corrected invocation ran all three named tests. Logs are /private/tmp/cw-6408-{config,tui,npm,web}-root.log. No provider request was made. New-head hosted CI remains required.
Remove the unsupported shared paid label without changing descriptor or billing metadata. Preserve the original contributor provider integration. Validation: npm test 636 passed, 0 failed; npm run check:web passed including 839 generated pages. Rust source is unchanged from the prior reviewed provider head. Signed-off-by: Hunter B <hmbown@gmail.com>
Preserve harryvgiunta's original PR Hmbown#6408 history at 5d523f5 and merge main b66b4ab normally. Resolve only the candidate-credit list conflict in docs/public-surface-facts.json by retaining both @harryvgiunta and @wuisabel-gif. Existing Unreleased and release credits remain on their existing surfaces; no version or release claim changes. The provider descriptor and both pricing coverage files are byte-identical to the original PR head. The cumulative contribution remains 11 paths, 40 insertions and 5 deletions against merged main. Fleet's published fix/fleet-cli-boundary-test branch remains at 0f48161. Verified on the unchanged staged tree fda873a by the coordinating root runner: - npm test: 670 passed (68 + 16 + 50 + 536), 0 failed, 0 skipped. - npm run check:web: passed. - Contributor-credit check: passed, 7 contributors found in history window. - Diff check against merged main: passed. The first sandboxed npm attempt failed two loopback fixtures with listen EPERM; the unrestricted root run above passed both. Logs: /private/tmp/codex-6408-main-root-{npm,web}.log. No Rust build or provider call was performed for this credit-only merge resolution. New-head hosted CI remains required before merge. Signed-off-by: Hunter B <hmbown@gmail.com>
Resolved conflicts only in CHANGELOG.md, crates/tui/CHANGELOG.md, docs/CONTRIBUTORS.md and web/lib/release-credits.ts by keeping both the @harryvgiunta and @SparkofSpike entries. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
Refs #6289.
Adds Yolo-Auto as a bundled compatible-host descriptor on the existing named custom-provider path. Users can select it through the provider picker/setup with
YOLO_AUTO_API_KEY, thehttps://yolo-auto.com/v1Chat Completions endpoint, andqwen3.8-flashas the bootstrap model. Authenticated/modelsdiscovery remains the model authority; no new ProviderKind or compiled model roster is introduced. The descriptor values match the vendor's API documentation, read during review.Billing stays Unknown. Public subscription terms and an endpoint URL do not identify the product or plan behind a configured credential, so this change does not label the route free, no-bill, or a verified subscription. The pricing omission ledger records that limitation.
This preserves @harryvgiunta's original PR and commits. Current main was merged normally; its Tsubasa descriptor, documentation and pricing evidence are retained alongside Yolo-Auto. The combined compatible-descriptor inventory is nine. Contributor credit is recorded under Unreleased in the existing ledger, changelog/TUI mirror and website surface. The required candidate-credit list also includes @harryvgiunta.
The provider table retains all three example model IDs and omits the unsupported shared paid label. The official model documentation, checked on 2026-09-29, labels
yoloas paid but does not attach that label toyolo-small. This documentation correction changes no descriptor or billing metadata.Validation: the provider descriptor and both pricing coverage files are byte-identical to the previously qualified contributor source (4 config tests and 3 TUI descriptor/pricing tests passed). The current head merges main b66b4ab normally and resolves only the candidate-credit conflict by retaining both @harryvgiunta and @wuisabel-gif. All original contributor commits remain ancestors.
On the current merged tree,
npm testpassed 670 tests (68 + 16 + 50 + 536), with 0 failures or skips;npm run check:webpassed. Contributor-credit and diff checks passed. No Rust rerun was needed for the credit-only merge resolution. These local checks do not qualify a live provider account; no authenticated provider call was made. All hosted checks must pass on the new head before merge.