Add multi-agent support with provider discovery and selection#20
Merged
Conversation
Backend: - Generalize AcpDriver from goose-only to a registry of known ACP agents (Goose, Claude Code, Codex, Pi) with dynamic binary discovery - Add discover_acp_providers Tauri command for frontend agent scanning - Store provider ID on sessions for correct resume behavior - Bump schema version to 3 (new 'provider' column on sessions) - Add open_url command for launching install links in default browser Frontend: - Add agent discovery cache (agent.svelte.ts) loaded once at startup - Add AgentSetupModal shown when no agents are detected - Add AgentDropdown in TopBar for viewing/switching agents - Add AgentSelector inline dropdown in NewSessionModal - Pass selected provider through to start_session/start_branch_session - Persist agent preference in local storage (preferences.svelte.ts)
loganj
added a commit
that referenced
this pull request
Feb 26, 2026
Directory headings for manual sources and white background
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Generalizes the ACP integration from Goose-only to support multiple AI agents (Goose, Claude Code, Codex, Pi). Agents are discovered at startup by scanning for their CLI binaries.
Backend
KNOWN_AGENTSinacp.rsmaps agent IDs → CLI commands + ACP argsdiscover_acp_providersTauri command scans for installed agent binariesprovidercolumn on sessions (schema v3) so resume uses the correct agentAcpDriver::new(provider_id)andAcpDriver::first_available()replace the old goose-only constructoropen_urlcommand for launching install links in the default browserFrontend
agent.svelte.ts): Discovery cache loaded once at startup, shared across componentsSchema
Bumps to v3 — adds nullable
provider TEXTcolumn to thesessionstable.