Files
hermes-agent/plugins/memory/supermemory
Teknium 678a87c477 refactor: add tool_error/tool_result helpers + read_raw_config, migrate 129 callsites
Add three reusable helpers to eliminate pervasive boilerplate:

tools/registry.py — tool_error() and tool_result():
  Every tool handler returns JSON strings. The pattern
  json.dumps({"error": msg}, ensure_ascii=False) appeared 106 times,
  and json.dumps({"success": False, "error": msg}, ...) another 23.
  Now: tool_error(msg) or tool_error(msg, success=False).

  tool_result() handles arbitrary result dicts:
  tool_result(success=True, data=payload) or tool_result(some_dict).

hermes_cli/config.py — read_raw_config():
  Lightweight YAML reader that returns the raw config dict without
  load_config()'s deep-merge + migration overhead. Available for
  callsites that just need a single config value.

Migration (129 callsites across 32 files):
- tools/: browser_camofox (18), file_tools (10), homeassistant (8),
  web_tools (7), skill_manager (7), cronjob (11), code_execution (4),
  delegate (5), send_message (4), tts (4), memory (7), session_search (3),
  mcp (2), clarify (2), skills_tool (3), todo (1), vision (1),
  browser (1), process_registry (2), image_gen (1)
- plugins/memory/: honcho (9), supermemory (9), hindsight (8),
  holographic (7), openviking (7), mem0 (7), byterover (6), retaindb (2)
- agent/: memory_manager (2), builtin_memory_provider (1)
2026-04-07 13:36:38 -07:00
..

Supermemory Memory Provider

Semantic long-term memory with profile recall, semantic search, explicit memory tools, and session-end conversation ingest.

Requirements

Setup

hermes memory setup    # select "supermemory"

Or manually:

hermes config set memory.provider supermemory
echo 'SUPERMEMORY_API_KEY=your-key-here' >> ~/.hermes/.env

Config

Config file: $HERMES_HOME/supermemory.json

Key Default Description
container_tag hermes Container tag used for search and writes
auto_recall true Inject relevant memory context before turns
auto_capture true Store cleaned user-assistant turns after each response
max_recall_results 10 Max recalled items to format into context
profile_frequency 50 Include profile facts on first turn and every N turns
capture_mode all Skip tiny or trivial turns by default
entity_context built-in default Extraction guidance passed to Supermemory
api_timeout 5.0 Timeout for SDK and ingest requests

Tools

Tool Description
supermemory_store Store an explicit memory
supermemory_search Search memories by semantic similarity
supermemory_forget Forget a memory by ID or best-match query
supermemory_profile Retrieve persistent profile and recent context

Behavior

When enabled, Hermes can:

  • prefetch relevant memory context before each turn
  • store cleaned conversation turns after each completed response
  • ingest the full session on session end for richer graph updates
  • expose explicit tools for search, store, forget, and profile access