Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add multi-agent support with provider discovery and selection#20

Merged
baxen merged 1 commit intomainfrom
baxen/multi-agent-support
Feb 10, 2026
Merged

Add multi-agent support with provider discovery and selection#20
baxen merged 1 commit intomainfrom
baxen/multi-agent-support

Conversation

@baxen
Copy link
Collaborator

@baxen baxen commented Feb 10, 2026

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

  • Agent registry: KNOWN_AGENTS in acp.rs maps agent IDs → CLI commands + ACP args
  • Provider discovery: discover_acp_providers Tauri command scans for installed agent binaries
  • Session provider tracking: New provider column on sessions (schema v3) so resume uses the correct agent
  • Generic driver: AcpDriver::new(provider_id) and AcpDriver::first_available() replace the old goose-only constructor
  • Utility: open_url command for launching install links in the default browser

Frontend

  • Agent store (agent.svelte.ts): Discovery cache loaded once at startup, shared across components
  • AgentSetupModal: Shown when no agents are detected — lists known agents with install links and a refresh button
  • AgentDropdown: TopBar dropdown showing installed/missing agents with selection and install links
  • AgentSelector: Compact inline dropdown in NewSessionModal for per-session agent choice
  • Preferences: Selected agent persisted in local storage and passed through to session creation

Schema

Bumps to v3 — adds nullable provider TEXT column to the sessions table.

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)
@baxen baxen requested a review from wesbillman as a code owner February 10, 2026 06:55
@baxen baxen merged commit 2a06746 into main Feb 10, 2026
1 of 2 checks passed
@baxen baxen deleted the baxen/multi-agent-support branch February 10, 2026 06:58
loganj added a commit that referenced this pull request Feb 26, 2026
Directory headings for manual sources and white background
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant