feat(ai): expand provider capabilities#500
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive support for reasoning models and hosted web search across several AI providers (OpenAI, Anthropic, Google, Ollama, OpenRouter, and Custom). It implements the OpenAI Responses API format, adds a provider-neutral reasoning effort selector in the settings UI, and updates the agent loop to handle streaming status (e.g., "searching") and provider-specific reasoning context. Critical feedback was provided regarding invalid API parameters for Anthropic (output_config instead of thinking) and Gemini (thinkingLevel instead of thinkingBudget), missing support for actual OpenAI reasoning models (o1 and o3-mini) in the model family mapping, and a potential race condition/redundant fetch issue in the AgentChatView.svelte reactive effect.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
i was having issues using the AI features on windows via Ollama + gemma4. looking forward to testing again once this is merged! |
|
@dose-dot-dev thanks, would really appreciate some extra eyes on this, see if this works with your setup on windows for sure. |
|
@Xoshbin looking at this made me question the interface. I think Raycast's Beta has a couple of things correct: Putting text entry at the bottom and having most of the window for content makes more sense. I will make some design proposals. |
Hey @AllDaGearNoIdea Thank your for the pr, first. Edit: I like the idea of giving the whole view to the conversation, but we need to push the archived or old threads somewhere else. |
ShellExecTool spawns an executable directly (Command::new(command).args), with no implicit shell. The tests drove it with POSIX commands — `echo`, `sh`, `ls` — which on Windows are cmd builtins with no .exe (`echo`, `ls`) or absent entirely (`sh`), so the spawn failed and six tests errored once #499 made the suite runnable on Windows. Route the shell-dependent cases through the host shell (`cmd /C` on Windows, `sh -c` elsewhere) via a SHELL constant, with per-platform spellings where the syntax differs (`1>&2` vs `>&2`, `dir /B` vs `ls`). The args-omitted case uses `hostname` — a real no-arg executable present on all three platforms — so it still exercises the "args absent → runs" path without a shell. No product change; ShellExecTool's direct-exec contract is unchanged. Clears the last of the 38 Windows failures surfaced by #499 (see #498). Independent of #500, which only touches the frontend agents UI, not this Rust tool. Claude-Session: https://claude.ai/code/session_01MGJAx66y29o33szDvVYTBH Co-authored-by: Claude Fable 5 <noreply@anthropic.com>


I finally got around to testing AI Agents.
The first thing I thought to do was ask what the next world cup matches were, and that revealed the openai one was using an older api endpoint, and didn't have web search capabilities.
Once I got that working, I had a play with different model response times, and realised there was no "effort" setting.
I've expanded the provider plugin capabilities:
Additional:
markdown table words being
Test:
Tests came back green.