Hermes Agent - Current Functionalities
Created: 2026-05-16 | Tags: hermes, infrastructure, reference
Hermes Agent (Nous Research) is an open-source AI agent framework running on Linux via Telegram gateway. This page documents current setup and capabilities.
Architecture Overview
- Host: Linux 6.8.0-generic (bare metal VPS)
- Model: DeepSeek Chat via DeepSeek provider
- Interface: Telegram DM (primary), CLI (secondary)
- Installation: Git clone at
~/.hermes/hermes-agent/ - Config:
~/.hermes/config.yaml, secrets in~/.hermes/.env
Core Capabilities
Conversation & Memory
- Persistent cross-session memory (2,200 char limit, auto-consolidates)
- User profile store (1,375 char limit)
- Session search across past conversations (FTS5-backed SQLite)
- Context compression at token limit threshold
Toolsets (always enabled)
| Toolset | Purpose |
|---|---|
terminal | Shell commands, process management, builds, git |
file | Read, write, patch, search files |
browser | Browser automation (local Chromium via Browserbase) |
web | Web search and content extraction |
skills | Browse, install, manage skills |
memory | Cross-session persistent memory |
session_search | Search past conversation transcripts |
delegation | Subagent task spawning (leaf + orchestrator) |
cronjob | Scheduled task management |
clarify | Ask user clarifying questions |
messaging | Cross-platform message sending |
todo | In-session task planning and tracking |
Multi-Platform Gateway
Connected to Telegram (primary). Supported platforms include: Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, Mattermost, Home Assistant, DingTalk, Feishu, WeCom, BlueBubbles (iMessage), Weixin (WeChat), API Server, Webhooks.
Scheduled Cron Jobs
| Job | Schedule | Type | Delivery |
|---|---|---|---|
| GitHub Daily: flutter/flutter | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: flutter/packages | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: flutter/website | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: dart-lang/sdk | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: dart-lang/language | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: google/dart-neats | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: simolus3/drift | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| GitHub Daily: google/protobuf.dart | Daily 07:00 UTC | LLM (github-daily-digest skill) | Telegram |
| ArXiv Weekly: Graphics + UI | Monday 07:00 UTC | LLM (arxiv-weekly skill) | Telegram |
| XMPP PR Monitor | Every 3 days 09:00 UTC | LLM | Telegram |
Style preference for digest: title (with link), author, date, code changes stats, summary. No emoji, consistent formatting.
Skills System
Agent-created procedural knowledge stored as SKILL.md files in ~/.hermes/skills/. Organized by category:
- autonomous-ai-agents/ -- hermes-agent, claude-code, codex, opencode
- creative/ -- architecture-diagram, ascii-art, excalidraw, manim-video, p5js, pixel-art, sketch
- data-science/ -- jupyter-live-kernel
- devops/ -- data-processing-toolkit, kanban-orchestrator, kanban-worker, self-hosted-gitops, self-hosted-services, webhook-subscriptions
- github/ -- codebase-inspection, github-auth, github-code-review, github-issues, github-pr-workflow, github-repo-management
- media/ -- youtube-content, spotify, gif-search
- mlops/ -- huggingface-hub, llama-cpp, vllm, etc.
- note-taking/ -- mdbook-wiki, obsidian
- productivity/ -- google-workspace, notion, linear, airtable, nano-pdf, ocr-and-documents, powerpoint
- software-development/ -- plan, spike, test-driven-development, writing-plans, subagent-driven-development, systematic-debugging, requesting-code-review
Skills auto-curated: stale skills archived, usage tracked, backed up before deletion.
Subagent Delegation
Spawn child agents with isolated context and terminal session:
- Single:
delegate_task(goal, context, toolsets) - Batch: up to 3 concurrent children (configurable)
- Roles: leaf (default, cannot delegate further) or orchestrator (can spawn workers, depth limited)
- Durable fallback: use cronjob or
terminal(background=True)for work that must outlive session
Spawning Extra Hermes Instances
Independent Hermes processes via tmux for long-running missions:
- One-shot:
hermes chat -q '...' - Interactive: tmux session with
hermes+ worktree (-w) for parallel agents - Use case: independent coding agents working on separate branches
MCP (Model Context Protocol)
Native MCP client: connect stdio or HTTP MCP servers via config.yaml; tools auto-discovered.
Profiles
Isolated Hermes instances with separate config, sessions, skills, memory. Clone from defaults, switch at runtime.
Security Features
- Command approval: manual (default), smart (AI-assisted), off (yolo)
- Secret redaction: off by default, API key masking via config
- PII redaction: hashes user IDs in gateway context
- Website blocklist: restrict browsing domains
- Read-only rootfs (planned for containerized deployment)
Voice
- STT: auto-transcribe voice messages (local faster-whisper, Groq, OpenAI, Mistral)
- TTS: Edge (free default), ElevenLabs, OpenAI, MiniMax, Mistral, NeuTTS (local)
- Voice-to-voice mode:
/voice on
Gateway Features
- Multi-session management within Telegram (DM topics)
- Home channel configuration
- Message queuing for busy agents
- Command approval prompts over DM
- Cross-platform fan-out delivery
Key Paths
~/.hermes/config.yaml Main configuration
~/.hermes/.env API keys and secrets
~/.hermes/skills/ Installed skills
~/.hermes/sessions/ Session transcripts
~/.hermes/logs/ Gateway and error logs
~/.hermes/auth.json OAuth tokens and credential pools
~/.hermes/hermes-agent/ Source code (git-installed)
~/.hermes/migration-plan-reference.md Infrastructure migration plan