This page documents auxiliary tools that support specialized agent capabilities: persistent memory, image generation, mixture-of-agents, desktop control, skill management, and persistent goal tracking.
Hermes provides two distinct layers of conversation recall: file-backed curated memory (MEMORY.md/USER.md) and high-performance search over SQLite transcripts.
The memory tool manages bounded, file-backed storage that persists across sessions. It uses a frozen snapshot pattern: entries are loaded into the system prompt at session start tools/memory_tool.py11-14 and remain stable to preserve the prefix cache. Mid-session writes update the disk immediately but do NOT mutate the current session's system prompt tools/memory_tool.py12-14
| Action | Implementation | Purpose |
|---|---|---|
add | MemoryStore.add_entry() | Append observation to MEMORY.md or USER.md |
replace | MemoryStore.replace_entry() | Substring match and update an existing entry |
remove | MemoryStore.remove_entry() | Delete an entry via substring matching |
Drift Detection: The tool includes a guard against external edits (manual shell appends or patches). If the file on disk contains content that wouldn't round-trip through the tool's parser, it refuses the mutation and saves a backup snapshot tools/memory_tool.py93-110
Sources: tools/memory_tool.py1-24 tools/memory_tool.py150-170
The session_search_tool provides long-term conversation recall via the SQLite session database. It operates in three modes: DISCOVERY (FTS5 text search), SCROLL (context retrieval around a message ID), and BROWSE (chronological listing).
Session Search Architecture
Sources: tools/memory_tool.py5-24 tools/memory_tool.py64-67
The image_generation_tool.py provides access to high-fidelity image synthesis via the FAL.ai API tools/image_generation_tool.py5-7
_build_fal_payload function maps unified inputs (prompt, aspect ratio) to model-specific schemas and filters keys against a supports whitelist tools/image_generation_tool.py12-14upscale flag in the catalog tools/image_generation_tool.py15-18Video generation is implemented via plugins that interface with specialized video models. For example, the krea system allows agents to generate video assets through external providers plugins/image_gen/krea/__init__.py
Sources: tools/image_generation_tool.py1-160 tools/image_generation_tool.py44-56
The MoA system enables a multi-model orchestration pattern where "advisor" models provide reference outputs that are synthesized by an "aggregator" model agent/moa_loop.py1-7
Unlike standard tools, MoA is triggered via the /moa slash command or a virtual moa provider agent/moa_loop.py3-7 It executes in a dedicated loop that fans out calls to reference models before the aggregator turn.
moa.privacy_filter) that redacts PII (emails, phone numbers) from advisor outputs before they reach the aggregator or the UI agent/moa_loop.py24-46_RefAccounting class to ensure accurate pricing across different providers agent/moa_loop.py163-172ThreadPoolExecutor with a default cap of 8 workers agent/moa_loop.py154-160Sources: agent/moa_loop.py1-160 hermes_cli/moa_config.py1-100 tests/run_agent/test_moa_loop_mode.py15-40
The computer_use toolset provides cross-platform desktop control (macOS, Windows, Linux) via the cua-driver backend tools/computer_use/cua_backend.py1-11
cua-driver binary tools/computer_use/cua_backend.py3-5capture, click, type, key, scroll, and drag tools/computer_use/cua_backend.py7-9_BLOCKED_KEY_COMBOS set (e.g., cmd+shift+q for logout) to prevent destructive system actions tools/computer_use/tool.py91-104_approval_callback tools/computer_use/tool.py69-87Computer Use Data Flow
Sources: tools/computer_use/cua_backend.py1-34 tools/computer_use/tool.py1-150 tests/tools/test_computer_use.py41-100
The skill_manage tool allows the agent to create and modify procedural knowledge, turning successful approaches into reusable directory-based skills tools/skill_manager_tool.py3-12
create, edit, patch, delete, and write_file tools/skill_manager_tool.py14-21~/.hermes/skills/ and must include a SKILL.md with YAML frontmatter tools/skill_manager_tool.py22-33_security_scan_skill function that uses skills_guard to scan agent-created skills if configured tools/skill_manager_tool.py127-151Sources: tools/skill_manager_tool.py1-40 agent/skill_commands.py1-82 tools/skills_tool.py1-67
The agent tracks long-running objectives across turns. Goals are persisted in the session context to maintain focus during complex multi-turn tasks. Users can set goals via the /goal slash command, which injects the objective into the system prompt.
The Petdex system provides an animated, stateful pet that reacts to agent activities.
agent/pet/, it manages pet state, animations, and evolution based on agent performance or session milestones.The CheckpointManager provides transparent filesystem snapshots using a shared shadow git store tools/checkpoint_manager.py2-9
~/.hermes/checkpoints/store/, a bare git repository that deduplicates blobs across all projects tools/checkpoint_manager.py16-25prune_checkpoints function removes stale snapshots based on retention_days and max_total_size_mb tools/checkpoint_manager.py43-49node_modules/ and .git/ by default to maintain performance tools/checkpoint_manager.py81-142Sources: tools/checkpoint_manager.py1-60 tools/checkpoint_manager.py196-210
Refresh this wiki
This wiki was recently refreshed. Please wait 2 days to refresh again.