Memory & Context
Persisting what an agent learns between sessions, instead of replaying an ever-growing transcript. The hard part is deciding what deserves to be remembered — verify extraction quality on your own data.
3 projects
Hermes Agent is Nous Research's own agent: a terminal UI plus a single gateway process that carries the same conversation into Telegram, Discord, Slack, WhatsApp, Signal and Email, with a cron scheduler, isolated subagents, and seven terminal backends from local and Docker to Modal and Vercel Sandbox. Its distinguishing piece is a closed learning loop — the agent curates its own memory on periodic nudges, creates skills after complex tasks, and searches past sessions through FTS5 with LLM summarization — which means the state that makes it useful accumulates under `~/.hermes`, outside your version control, and needs occasional pruning. It is an assistant you run and configure rather than a library you build on: the README documents `hermes` subcommands and slash commands, not an embedding API, so it is a poor fit if you wanted an agent loop to call from your own code. Putting a shell-capable agent behind chat platforms also makes the command-approval and DM-pairing settings load-bearing rather than optional.
Extracts durable facts from a conversation and retrieves the relevant ones on later runs, instead of replaying an ever-growing transcript into the context window. Useful wherever an assistant should remember a user between sessions. What gets stored is model-decided, so verify the extraction quality on your own data before relying on it.
Treats the context window like RAM and everything else like disk, with the agent itself deciding what to page in and out. That framing makes indefinitely long-running agents tractable. It is a more opinionated commitment than bolting a memory library onto an existing stack.