Skip to main content

Privacy-preserving plugin bundle for the Hermes agent (NousResearch/hermes-agent)

Project description

mordred-hermes

Privacy-preserving plugin bundle for the Hermes agent.

Five plugins exposed via the hermes_agent.plugins entry-point group:

  • mordred_privacy_check — skill metadata enforcement, audit logging
  • mordred_wizardhermes mordred … CLI surface
  • mordred_llm_guard — strict-mode local LLM enforcement
  • mordred_network — Tor / VPN / Clearnet path management
  • mordred_keyvault — Secure Enclave-backed key management (macOS, optional)

Status

Active alpha (0.1.0a0). The five entry-point plugins are implemented beyond the original Phase 0 scaffold; the default unit suite is intended to stay hermetic, while hardware- and network-mutating checks remain opt-in.

See docs/dev/ for SPEC, PLAN, TODO, PATHS, MIGRATION, UPSTREAM, CI, and docs/user/ for QUICKSTART and USAGE.

Validation

Default local checks:

UV_CACHE_DIR=/tmp/uv-cache uv run ruff check src tests
HERMES_HOME=/private/tmp/hermes-mordred-test-home UV_CACHE_DIR=/tmp/uv-cache uv run pytest -q

Manual live-device validation was reported successful on 2026-05-25 for the hardware/network-gated suites that are excluded from default PR CI:

MORDRED_KEYVAULT_LIVE=1 pytest -m integration tests/integration/test_keyvault_macos.py -v
MORDRED_LIVE_VPN_TEST=1 MORDRED_MULLVAD_ACCOUNT=... pytest -m integration tests/integration/test_vpn.py -v

The Tor path is covered separately by the hermetic Docker-based integration-tor CI job.

Install (PyPI)

Published on PyPI since 0.1.0a0 (2026-07-08). Install into the same environment as hermes-agent so the entry-point plugins are visible to its loader:

~/.hermes/hermes-agent/venv/bin/pip install mordred-hermes==0.1.0a0

Pin the version explicitly (or pass --pre): every release is currently a pre-release, so an unpinned pip install mordred-hermes resolves the latest alpha only via pip's all-prereleases fallback.

Platform extras are opt-in, e.g. mordred-hermes[macos] for the Secure Enclave keyvault on Apple Silicon. Then enable the plugins in ~/.hermes/config.yaml as shown below.

Install (development)

# From this repo's root
uv pip install --python ~/.hermes/hermes-agent/venv/bin/python3 -e .

Verify discovery:

~/.hermes/hermes-agent/venv/bin/hermes plugins list   # Hermes ≥0.18: shows the five mordred_* rows with source `entrypoint`

or, on any supported Hermes version (≥0.11.0):

~/.hermes/hermes-agent/venv/bin/python3 -c "
from hermes_cli.plugins import PluginManager
mgr = PluginManager(); mgr.discover_and_load(force=True)
print(sorted(k for k, p in mgr._plugins.items() if p.manifest.source == 'entrypoint'))
"
# → ['mordred_keyvault', 'mordred_llm_guard', 'mordred_network', 'mordred_privacy_check', 'mordred_wizard']

Version notes (verified against hermes-agent 0.18.2, 2026-07-08):

  • hermes plugins list displays entry-point plugins on 0.18.2. On Hermes 0.11.0 it did not (it only scanned <repo>/plugins/ and ~/.hermes/plugins/ directories) — the Python snippet above is the fallback check for older versions.
  • hermes mordred ... subcommands are still not wired into Hermes's argparse, even on 0.18.2. Use the standalone hermes-mordred console script (same subcommand tree) until upstream wires entry-point CLI commands.

To enable, edit ~/.hermes/config.yaml:

plugins:
  enabled:
    - mordred_privacy_check
    - mordred_wizard
    - mordred_llm_guard
    - mordred_network
    - mordred_keyvault

For Phase 4 (mordred_keyvault) on macOS Apple Silicon:

uv pip install --python ~/.hermes/hermes-agent/venv/bin/python3 -e ".[macos]"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mordred_hermes-0.1.0a1.tar.gz (773.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mordred_hermes-0.1.0a1-py3-none-any.whl (506.8 kB view details)

Uploaded Python 3

File details

Details for the file mordred_hermes-0.1.0a1.tar.gz.

File metadata

  • Download URL: mordred_hermes-0.1.0a1.tar.gz
  • Upload date:
  • Size: 773.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mordred_hermes-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 2301b7fdd6a7156b56aaddb626fc51f8106e9f4f7781cbc5506955f12d8e4737
MD5 ca1cc2db243253e50d1994083e69ee35
BLAKE2b-256 2b918129b3dc4773dc1b748603269fc009e294fc55fec16f7d62e2bf72aef92b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mordred_hermes-0.1.0a1.tar.gz:

Publisher: release.yml on InternetMaximalism/mordred-hermes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mordred_hermes-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for mordred_hermes-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 64969f83fc5072a79eb7f9e8a4fa39481354289b60dd59ca306c0dce5e529e98
MD5 2262de11bf392534fc752cc48ed42642
BLAKE2b-256 331e6b00814c22d18f713713e998322b112e6a28d79f5f36caebaf55a006b8be

See more details on using hashes here.

Provenance

The following attestation bundles were made for mordred_hermes-0.1.0a1-py3-none-any.whl:

Publisher: release.yml on InternetMaximalism/mordred-hermes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page