fix(desktop): let Goose agents use OpenAI-compatible provider URLs - #2905
fix(desktop): let Goose agents use OpenAI-compatible provider URLs#2905BradGroux wants to merge 1 commit into
Conversation
788ff48 to
6ab056e
Compare
|
I rebuilt this branch on current The issue is still real: Buzz's canonical OpenAI-compatible settings and the environment Goose expects can diverge across readiness, model discovery, and spawn. However, #1968, #2773, #2974, and #3093 changed the correct integration seam. The refreshed implementation uses runtime metadata plus the current effective descriptor so every consumer gets the same provider alias and environment mapping. Head Verification includes all 3,725 Desktop JavaScript tests, Desktop typecheck, targeted Biome checks, native managed-agent tests, and strict native Clippy. No live third-party endpoint or credential was used, so the proof is the effective environment/discovery contract rather than a remote-provider smoke test. |
|
AFAICT you can already configure and use openAI-compatible providers in Goose. And Goose is wired up with Buzz already when you install (at least i didn't manually configure anything for it). So if your openai-compat provider is setup with Goose it will already work in Buzz (screenshot below)
#2827 is about enabling the openai-compatible provider in Buzz harness (not Goose or any other), just some wiring and UI stuff – this AFAICT is still missing. |
6ab056e to
3662994
Compare
|
Thanks for the correction. You're right that Goose itself already supports OpenAI-compatible providers, and #2827 is the right place for Buzz Agent/onboarding Base URL UI. The remaining bug in #2749 is narrower: when the provider is configured through Buzz, especially for legacy records that stored the endpoint URL as the provider, Buzz can launch Goose with that URL in I've rebased and narrowed this PR to that Buzz-to-Goose boundary. The overlapping Buzz Agent/UI changes are gone. Head The full Tauri suite now passes with 1,889 library tests plus 3 mixer diagnostics, strict Clippy is clean, and the Desktop checks/build and 3,781-test JavaScript suite pass. |
3662994 to
e640378
Compare
|
Rebased this branch onto current Head moved from Verification:
GitHub checks are rerunning on the new head. |
e640378 to
bbf3127
Compare
|
Rebased onto current The remaining change is still needed, but its boundary is narrower than the original issue: #3798 owns the structured base-URL UI, while this PR fixes the Buzz-to-Goose runtime translation for Buzz-managed and legacy settings. #3398 only aliases the API key and does not cover endpoint translation or the runtime paths here. The rebase also tightened the implementation after a clean-context review:
Exact-head verification on
No packaged-GUI or Windows validation was performed; the regression coverage verifies the effective environment and discovery inputs Buzz produces for Goose. |
bbf3127 to
4c58859
Compare
|
Rebased onto The feedback that Goose itself already supports OpenAI-compatible providers is correct, but it does not remove this PR's remaining Buzz-side bug. Current Buzz The rebase required manual integration around the newer effective-config tiers, model-tuning fields, configuration-diff work, and spawn-snapshot layout. Those behaviors are preserved. I also corrected one integration defect exposed by the current file-size ratchet: provider mapping was moved out of the already-large discovery module into Exact-head verification on
No live third-party provider or credential was used. The proof remains the effective environment, precedence, discovery, readiness, and spawn contracts Buzz produces for Goose; packaged-GUI and Windows validation remain outside this branch's verified surface. |
4c58859 to
1265d0b
Compare
Review and rebase summaryReviewed the PR for accuracy against current What this PR doesMaps Buzz's canonical OpenAI-compatible provider settings into Goose's native provider environment variables. When a user selects Accuracy review
Rebase resultHead moved from CIDCO passes. Semgrep OSS and zizmor were pending at the time of this comment. |
Co-authored-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <bradgroux@hotmail.com>
1265d0b to
48b1207
Compare
Rebase and accuracy review (2026-08-07)Rebased onto current Branch state: Conflict resolution
Accuracy reviewThe PR adds provider-environment translation for Goose agents: when Buzz's canonical provider ID or env names differ from what the Goose harness reads, the mapping is declared on The implementation is clean: The AGENTS.md documentation correctly states that provider translation belongs in runtime metadata, not duplicated across UI components or individual call sites. |

Addresses the Buzz-to-Goose runtime boundary in #2749. The structured base-URL UI remains in #3798.
What was happening
Goose already supports OpenAI-compatible providers when they are configured in Goose itself. The broken path is narrower: Buzz-managed Goose configuration can launch
goose acpwith a legacy endpoint URL inGOOSE_PROVIDER, or keep Buzz's canonicalOPENAI_COMPAT_*values separate from the runtime variables Goose reads. That makes otherwise valid Buzz settings fail before or during model discovery.What changes
openai-compatand valid legacy HTTP(S) provider values toGOOSE_PROVIDER=openai.GOOSE_PROVIDER__API_KEYandGOOSE_PROVIDER__HOST) and the supported OpenAI aliases (OPENAI_API_KEY,OPENAI_HOST, andOPENAI_BASE_URL).#3798 remains the owner of structured OpenAI-compatible Base URL UI. This PR does not duplicate that work.
Verification
Verified on exact head
bbf31271ea22cddebcead0bde60457818b13a580, rebased onto currentmainatb1b283cd4c7f926e12eeee8ae1f38c7471922b16:cargo checkpassed.No third-party credential or live remote endpoint was used. The regression coverage verifies the effective environment and discovery inputs Buzz produces for Goose; it does not claim packaged-GUI or Windows validation.
Scope
This changes only OpenAI-compatible provider translation for Goose. It does not change Buzz Agent provider behavior, add a dependency, or add overlapping configuration UI.