Plugins
About 401 wordsAbout 1 min
Spora grows in two ways: plugins that drop into any Spora install, and projects that are standalone Spora-compatible applications. This section covers plugins.
A Spora plugin is a Composer package — installable via composer require and shipped to Packagist like any other PHP library — that contributes runtime capabilities to a Spora deployment:
- Tools callable by an agent (web search, image generation, calendar ops)
- LLM drivers that plug into the driver factory alongside OpenAI and Anthropic
- Recipes that bundle a system prompt + tool allowlist into a one-click agent
- Migrations that create plugin-owned database tables
Authoring a plugin
If you want to write a plugin — either for your own Spora install or to publish on Packagist — start with the Plugin author guide. It walks you through the manifest, the entry-point class, tools, drivers, migrations, recipes, local development, the spora-plugin keyword, the PSR-4 entry-point quirk, testing, and SemVer versioning.
Operator: install, update, uninstall
For the operator-facing HTTP API (POST /api/v1/plugins, DELETE /api/v1/plugins/{package}, PATCH /api/v1/plugins/{package}) — the Web UI uses these when the SPORA_PLUGIN_INSTALL_ENABLED feature flag is on — see the Install API page. The CLI equivalents (bin/spora plugin:install|uninstall|update) are always available, regardless of the flag.
Reference: shipped plugins
The 10 plugins currently shipped or in the Spora org:
| Plugin | What it adds |
|---|---|
| Skeleton | Minimal template — start here for new plugins |
| Tavily | AI-native web search (LLM-optimised answer + ranked sources) |
| Serper | Google Search via Serper.dev — 9 operations (web, images, news, video, scholar, shopping, patents, maps, places) |
| Semantic Scholar | Academic paper search and metadata (free, no key) |
| World News | Top news by country and full-text news search |
| Weather | Current conditions, forecasts, astronomy (WeatherAPI.com) |
| Calendar | CalDAV read/write — iCloud, Fastmail, Nextcloud, Radicale, Baïkal |
| SMTP send + IMAP read — 11 operations | |
| MiniMax | MiniMax’s image, speech, music, video capabilities |
| Zernio | Social-media scheduling and publishing across 15+ networks |
For the architecture, manifest schema, and boot semantics that any plugin has to satisfy, see Concepts → Plugin system. For operator install options (CLI vs. composer require vs. Web UI vs. SPORA_PLUGINS_PATHS), see the operator guide and the link to it from the Plugins system page.