Skip to main content

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

Project description

LocalClaw

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

PyPI Python License: MIT CI

LocalClaw 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
  • Available versions with cache-aware refresh โ€” clawd list --versions shows upgrade candidates from the configured registries, served from a day-cache by default. Add --no-cache to force a fresh registry read when you want the latest tags now.
$ clawd 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  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Pass --versions to see available upgrade candidates (cached per day):

$ clawd list --versions
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ 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 clawd

or, for isolated CLI installs:

pipx install clawd
# or
uv tool install clawd

Quick Start

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

clawd setup

Spin up an OpenClaw instance and open the TUI:

clawd create openclaw --name writer --version 2026.4.1
clawd tui writer

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

clawd 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:

clawd create hermes --name analyst --version 2026.4.13
clawd tui analyst

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

clawd config writer

Open the web dashboard to see all instances, providers, and upgrade candidates at a glance (runs as a persistent Docker container):

clawd dashboard

Dashboard

See what versions are available for upgrade (cached per day; add --no-cache to force a fresh fetch):

clawd list --versions
clawd list --versions --no-cache

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:

clawd clone writer --name writer-upgrade-test
clawd upgrade writer-upgrade-test --version 2026.4.10
clawd 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:

clawd 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 (~/.localclaw/instances/<instance>.env for OpenClaw, <datadir>/.env for Hermes) before replacing the container. If the upgrade fails, LocalClaw 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:

clawd provider collect --all
clawd provider list
clawd 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: ~/.localclaw/instances/<instance>.env
  • Hermes: <datadir>/.env

Manage them with clawd setenv / getenv / unsetenv (pass --apply to recreate the container immediately). Service-specific access: clawd token <instance> and clawd approve <instance> are OpenClaw-only (dashboard token + pairing model); Hermes uses clawd 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/clawd/issues.

Local development:

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

Uninstall

pip uninstall clawd
# or
pipx uninstall clawd
# or
uv tool uninstall clawd

Uninstalling the CLI leaves every datadir under ~/.localclaw intact. Remove instance data explicitly with clawd 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

clawd-0.5.1.tar.gz (218.1 kB view details)

Uploaded Source

Built Distribution

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

clawd-0.5.1-py3-none-any.whl (177.1 kB view details)

Uploaded Python 3

File details

Details for the file clawd-0.5.1.tar.gz.

File metadata

  • Download URL: clawd-0.5.1.tar.gz
  • Upload date:
  • Size: 218.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for clawd-0.5.1.tar.gz
Algorithm Hash digest
SHA256 3570e9c699dbe9aa9ca4c435f639d6f11f07a85418d7fd896cba3459a5736d08
MD5 dadc19debafe06f9953d4ed67b343c17
BLAKE2b-256 99c0eea764dabc231cd8fbee8f23cf028e21a5d91526ef632724c9ec430a35f2

See more details on using hashes here.

File details

Details for the file clawd-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: clawd-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 177.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for clawd-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 36a55222bc235819292cfe7c350551fd0ea7a0d24c5aa85bffed7ceba57e3910
MD5 e74c646553ef9c79aa652f11a7887dd6
BLAKE2b-256 9b26675f706eb3ce17d670902c6e8b5b5832c307891ec86884dedcfcaf85bef2

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