Closed-loop reflection / skill creation agent on LangGraph + deepagents. Faithful reproduction of Nous Research's Hermes Agent.
Reason this release was yanked:
Wheel shipped without required files — agent crashes on import. Upgrade to v0.1.3.
Project description
deepagent-hermes
A faithful reproduction of Nous Research's Hermes Agent on top of LangGraph + deepagents + langgraph-stream-parser.
Status: pre-alpha (v0.1.0a0). Spec at SPEC.md. Code is scaffolded; most subsystems work end-to-end but the bundled-skills library is empty and 5 of 6 terminal backends are stubs.
What it is
A deepagents-built agent with a closed reflection→skill-creation loop:
- After ~10 tool-using iterations, a review subagent runs in the background, writes/patches a
SKILL.mdcapturing the pattern it just exercised, and ships it to a skill library. - Next session, the agent reads the library at startup, sees the new skill's description in its system prompt, and can
skill_view(name)to load the full body on demand (progressive disclosure per the agentskills.io spec). - A weekly curator consolidates skills into umbrellas and archives stale ones.
- A frozen-snapshot memory (
MEMORY.md+USER.md) preserves prefix-cache hits for the entire session. - FTS5 session search indexes every past conversation in a local SQLite DB.
- Optional Honcho user model for dialectic cross-session user profiling.
Designed to be loaded into the existing deepagent-* host family (deepagent-code, deepagent-lab, cowork-dash, deepagent-vscode) without UI changes — set DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph in any of them.
Installation
# central venv per the deepagent-* convention
uv venv "$env:USERPROFILE\.venvs\deepagent-hermes"
. "$env:USERPROFILE\.venvs\deepagent-hermes\Scripts\Activate.ps1"
# while langgraph-stream-parser v0.2.0 is unreleased, install editable
uv pip install -e "..\langgraph-stream-parser"
uv pip install -e .
# optional extras
uv pip install -e ".[honcho]" # Honcho user-model provider
uv pip install -e ".[modal]" # Modal sandbox backend
uv pip install -e ".[daytona]" # Daytona sandbox backend
uv pip install -e ".[dev]" # tests + lint
Quick start
# show resolved config + sources
deepagent-hermes --show-config
# interactive chat
deepagent-hermes chat
# from inside chat:
# /skills list available skills
# /model anthropic:claude-haiku-4-5-20251001 switch models
# /memory dump current memory snapshot
# /compress force context compression
# /quit
Load into an existing host
Any deepagent-* host with langgraph-stream-parser>=0.2 host conventions can run this agent:
# deepagent-code
DEEPAGENT_AGENT_SPEC="deepagent_hermes.agent:graph" deepagent-code
# deepagent-lab — set the same in deepagents.toml under [agent]
echo 'spec = "deepagent_hermes.agent:graph"' >> deepagents.toml
deepagent-lab
Configuration
deepagent-hermes.toml (project) or ~/.deepagent-hermes/config.toml (global). Layered resolution: defaults < TOML < DEEPAGENT_HERMES_* env < CLI overrides. See SPEC §2 for every field; deepagent-hermes --show-config prints the resolved value + source of each.
Architecture
See SPEC.md for the full 21-section requirements doc. Top-level layout:
src/deepagent_hermes/agent.py— the compiled graph (entry point for hosts)src/deepagent_hermes/config.py—HermesConfig(HostConfig)resolversrc/deepagent_hermes/state.py—HermesState(extendsAgentState)src/deepagent_hermes/reflection.py— closed-loop middleware + review subagentsrc/deepagent_hermes/skills/— SkillLibrary, loader, toolssrc/deepagent_hermes/memory/— frozen-snapshot memory + provider ABCsrc/deepagent_hermes/store/sqlite_fts.py—BaseStorewith FTS5src/deepagent_hermes/search/session_search.py—session_searchtoolsrc/deepagent_hermes/compression.py—HermesCompressionMiddlewaresrc/deepagent_hermes/caching.py—AnthropicCachingS3Middlewaresrc/deepagent_hermes/budget.py—IterationBudgetMiddlewaresrc/deepagent_hermes/tools/— registry + 33 toolsets + 6 terminal envssrc/deepagent_hermes/cron/— daemon +cronjobtoolsrc/deepagent_hermes/plugins/— discovery + lifecycle hookssrc/deepagent_hermes/cli.py—deepagent-hermesentry pointprompts/— verbatim/paraphrased system-prompt building blocks
Status by subsystem
| Subsystem | Status |
|---|---|
| Config + state + agent factory | working |
| Reflection loop (10-iter trigger, subagent review) | working |
| Skill library + agentskills.io validator | working |
Skill loader (@dynamic_prompt) |
working |
skill_view / skill_manage / skills_list tools |
working |
| Frozen-snapshot memory (MEMORY.md / USER.md) | working |
SQLite FTS5 store + session_search (3 modes) |
working |
| Honcho provider | stub (extras-gated) |
| Iteration budget middleware | working |
| Compression middleware (13-section template) | working |
Anthropic system_and_3 caching strategy |
working |
| Tool registry + 33-toolset enum | working |
LocalEnvironment terminal backend |
working |
| Docker / SSH / Daytona / Modal / Singularity backends | stubs (NotImplementedError) |
Cron daemon + cronjob tool |
basic (local delivery only) |
| Plugin loader (4 discovery sources) | working (5 of 17 hooks) |
| CLI + v1-essentials slash commands | working |
| Curator (skill lifecycle) | basic |
| Self-evolution integration | docs only (separate offline repo) |
| Bundled skills | none — ship your own under ~/.deepagent-hermes/skills/ |
License
MIT. See LICENSE. This project is a faithful reproduction of the design ideas in Nous Research's Hermes Agent — see NOTICE for attribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepagent_hermes-0.1.0.tar.gz.
File metadata
- Download URL: deepagent_hermes-0.1.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5077870c81420d67fd3227ee2228d1d9578dbd2d59bfd3d45bf09961ca3b7b4b
|
|
| MD5 |
804aa1f9d42cdc5003a4e87e4c97c2c9
|
|
| BLAKE2b-256 |
0eb04f77f1d3282b72f8a00149633be312e1a05675e2dc89b8663c53d811587d
|
File details
Details for the file deepagent_hermes-0.1.0-py3-none-any.whl.
File metadata
- Download URL: deepagent_hermes-0.1.0-py3-none-any.whl
- Upload date:
- Size: 217.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aecfcc5eb687fc794f0e6028fa977b197d08859b3c40c0ded7d7380bd9e2edc1
|
|
| MD5 |
d67491f6a4e4bd3323255293e5ea9259
|
|
| BLAKE2b-256 |
5098a4bc1dfffeccdf8351f7e3c240d65e502e2cabef7f3607b92083409c07fe
|