Skip to content

Async Hermes Agent v0.20.2

Choose a tag to compare

@ykoh42 ykoh42 released this 08 Aug 04:17
· 208 commits to main since this release
2b0f761

Native-async, library-focused distribution based on NousResearch Hermes Agent v2026.8.3 (v0.20.0). This release completes the retained runtime migration while preserving upstream core module paths and public names.

Highlights:

  • Keeps AIAgent, run_conversation(), chat(), close(), SessionDB, runner, and batch-runner names in their existing locations; I/O-bearing calls are awaited.
  • Runs the retained model, tool, MCP, skill, memory, session, trajectory, delegation, runner, and batch-runner paths with native asyncio.
  • Preserves prompt-cache stability, role alternation, ordered tool observations, interleaved reasoning, trajectory shape, checkpoint/resume behavior, and session persistence.
  • Uses lazy awaited provider, plugin, MCP, and database initialization while keeping AIAgent.__init__() state-only.
  • Serializes concurrent turns on one agent instance and allows separate agents to run concurrently.
  • Removes the product-only CLI/TUI, desktop/dashboard, messaging, cron, and bundled web-service surfaces from this library distribution.
  • Provides no sync wrapper, asyncio.to_thread() fallback, run_until_complete(), or blocking .result() path in the retained runtime.

Compatibility note:

  • This is an async-only distribution. Existing Hermes library integrations normally keep their imports and function names, then add await to I/O-bearing calls.
  • It is intentionally a divergent library distribution, not a drop-in replacement for the full synchronous upstream product.

Verification:

  • GitHub CI: 794 test files, 8,079 tests passed, 0 failed.
  • Ruff and native-async static audits passed, including flake8-async checks for blocking calls and unawaited async APIs.
  • Event-loop blocking, task-leak, cancellation, session, Skill, MCP, and ordered trajectory contracts passed.
  • Wheel and sdist builds passed twine check.
  • The wheel installed in an isolated Python 3.13 environment and exposed the expected coroutine API from site-packages.

Install:

uv pip install "git+https://github.com/ykoh42/async-hermes-agent.git@v0.20.2"

Artifacts:

  • async_hermes_agent-0.20.2-py3-none-any.whl
  • async_hermes_agent-0.20.2.tar.gz
  • SHA256SUMS