Skip to main content

ClawCU: a local multi-agent lifecycle manager for OpenClaw and Hermes

Project description

ClawCU

๐ŸŒ Language: English | ไธญๆ–‡

PyPI Python License: MIT CI

ClawCU is a local-first lifecycle manager for running multiple AI agent runtimes on one machine. It currently supports OpenClaw and Hermes Agent.

Contents

Highlights

  • One CLI, two runtimes โ€” OpenClaw and Hermes through the same lifecycle commands
  • Snapshots before every upgrade โ€” datadir and env both captured; rollback restores from real backups
  • Clone-first experiments โ€” copy an instance, upgrade the copy, leave the original running
$ clawcu list
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ NAME            โ”ƒ SERVICE  โ”ƒ VERSION   โ”ƒ PORT  โ”ƒ STATUS  โ”ƒ ACCESS          โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ writer          โ”‚ openclaw โ”‚ 2026.4.1  โ”‚ 18799 โ”‚ running โ”‚ 127.0.0.1:18799 โ”‚
โ”‚ analyst         โ”‚ hermes   โ”‚ 2026.4.13 โ”‚ 9129  โ”‚ running โ”‚ 127.0.0.1:9129  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Available versions (top 10 by semver, newest first)
  openclaw  2026.4.15, 2026.4.14, 2026.4.12, 2026.4.11, 2026.4.10, 2026.4.9,
            2026.4.8, 2026.4.7, 2026.4.5, 2026.4.2
  hermes    2026.4.16, 2026.4.13, 2026.4.8, 2026.4.3, 2026.3.30

Install

Requires Python 3.11+ and a running Docker daemon.

pip install clawcu

or, for isolated CLI installs:

pipx install clawcu
# or
uv tool install clawcu

Quick Start

First-time setup โ€” checks Docker access and configures defaults:

clawcu setup

Spin up an OpenClaw instance and open the TUI:

clawcu pull openclaw --version 2026.4.1
clawcu create openclaw --name writer --version 2026.4.1
clawcu tui writer

If you maintain a custom runtime image, keep the logical service version explicit and override only the runtime image:

clawcu create openclaw \
  --name writer-tools \
  --version 2026.4.1 \
  --image registry.example.com/openclaw:2026.4.1-tools

Or spin up a Hermes instance with the same shape:

clawcu pull hermes --version 2026.4.13
clawcu create hermes --name analyst --version 2026.4.13
clawcu tui analyst

Configure providers / models inside an instance via its service-native flow (OpenClaw's setup, Hermes's config):

clawcu config writer

For the full command reference (list / inspect / exec / upgrade / provider โ€ฆ), see USAGE_latest.md.

Safe Upgrade Workflow

Upgrade on a clone first; promote only if the clone holds:

clawcu clone writer --name writer-upgrade-test
clawcu upgrade writer-upgrade-test --version 2026.4.10
clawcu rollback writer-upgrade-test    # if the new version misbehaves

upgrade also accepts --image when you want to keep the target version label explicit but run a custom image:

clawcu upgrade writer-upgrade-test \
  --version 2026.4.10 \
  --image registry.example.com/openclaw:2026.4.10-tools

Every upgrade snapshots the instance datadir and the matching env file (~/.clawcu/instances/<instance>.env for OpenClaw, <datadir>/.env for Hermes) before replacing the container. If the upgrade fails, ClawCU restores both automatically. When --image is used, the chosen runtime image is persisted as part of the instance state, so later recreate, orphan recovery, and rollback continue using the same recorded image chain.

Model Configuration

Collect API keys and model lists from any managed instance or local home, and apply them elsewhere:

clawcu provider collect --all
clawcu provider list
clawcu provider apply openclaw:minimax writer --agent main --primary minimax/MiniMax-M2.7

Service identity is stored with each collected bundle, so OpenClaw and Hermes configs with the same logical name do not silently collide.

Environment and Access

Env files live per service (not unified):

  • OpenClaw: ~/.clawcu/instances/<instance>.env
  • Hermes: <datadir>/.env

Manage them with clawcu setenv / getenv / unsetenv (pass --apply to recreate the container immediately). Service-specific access: clawcu token <instance> and clawcu approve <instance> are OpenClaw-only (dashboard token + pairing model); Hermes uses clawcu tui / config / exec as its operational entrypoints. Full command reference: USAGE_latest.md.

Changelog

See CHANGELOG.md for release history. Latest release notes: RELEASE_latest.md.

Contributing

Issues and PRs welcome at github.com/heguangzhu/clawcu/issues.

Local development:

git clone https://github.com/heguangzhu/clawcu.git
cd clawcu
uv sync --all-extras
uv run pytest -q

Uninstall

pip uninstall clawcu
# or
pipx uninstall clawcu
# or
uv tool uninstall clawcu

Uninstalling the CLI leaves every datadir under ~/.clawcu intact. Remove instance data explicitly with clawcu remove <name> --delete-data before uninstalling if you want it gone.

License

MIT โ€” see LICENSE.

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

clawcu-0.2.11.tar.gz (141.2 kB view details)

Uploaded Source

Built Distribution

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

clawcu-0.2.11-py3-none-any.whl (99.1 kB view details)

Uploaded Python 3

File details

Details for the file clawcu-0.2.11.tar.gz.

File metadata

  • Download URL: clawcu-0.2.11.tar.gz
  • Upload date:
  • Size: 141.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for clawcu-0.2.11.tar.gz
Algorithm Hash digest
SHA256 ad764102203a959d0f85215e8eb3a633e65f58d42f4f5e5424bf9e82ab9b7759
MD5 6d80f5ba5c77789440fe4dbf12cdf5e4
BLAKE2b-256 00c8829afb511d1d39ec6cfb78785b07c306a9bdda0cf12ebd1d470a0228233f

See more details on using hashes here.

File details

Details for the file clawcu-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: clawcu-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 99.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for clawcu-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 daadf001b3702ccedc6e54c1b9d7000f0f91e01f5552d6054d5c26614e5ca6df
MD5 ea602d72e1d8b40bc915b3f1d78af54a
BLAKE2b-256 7ee18d351a2a972fdee88600ff4cc194e0f6f81761d667f5ef9d34d80069faec

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