Skip to main content

Run ClawHub skills, sandbox, Playwright browser & multi-language runtimes as Hermes hands/feet. Structured JSON, zero extra LLM tokens.

Project description

Exolimbs — Hermes plugin

Give your Hermes agent OpenClaw / ClawHub's hands and feet. Run community skills, an isolated sandbox, a Playwright browser, and multi-language runtimes — through a tiny structured-JSON tool surface, with zero extra LLM tokens on the execution path.

Hermes is the brain. Exolimbs is the deterministic execution substrate. It never calls a model itself, has no conversation/memory/UI, and exposes six tools.

ℹ️ "Exolimbs" is the working title. Rename before any commercial launch — see DESIGN.mdNaming & legal. The package, plugin name, and entry point are all in one place each, so renaming is a 5-minute job.

Tools

Tool What it does
claw_skill_search Search the ClawHub registry
claw_skill_install Install + verify a skill (slug / git:owner/repo@ref / local path)
claw_skill_run Deterministically run a skill's script entrypoint
claw_sandbox_exec Run a command in an isolated (Docker) sandbox with rollback
claw_browser Playwright browser automation via a structured action list
claw_runtime Quick snippet in python / node / bash / ruby / go

Two interchangeable backends

Set exolimbs.backend in ~/.hermes/config.yaml (or EXOLIMBS_BACKEND):

Mode Behaviour
cli Bridges to the real openclaw / clawhub CLIs (--non-interactive --json). Best registry parity. Requires Node + OpenClaw installed.
native Fully decoupled Python substrate. No Node needed. Handles sandbox/browser/runtime + git:/local skill installs natively.
auto (default) cli if the openclaw binary is on PATH, else native.

Install

As a directory plugin (simplest):

# copy the package into your Hermes plugins dir
cp -r exolimbs ~/.hermes/plugins/exolimbs
hermes plugins enable exolimbs

As a pip package (distribution):

pip install exolimbs           # core
pip install "exolimbs[browser]" # + Playwright
playwright install chromium          # one-time browser download
hermes plugins enable exolimbs

Verify inside a session:

/exo doctor

Configure (~/.hermes/config.yaml)

exolimbs:
  backend: auto            # auto | cli | native
  sandbox_enabled: true
  sandbox_image: "python:3.12-slim"
  sandbox_network: false
  default_timeout_s: 120
  max_retries: 2
  rollback: true
  registry_base_url: "https://clawhub.ai"
  browser_headless: true
  # Pro:
  audit_log: false
  # license_key: "EXL1...."   # or set EXOLIMBS_LICENSE in .env

Free vs Pro (open-core)

  • Free: all six tools, both backends, retry/rollback, trust-envelope verify.
  • Pro: JSONL audit log, curated/verified skill packs, auto-update, priority support. Unlock with EXOLIMBS_LICENSE. See DESIGN.md for pricing/channels.

Licenses are signed Ed25519 tokens (EXL1.<payload>.<signature>), verified fully offline against an embedded public key — no phone-home, air-gap safe.

Issuing licenses (vendor-side only):

python scripts/gen_keys.py                 # once: make keypair (seed -> .secrets/, git-ignored)
                                           # paste printed public key into exolimbs/_licensing.py
python scripts/issue_license.py --sub alice@example.com --tier pro --days 365
# -> prints EXL1.<...> ; customer sets EXOLIMBS_LICENSE to that token

Revoke an issued license by adding its jti to _REVOKED in _licensing.py and shipping a release.

Security

Third-party skills are untrusted code. Prefer claw_sandbox_exec with network: false for anything you don't fully trust. Without Docker, sandbox calls run locally and are flagged "sandboxed": false.

Development

pip install -e ".[dev,browser]"
pytest -q

License

MIT (this plugin). Not affiliated with OpenClaw/ClawHub. 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

exolimbs-0.5.0.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

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

exolimbs-0.5.0-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file exolimbs-0.5.0.tar.gz.

File metadata

  • Download URL: exolimbs-0.5.0.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for exolimbs-0.5.0.tar.gz
Algorithm Hash digest
SHA256 992f0cbe8dc214e8e1f355ae6962e74699673bd7cc677bef83d25b478bc4f72b
MD5 0f91cc1a4902471344321fbc5053afad
BLAKE2b-256 ccdfef2c66366de0089fcc777ee2c649e13be360f220595e4e6314d7a4e63f48

See more details on using hashes here.

File details

Details for the file exolimbs-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: exolimbs-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for exolimbs-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e07158f4b781a53d297f69f3badb8de45640f864ec7e0436509eb03a0c163809
MD5 f898191c101e96c8b8d949862b23a866
BLAKE2b-256 a828d45213b75d6a96721c8583c3eebffa0e0ee5508ff6f4ace8785406c022c1

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