agents-go
Plugins

Plugins

The catalog of providers and transports, and how they plug in.

The core is small and vendor-free: it defines interfaces (models, transport, telemetry, kv) and nothing else. Plugins are separate packages under plugins/ that implement those interfaces — so importing the core never pulls an HTTP client or a media stack, and you add exactly the providers you use.

How plugins plug in

  • Model providers self-register with the modelspec registry in their init, so a blank import makes their "provider/model" specs resolve — the database/sql driver pattern:

    import _ "github.com/webdeveloperben/agents-go/plugins/openai"
    // now agents.Config{LLM: "openai/gpt-4o"} resolves
  • Transports are constructed and bound to a session (via Start or a Binding); observability/infra plugins are constructed and handed to the session (Config.Telemetry) or the coordinator (kv.Store).

The registry holds factory functions, not credentials — API keys come from each provider's environment variable (or an explicit option) at construction.

Catalog

Models

Transports

Observability & infra

Adding your own

Every plugin follows the same small contract. To add a provider, see Writing a plugin.

On this page