Documentation
New in newHermes Agent
A native memory provider for Nous Research's Hermes Agent, backed by TAM — local or on a team server.
Hermes Agent supports memory providers as plugins.
hermes-tam-memory makes TAM one of them.
What it does
- Saves each finished turn to TAM: the user message and the final reply. Greetings, slash commands, one-line exchanges and injected recall blocks are skipped. TAM’s quality gate, when enabled, has the final say.
- Recalls relevant memories before every turn and injects them within a token budget. The current session’s own turns are not recalled back.
- Gives the model two tools:
tam_recallfor a targeted search andtam_saveto store a durable fact, decision, solution, lesson or convention. - Mirrors facts that Hermes’ built-in memory tool adds.
- Shares one store with every other agent connected to the same TAM, so Hermes, Claude Code, Codex CLI and Cursor all see the same memories.
Requirements
- Hermes Agent 0.21.4 or newer.
- TAM 14.x on
PATHfor local mode:
pipx install total-agent-memory # or: uv tool install total-agent-memory
The plugin has no Python dependencies. It speaks MCP with the standard library and never imports TAM into Hermes’ environment.
Install and set up
hermes plugins install vbcherepanov/hermes-tam-memory#hermes_tam_memory
hermes memory setup tam
Once the entry in the Hermes plugin catalog is merged, the first command becomes
hermes plugins install tam.
The setup asks four questions: connection mode, the tam command, the TAM data directory and the TAM
project name (default hermes). It then connects once and prints, for example,
Connected: total-agent-memory 14.8.0 (local server, MCP 2025-06-18). Start a new Hermes session to
activate the provider. hermes memory status shows the effective settings.
A team server
Point Hermes at a TAM team server to share company memory:
tam-team --root /srv/tam token-create --client hermes --out alice.token alice
Choose remote in hermes memory setup tam, enter https://<host>/mcp/ and paste the token. The
token is stored as TAM_API_TOKEN in the profile’s .env, never in tam.json. Recalled team
memories show their author.
What is sent where
- Saved: the user message and the final assistant reply. Tool calls, tool output and system prompts are not saved. Subagent, cron and flush runs do not save turns on their own.
- Local mode: Hermes starts the
tambinary as a child process, so data stays in TAM’s local store. The child gets a reduced environment without Hermes’ provider API keys. - Remote mode: the same text goes to the configured URL. Use
https://for anything that is not on localhost.
TAM redacts credentials on every write path, so a key pasted into a Hermes chat does not reach disk. See Privacy.
When TAM is unavailable
Hermes never fails because of the provider. If TAM is missing, slow or crashes, recall returns nothing for that turn, saves wait in a bounded queue and retry after reconnecting, and the two tools return an error the model can read.
Settings, profiles and every option are in the plugin README.