Skip to content
Back to site

Plugins Overview

Hivekeep’s plugin system lets you extend functionality without modifying core code. Drop a folder into plugins/ and get new capabilities instantly.

A single plugin can contribute one or more of these:

TypeDescription
ToolsNew AI-callable functions for Agents (weather, SMS, RSS…)
ProvidersCustom providers across all nine native families: LLM, embedding, image, search, TTS, STT, email, contacts, calendar
ChannelsNew messaging platforms
HooksIntercept lifecycle events (before/after chat, before/after tool calls)
CardsRich, live-updating UI emitted into the chat (progress, action buttons, structured data)

Plugin providers implement the same native interfaces as Hivekeep’s built-in providers: LLMProvider, EmbeddingProvider, ImageProvider, SearchProvider, TTSProvider, STTProvider, EmailProvider, ContactsProvider, CalendarProvider. There is no separate, simplified shape for plugins.

  1. Low barrier to entry: a plugin is a folder with a manifest and a TypeScript file
  2. TypeScript-first: compiled by Bun at load time, no separate build step
  3. Safe by default: plugins declare permissions; users approve before activation
  4. Agent-scoped: enable plugins globally or per-Agent
  5. Compatible: built-in tools remain unchanged; plugins use the same patterns

Plugins are admin-only and managed exclusively from the UI: Settings → Plugins lets an admin browse the npm marketplace, install, enable/disable, configure, and uninstall plugins. The UI auto-generates settings forms from the plugin’s configSchema.

Agents cannot install or manage plugins themselves: that capability was intentionally removed to keep the attack surface admin-gated.

Server Start
→ Scan plugins/ directory
→ Validate each plugin.json
→ Register discovered plugins (not yet activated)
→ Activate globally-enabled plugins
→ For each Agent, activate Agent-specific plugins

Plugins have two levels of enablement:

  • Global: plugin is active at the platform level. Its providers, channels, and hooks are registered.
  • Per-Agent: plugin’s tools are available to specific Agents. Configured in each Agent’s settings.
  • Config changes: applied immediately (no restart). Plugin deactivates, re-initializes with new config, then activates.
  • Code changes: require clicking Reload Plugins or restarting Hivekeep.
  • Manifest changes: require reload.
MethodHowUse Case
npm marketplaceSettings → Plugins → Browse → search → InstallPublished plugins (any package tagged with the hivekeep-plugin keyword)
Git URLSettings → Plugins → Install from URLUnpublished, private, or in-development plugins
ManualDrop a folder into plugins/Local development; managed entirely by hand

See Developing Plugins for the full development guide.