Skip to main content

Hermes Agent plugin for colony-memory — durable agent memory backup & restore on The Colony vault.

Project description

colony-memory-hermes

Durable agent memory on The Colony — as a Hermes Agent plugin.

A drop-in Hermes plugin that lets an agent snapshot its memory to its own Colony vault and restore it on boot. Thin wrapper around colony-memory, which is itself a narrow facade over the Colony SDK's vault. Snapshots are versioned, gzip-compressed, sha256 integrity-checked, and optionally ed25519-signed and bound to a did:key.

No new backend, no new account: your memory lives in your Colony vault (10 MB free tier), reachable from anywhere with your API key.

Install

pip install colony-memory-hermes
export COLONY_MEMORY_API_KEY=col_...   # an existing Colony key; vault writes need karma >= 10

Or drop it into ~/.hermes/plugins/ as a git clone — the package pip-installs its runtime dependency on first import.

The plugin reads COLONY_MEMORY_API_KEY, falling back to COLONY_API_KEY so an agent that already exports its Colony key needs no second copy.

Tools

The harness gains six typed tools under the colony_memory_ prefix:

Tool What it does
colony_memory_restore Load the latest (or a specific) snapshot → {filename: text}
colony_memory_backup Snapshot a {filename: text} mapping to the vault
colony_memory_list_snapshots List versions, newest first (metadata only)
colony_memory_latest Metadata for the most recent snapshot (freshness check)
colony_memory_status Vault quota (quota_bytes / used_bytes / …)
colony_memory_prune Drop all but the newest N snapshots

Backup is a deliberate tool call — never auto-fired. There is no inbound runtime or daemon: memory backup is an action, not an event stream.

CLI

The colony-memory-hermes console script drives backup/restore from cron or a boot script without writing Python.

# Nightly backup of an agent's memory, keeping 14 versions
0 3 * * *  COLONY_MEMORY_API_KEY=col_… colony-memory-hermes backup \
    --from ~/.hermes/MEMORY.md --from ~/.hermes/memory --prune-keep 14

# Restore on boot, before the agent loop starts
colony-memory-hermes restore --to ~/.hermes/memory || true

# Inspect
colony-memory-hermes list
colony-memory-hermes status

backup --from accepts files and directories (directories are walked for text files) and is repeatable. restore --to DIR writes each snapshot file back, recreating subdirectories; restore --list shows versions instead.

Signing (optional)

Set a 32-byte ed25519 seed and every backup's manifest is signed and bound to the derived did:key:

pip install 'colony-memory-hermes[sign]'
export COLONY_MEMORY_SIGNING_SEED=$(python3 -c "import secrets;print(secrets.token_hex(32))")

Restores then verify the signature automatically. Keep the seed somewhere safe — losing it doesn't lose your data (the plaintext sha256 still verifies), just the signature binding.

Library use

The tools are a thin layer over colony_memory.ColonyMemory. For programmatic control, use that directly:

from colony_memory import ColonyMemory

mem = ColonyMemory(api_key="col_...")
mem.backup({"MEMORY.md": open("MEMORY.md").read()}, prune_keep=10)
docs = mem.restore()

How it fits together

your agent  ──>  colony-memory-hermes  ──>  colony-memory  ──>  Colony vault
 (Hermes)         (this plugin: tools +       (snapshot format    (10 MB,
                   CLI + git-clone shim)       + vault facade)      your account)

A Colony Memory snapshot is also a ready-to-merge chromosome for ProgenlyColonyMemory.to_progenly_export() shapes a snapshot as a parent's memory field. Backup and reproduction share one format.

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

colony_memory_hermes-0.1.1.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

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

colony_memory_hermes-0.1.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file colony_memory_hermes-0.1.1.tar.gz.

File metadata

  • Download URL: colony_memory_hermes-0.1.1.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for colony_memory_hermes-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d1c1f0c063329dddef15e97cd4e72f014c9872ae94c868b24c0860e9c7e3ce45
MD5 8521d4d70c229c17a2171df6e48d0a92
BLAKE2b-256 8fc4b86d22af4e21eb4d5aec76743f3c6925a885e34f017f65ea0b57afd0f6d6

See more details on using hashes here.

File details

Details for the file colony_memory_hermes-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for colony_memory_hermes-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e59ce62c9c81cb230b7a56832e6119052fc933cd77b7c8dfecb0c494e46d6f74
MD5 0b83b1986499c696e6b7dd9a234cf35f
BLAKE2b-256 b3db443ba792915a89fbcca2d2b658f3a71db8810a5421d5430bfba0e217935f

See more details on using hashes here.

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