dev tutorial · reference
Glossary
Every Hermes Agent term used across the tutorial, in plain English.
Definitions are intentionally short — one to three sentences each. Where a term maps to a real place in the codebase, the source file or path is shown in monospace so you can go read the real thing.
| Term | Definition |
|---|---|
| Adapter (gateway) | A per-platform connector (Telegram, Discord, and so on) that translates messages between an outside platform and the agent. Each adapter lives in gateway/. |
| Agent | A model running in a loop that can call tools, see the results, and keep acting until a task is done — not just a chatbot that replies once and stops. |
| Agent loop | The repeating cycle at the heart of every agent: think → call a tool → read the result → repeat → answer. The core implementation is agent/conversation_loop.py. |
| agentskills.io | The open Skills standard that Hermes is compatible with. It is the basis of the Skills Hub, so skills can be shared between compatible agents. |
| Check function (check_fn) | An optional gate that decides whether a tool is offered right now — for example, only if a required API key or Docker is present. Defined via tools/registry.py. |
| Context compression | Automatically summarizing older conversation history when it grows too long to fit in the model's context window. Handled by agent/context_compressor.py. |
| Cron job | A scheduled, natural-language task the agent runs unattended and then delivers somewhere. Defined in cron/ and stored in ~/.hermes/cron/jobs.json. |
| Curator | A background process that maintains the agent's self-made skills — marking them stale, archiving unused ones, and merging duplicates. See agent/curator.py. |
| Delegation / subagent | Spawning an isolated child agent with its own fresh context to handle a parallel workstream. Implemented in tools/delegate_tool.py. |
| Footprint Ladder | The project's decision tool for choosing the lightest way to add a capability, in order: config → skill → tool → plugin → MCP → core. Documented in AGENTS.md. |
| Frontmatter | The YAML metadata block at the top of a SKILL.md, fenced between --- lines. It holds fields like name and description. |
| Gateway | The single process that lets the agent live on many messaging platforms at once. It is the home of the platform adapters in gateway/. |
| Hook | A callback that runs at a lifecycle moment — session start, or before/after an LLM call. Hooks are how plugins observe and shape the agent's behavior. |
| ~/.hermes/ | Your data directory: config, secrets, memories, skills, cron jobs, and the conversation database. This is where your stuff lives, separate from the program's source. |
| MCP (Model Context Protocol) | An open standard for plugging external tool "servers" into any AI host. Hermes is both an MCP client and an MCP server. See modelcontextprotocol.io. |
| MEMORY.md | The agent's durable notebook of facts about your environment and projects. Stored in ~/.hermes/memories/. |
| Narrow waist | The design principle that the core stays small and stable while capability is added at the edges (skills, tools, plugins, MCP) rather than by growing the middle. |
| Nous Portal | Nous Research's subscription that gives you one key for many models plus tools — search, images, TTS, and a browser — instead of juggling separate provider keys. |
| Plugin | Packaged code — in ~/.hermes/plugins/ or installed via pip — that can add tools, hooks, platforms, or memory providers without touching the core. |
| Progressive disclosure | Showing the model only a compact index of available skills, then loading the full SKILL.md on demand. It keeps the context small until detail is actually needed. |
| Prompt caching | Reusing the verbatim system-prompt prefix every turn so the provider can cache it and cut cost. That prefix is treated as "sacred" — it must stay byte-identical to stay cached. |
| Provider / provider profile | The abstraction that lets one agent talk to any model backend. Providers are defined against the interface in providers/base.py. |
| Registry | The mechanism through which tools self-register at import time, so the agent discovers them automatically. See tools/registry.py. |
| Session | One stored conversation thread. Sessions are persisted in SQLite at ~/.hermes/state.db and are full-text searchable. |
| Skill | Procedural know-how stored as a Markdown SKILL.md file that the agent loads on demand. Skills live in ~/.hermes/skills/. |
| Tool | A concrete capability the model can call — run a command, read a file, search the web. A tool is a name plus a schema plus a handler, and they live in tools/. |
| Toolset | A named bundle of tools, which can itself include other bundles. Defined in toolsets.py. |
| Trajectory | The growing list of messages (user, assistant, tool) that make up a conversation. The same structure is also used as training data. |
| USER.md | The agent's model of you — your preferences, role, and communication style. Stored in ~/.hermes/memories/. |
| YOLO mode | A setting (HERMES_YOLO_MODE) that bypasses command-approval prompts. Useful for sandboxes and automation, but dangerous on a real machine. See tools/approval.py. |
Done here? Head back to the tutorial contents to keep going — or print this page and keep it next to your keyboard.