Skip to main content

Integrations

The agent core is intentionally narrow. Capabilities are attached at its async edges so the conversation loop, prompt-cache prefix, message alternation, and trajectory order remain stable.

Integration surfaces

SurfaceBest forLifecycle
Model provider profilesSelecting an inference endpoint and wire protocolInitialized and closed by AIAgent
Provider pluginsWeb search, browser, image/video, and external memory backendsDiscovered lazily at an awaited boundary
MCPExternal structured tools owned by another process or serviceConnected, called, and closed asynchronously
SkillsReusable instructions and supporting filesDiscovered and read from disk on demand
Built-in toolsFundamental file, terminal, memory, browser, and planning operationsScheduled by the core tool executor

Start with Model providers. For external tools, see MCP; for instructional extensions, see Skills.

Plugin discovery

Bundled provider definitions live under the installed plugins/ package. Application-owned plugins can live under $HERMES_HOME/plugins/. Discovery is lazy, and a user provider profile with the same name can override its bundled counterpart.

A plugin must implement the native-async contract for its category. A synchronous handler is rejected rather than hidden behind a thread bridge. Provider-specific dependencies should remain optional and fail with a clear installation hint when absent.

What is not an integration surface here

This distribution does not ship the upstream CLI/TUI, desktop or dashboard, messaging platforms, cron scheduler, FastAPI server, or editor adapter. Build those applications around the library API rather than depending on residual helper package names.

The framework-neutral embedding contract is documented in the Python library guide.