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. |
Co-authored-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <bradgroux@hotmail.com>
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. |

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.