Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · Hermes Agent Deep Research
page:docs-hermes-researcha5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewarticlejsongraph
II.
Page overview

page:docs-hermes-research

Reference · live

Hermes Agent Deep Research overview

Inspect the raw attributes, linked wiki pages, and inbound or outbound graph edges for page:docs-hermes-research.

PageOutgoing · 16Incoming · 1

Attributes

nodeKind
Page
sourcePath
docs/hermes-research/README.md
sourceKind
repo-docs
title
Hermes Agent Deep Research
displayName
Hermes Agent Deep Research
slug
docs/hermes-research
articlePath
wiki/docs/hermes-research/README.md
article
# Hermes Agent Deep Research ## Executive Summary Hermes Agent is a Python-based (83.6% Python, 12.6% TypeScript) MIT-licensed autonomous AI agent by Nous Research. Its architecture centers on a monolithic `AIAgent` class (~4,400 lines in `run_agent.py`) that powers all surfaces: CLI, messaging gateway (20+ platforms), ACP (IDE integration), batch, and API server. It supports 30+ LLM providers, 70+ tools across 28 toolsets, pluggable memory providers, a self-evolution companion system (DSPy + GEPA), and a community Skills Hub at agentskills.io. Our stack differs fundamentally in philosophy: we are a multi-harness orchestration platform that wraps multiple agent products (Claude Code, Codex, Gemini CLI, Hermes, and others) through a unified adapter architecture. Hermes is one agent we integrate via `adapter-hermes`. The key architectural tension is between Hermes' breadth-of-platform-reach (20+ messaging adapters, 30+ providers, 70+ tools) and our depth-of-orchestration (durable runs, journals, effects, breakpoints, multi-harness coordination). ## Architecture Comparison | Aspect | Hermes | Our Stack | |--------|--------|-----------| | **Core loop** | Single `AIAgent` class, synchronous | Upstream harness owns loop; we wrap via adapter bridge | | **Language** | Python 83.6% | TypeScript 100% | | **Provider count** | 30+ with fallback chains | Provider-agnostic; delegates to harness | | **Tool count** | 70+ across 28 toolsets | Focused agentic tools + harness-native tools | | **Platform adapters** | 20+ messaging platforms | Multi-harness adapters (10+ agent products) | | **Plugin scope** | Hermes-internal only | Cross-harness portable plugins | | **Memory** | Pluggable providers with 12 lifecycle hooks | crossRunState + atlas graph | | **Session storage** | SQLite with FTS5 | Event-sourced journals | | **Orchestration** | Subagent delegation + cron | Durable runs, effects, breakpoints, multi-agent | | **Governance** | Approval callbacks + allowlists | Structured engine with decision trails | | **IDE integration** | ACP (JSON-RPC stdio) | Hooks-adapter architecture | | **Self-improvement** | DSPy + GEPA evolutionary search | Manual + LLM-assisted via skills | | **License** | MIT | Proprietary | ## Key Differentiators ### Hermes strengths we lack 1. **Messaging platform breadth:** 20+ platform adapters (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, etc.) in a single gateway process. Our gateway exists but does not yet match this breadth. 2. **Provider ecosystem depth:** 30+ provider integrations with automatic fallback chains, OAuth flows, auxiliary model routing for side tasks, and credential scoping per base URL. 3. **Memory provider architecture:** Pluggable memory backends with 12 lifecycle hooks including `on_pre_compress` (save insights before context compression discards turns) and `queue_prefetch` (pre-warm for next turn). Our memory extraction is less granular. 4. **Terminal backend diversity:** 6 execution backends (local, Docker, SSH, Daytona, Modal, Singularity) as first-class options switchable via configuration. 5. **Self-evolution:** Companion repo using DSPy + GEPA for evolutionary optimization of skills, prompts, and tool descriptions through reflective search. Cost: $2-10 per optimization run. No GPU training required. 6. **Voice mode:** Real-time voice interaction via CLI, Telegram, and Discord with TTS and transcription support. 7. **Interruptible API calls:** Background-thread API requests with interrupt event monitoring. Main thread can abandon in-flight calls without partial response injection. ### Our strengths Hermes lacks 1. **Multi-harness orchestration:** We drive 10+ agent products through a unified adapter architecture. Hermes is a single agent product. 2. **Durable orchestration:** Run journals, effects, breakpoints, completion proof, state replay, and cross-run state propagation. Hermes has no equivalent. 3. **Structured governance:** Policy engine with categories, decision trails, permission propagation, and posture-based safety profiles. Hermes has simple approval callbacks. 4. **Cross-harness portable plugins:** Our extension system compiles plugins for multiple agent products. Hermes plugins work only within Hermes. 5. **Atlas knowledge graph:** Structured organizational knowledge with graph semantics, layer mapping, and cross-product comparison. Hermes uses flat-file memory. 6. **Process definitions:** Declarative task definitions with phases, subtasks, effects, and breakpoints enabling reproducible multi-step workflows. 7. **Daemon architecture:** Durable queue, automation executor, timer scheduler, and webhook listener for background orchestration. ## Integration Strategy ### Current state The Hermes hooks adapter at `packages/adapters/hooks/adapter-hermes/` provides basic hook normalization: - Maps Hermes `onEvent` stdin payloads to unified hook events - Extracts session ID from `HERMES_SESSION` env var - Non-blocking, post-direction only (cannot block or deny tool calls) - Shell-hook family adapter ### Planned integration path 1. **Transport upgrade:** Extend adapter-hermes to leverage Hermes' TUI Gateway JSON-RPC protocol or API server for richer bidirectional control (session management, model switching, approval handling) beyond the current shell-hook approach. 2. **Gateway bridge:** Connect Hermes' 20+ messaging platform adapters as delivery channels for babysitter-orchestrated run results. A babysitter process could route notifications, approvals, and results to Telegram/Discord/Slack via Hermes gateway. 3. **Memory synchronization:** Build a babysitter plugin that synchronizes crossRunState with Hermes' MEMORY.md/USER.md, leveraging the memory provider lifecycle hooks for bidirectional knowledge sharing. 4. **Provider catalog exposure:** Surface Hermes' 30+ provider catalog through our adapters proxy, enabling babysitter runs to access providers not directly supported by the primary harness. ## Feature Parity Matrix | Feature | Hermes | Our Stack | Parity | |---------|--------|-----------|--------| | Agent loop | AIAgent class | Upstream harness | Different approach | | Multi-provider | 30+ providers | Via harness | Hermes ahead | | Provider fallback | Ordered chains | Not applicable | Hermes unique | | Tool system | 70+ tools, auto-discovery | Focused agentic tools | Hermes broader | | Terminal backends | 6 (local/Docker/SSH/Daytona/Modal/Singularity) | Local + Docker | Hermes ahead | | Messaging gateway | 20+ platforms | Gateway with fewer | Hermes ahead | | Plugin system | Internal plugins | Cross-harness plugins | We are ahead | | Memory | Pluggable providers, 12 hooks | crossRunState, atlas graph | Different strengths | | Session persistence | SQLite + FTS5 | Event-sourced journals | Different approach | | Context compression | 50%/85% thresholds | Compaction via harness | Hermes more granular | | Prompt caching | Anthropic cache breakpoints | Via harness | Similar | | Subagent delegation | delegate_task tool | Multi-harness orchestration | We are ahead | | Cron scheduling | Native SQLite scheduler | Daemon timer scheduler | Similar | | Slash commands | CLI + gateway commands | Interaction primitives | Similar | | Voice mode | TTS + transcription | Not supported | Hermes unique | | IDE integration | ACP (VS Code, Zed, JetBrains) | Via harness native | Different approach | | Self-evolution | DSPy + GEPA | Not supported | Hermes unique | | Governance | Approval callbacks | Structured engine | We are ahead | | Durable orchestration | None | Journals, effects, breakpoints | We are ahead | | Cross-run state | None | crossRunState | We are ahead | | Multi-agent coordination | Subagent only | Multi-harness orchestration | We are ahead | | Knowledge graph | None | Atlas graph | We are ahead | ## File Index | File | Description | |------|-------------| | `docs/hermes-research/raw/` | 13 raw documentation files fetched from Hermes docs and GitHub | | `docs/hermes-research/layer-analysis.md` | Layer-by-layer analysis mapping Hermes to atlas stack | | `docs/hermes-research/integration-plan.md` | Adapter implementation, hook wiring, and test strategy | | `docs/hermes-research/README.md` | This synthesis document | | `packages/atlas/graph/agent-stack/hermes/` | Atlas graph YAML nodes for Hermes subsystems | | `packages/adapters/hooks/adapter-hermes/` | Existing Hermes hooks adapter (current integration point) |
documents
[]

Outgoing edges

contains_page16
  • page:docs-hermes-research-integration-plan·PageHermes Integration Plan
  • page:docs-hermes-research-layer-analysis·PageHermes Agent -- Layer Analysis
  • page:docs-hermes-research-raw-acp-internals·PageACP Internals
  • page:docs-hermes-research-raw-agent-loop·PageAgent Loop Internals
  • page:docs-hermes-research-raw-agents-md·PageHermes Agent Development Guide (AGENTS.md)
  • page:docs-hermes-research-raw-architecture·PageHermes Agent Architecture
  • page:docs-hermes-research-raw-docs-index·PageHermes Agent Documentation - Main Index
  • page:docs-hermes-research-raw-fetch-notes·PageFetch Notes
  • page:docs-hermes-research-raw-gateway-internals·PageGateway Internals
  • page:docs-hermes-research-raw-github-readme·PageHermes Agent - GitHub README
  • page:docs-hermes-research-raw-memory-provider-plugin·PageMemory Provider Plugins
  • page:docs-hermes-research-raw-programmatic-integration·PageProgrammatic Integration
  • page:docs-hermes-research-raw-provider-runtime·PageProvider Runtime Resolution
  • page:docs-hermes-research-raw-providers·PageAI Providers Configuration Guide
  • page:docs-hermes-research-raw-quickstart·PageHermes Agent Quickstart
  • page:docs-hermes-research-raw-self-evolution·PageHermes Agent Self-Evolution

Incoming edges

contains_page1
  • page:docs·PageBabysitter Docs

Related pages

No related wiki pages for this record.

Shortcuts

Open in graph
Browse node kind