Agent frameworks

Hermes Agent

SurrealDB Agent Memory as a memory provider for the Hermes Agent.

SurrealDB Agent Memory is a memory provider for the Hermes Agent. Once installed and selected, the agent recalls relevant memories before each turn, writes each completed turn back to SurrealDB Agent Memory asynchronously, and consolidates memory when a session ends. It also gains explicit memory tools it can call directly.

Package: spectron-hermes (PyPI). It pulls in the SurrealDB SDK (surrealdb v3, which bundles SurrealDB Agent Memory) and registers the plugin with Hermes through the hermes_agent.plugins entry point.

  • Python 3.10+

  • A running Hermes Agent install

  • SurrealDB Agent Memory access: endpoint, context, and API key

pip install spectron-hermes
export SPECTRON_API_KEY="..."
export SPECTRON_ENDPOINT="https://your-instance.spectron.dev"
export SPECTRON_CONTEXT="my-context"

Select the provider. Hermes prompts for any missing settings and writes the non-secret ones to $HERMES_HOME/spectron.json:

hermes memory setup      # choose "spectron"
hermes memory status     # confirm it is active
hermes                   # run a session with Spectron-backed memory
SettingEnv varDefaultNotes
api_keySPECTRON_API_KEYn/aSecret, required (kept in .env)
endpointSPECTRON_ENDPOINTn/aRequired, origin with no trailing slash
contextSPECTRON_CONTEXTn/aRequired; a client is pinned to one context
recall_modeSPECTRON_RECALL_MODEhybridhybrid, context, or tools
write_frequencySPECTRON_WRITE_FREQUENCYturnturn or session
top_kSPECTRON_TOP_K5Memories recalled per turn
default_scopeSPECTRON_DEFAULT_SCOPEn/aFor example user/tobie; scope for writes and lens for reads

Recall modes. hybrid injects raw recalled memories before each turn; context injects a synthesised answer instead; tools injects nothing and lets the model recall explicitly with spectron_recall / spectron_context.

ToolPurpose
spectron_recallSearch memory across semantic, lexical, graph, and temporal signals.
spectron_rememberStore a durable fact.
spectron_contextReturn a synthesised answer from memory.
spectron_forgetSupersede (default) or hard-delete.
spectron_reflectDerive insights, optionally persisting them.
spectron_uploadIngest a document into knowledge memory.

The provider is built not to destabilise the agent. Writes run on a background daemon thread, so turns never block on I/O. Every SurrealDB Agent Memory call is wrapped; failures are logged and degrade to empty results rather than raising into the agent loop (fail open). After repeated failures or an authentication error, a circuit breaker disables memory for the rest of the session.

  • For an MCP-native host, use the MCP server.

  • To call SurrealDB Agent Memory directly, use the Python SDK.

Was this page helpful?