Plugins
Plugins extend the runtime with new capabilities — browser, search, mail, voice, RAG. Skills shape behavior; plugins grow the surface.
Plugin vs skill
A plugin contributes new capabilities to the runtime: tools the agent did not have, channels the runtime did not accept, voice providers, RAG backends. Plugins are loaded at runtime start and persist for the lifetime of the process.
This is the opposite role from a skill. A skill shapes behavior on an existing capability surface. A plugin extends the capability surface itself. If the runtime cannot do something at all, it is a plugin question; if the runtime can do it but you want the agent to approach it differently, it is a skill question.
First-party plugins
Browser
Headless browsing via Playwright/Chromium. Extract text, HTML, or screenshots from pages.
Tools
Search
Brave Search, Tavily Search, Firecrawl, Perplexity Sonar. Enable the ones you want.
Tools
IMAP/SMTP email with SSL, STARTTLS, and threading headers for reply-aware flows.
Tools
Voice
ElevenLabs TTS and Whisper STT. Needed for Telegram voice or any voice-in/voice-out workflow.
Tools
LightRAG
Knowledge-graph RAG for long-term structured recall. Runs as a separate container.
RAG
Plugins are optional
The runtime works without any plugins. Install them only when you need the capability they provide. Installed but unused plugins still cost startup time and memory.
Installing a plugin
- Open Settings → Plugin Marketplace.
- Browse the catalog. Each card shows the plugin name, description, and status (installed, available, deprecated).
- Click Install on the plugin you want. Installation is atomic — if it fails, nothing changes.
- After installation, configure the plugin in its own Settings section. Each plugin contributes one; navigate to Settings → <plugin name>.
Plugin configuration is stored separately from core runtime config, under preferences/plugins/golemcore/<plugin>.json. This keeps the core config stable when plugins come and go.