feat: add Gemini provider via OpenAI-compatible API#51
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a3ca6832d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| profiles.insert( | ||
| "gemini".to_string(), | ||
| Profile { | ||
| model_provider: "gemini".to_string(), | ||
| model: "gemini-3-flash-preview".to_string(), |
There was a problem hiding this comment.
Merge Gemini defaults into existing configs
These default profile/provider inserts only affect newly created configs; when a user already has ~/.qq/config.json, Config::load_or_init parses and returns that file unchanged, so upgrading users get no gemini profile or provider and qq --profile gemini ... fails with Profile 'gemini' not found unless they manually edit or delete their config. Please merge missing built-in defaults into loaded configs (without overwriting user customizations) so the new bundled provider is actually available to existing installations.
Useful? React with 👍 / 👎.
Summary
geminiHTTP provider pointing at Google's OpenAI-compatible endpoint.--initas option[8]and documentGEMINI_API_KEYsetup.Partially addresses #43. Supersedes #46 — thanks @Andrei9383.
Does not include a
gemini-clibackend (still future work per #43).Test plan
cargo testexport GEMINI_API_KEY=... && qq --profile gemini "what is ripgrep?"Made with Cursor