What is a Plugin?
A plugin is a package that can:- Register tools available to agents (e.g.
git,wrangler,slack) - Register a channel for receiving/sending messages (e.g. Telegram, Discord)
- Register hooks into the session and gateway lifecycle (e.g. content filters, audit)
- Register skills (read-only knowledge mounted into agent sandboxes)
- Run background processes (e.g. Telegram polling, cron jobs, file watchers)
Plugin Lifecycle
- Load — The gateway imports the plugin and calls
createPlugin(config, ctx) - Register — The plugin registers tools, channels, hooks, and skills via
PluginRegistrar - Start — After all plugins register, the gateway calls
plugin.start()for background processes - Run — The gateway routes tool calls, messages, and hooks to the registered handlers
- Stop — On shutdown, the gateway calls
plugin.stop()in reverse order
Built-in vs Plugin
The gateway provides 4 core tools and the TUI channel. Everything else is a plugin.
In This Section
Plugins
How plugins work: manifest, entry point, registration, lifecycle
Tools
How plugins register tools and how agents use them
Channels
How plugins provide channel adapters for messaging
Skills
Read-only knowledge packages for agents — standalone or plugin-provided
Hooks
Intercept messages, tool calls, and lifecycle events
Building Plugins
Step-by-step guide to creating your own plugin
