Hermes
Hermes profiles that learn from every conversation.
--harness hermesWhat you get
Hermes runs each agent in its own profile — a clean slate every time. With self-driving agents installed, the profile builds up across sessions: the agent learns from every chat, maintains its own knowledge pages, and walks into the next session already informed.
- Learns from every conversation — preferences, decisions, and recurring patterns are captured automatically. The agent walks into the next session already knowing them.
- Builds its own playbooks — the agent maintains long-form pages (a personal wiki) that self-rewrite from what it has learned.
- One profile, one agent, one bank — clean isolation. Multiple agents on one machine never share memory.
Setup
- 1
Have hermes on PATH
The CLI shells out to
hermes profile create,profile show, and reads the profile config. Install hermes-agent first if you haven't already.curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash - 2
Install the agent
One CLI call creates the Hermes profile, drops in the plugin, configures the connection, ingests seed content, and installs the agent-knowledge skill.
npx @vectorize-io/self-driving-agents install marketing/seo --harness hermes - 3
Chat
Memory retains in the background as you talk.
hermes -p marketing-seo chat
How it works
The CLI runs hermes profile create <agent> --clone (or reuses the existing profile), copies the hindsight-sda plugin into <profile>/plugins/hindsight-sda/, writes <profile>/hindsight/config.json (api url, token, bank id), and edits <profile>/config.yaml to set memory.provider: hindsight and add hindsight-sda to plugins.enabled. The bundled Hindsight memory provider then auto-retains during chat. The agent-knowledge skill is dropped into <profile>/skills/agent-knowledge/SKILL.md and exposes the tools below.
Tools the agent gets
list_pagesList page ids and names.get_pageRead the content of a page.create_pageDeclare a new page recipe.update_pageChange a page's name or source query.delete_pageRemove a page.recallSearch retained memories.ingestAdd new text content as a memory.