Skip to Content
♜ ReignHub / Docs
Contributing

Add an agent provider

Reuse the connection core and implement only agent-specific adaptation.

Integration boundary

Providers live in the Go application layer; the interface is in internal/provider/provider.go. Handle installation/readiness, native protocols, sessions and commands. Do not build another pairing, account or relay system.

Core methods include Status, Sessions, Transcript, Create, Send, Steer and Interrupt. Additional interfaces cover models, events, attachments and auto-connect. Follow the current source rather than copying outdated signatures.

Capability declarations

Set capabilities true only when implemented. installed means an installation was discovered; running means a process exists. ready/connected requires a working protocol connection.

Independent Apps, CLIs and editor extensions may own different backends. Shared history does not prove all are controllable. Enable actions must clearly explain launch, restart or configuration requirements.

Shared data model

Map sessions to stable IDs, directories, update times and controllable sources. Streams must handle duplicates, gaps and snapshot recovery. Keep assistant text separate from temporary tool activity and converge on final state after completion.

Pass attachments by session resource ID, never arbitrary remote-supplied paths. Tool approvals must follow real agent requests; pairing is not blanket approval for system actions.

Validation

  1. Missing, installed/unconnected, ready and exited-backend states.
  2. Existing history, creation, sending and interruption.
  3. Streaming, duplicates and reconnect snapshots.
  4. Declared model, approval and attachment capabilities.
  5. Native/browser protocol checks using isolated fixtures.

Update the support matrix and website when adding a provider. Do not list unimplemented agents as available.

Edit this page on GitHub

On this page