Skip to main content

ClawRouter for Hermes — 55+ models, x402 USDC micropayments, smart routing

Project description

hermes-plugin-clawrouter

ClawRouter for Hermes — 55+ LLMs, x402 USDC micropayments, smart routing.

Wraps the existing ClawRouter TypeScript proxy as a Hermes plugin. Wallet (BIP-39, Base + Solana), routing (15-dimension scorer), and x402 payment all stay in the canonical TS implementation — this is a thin Python adapter.

Install

pip install hermes-plugin-clawrouter
hermes plugins enable clawrouter
hermes-clawrouter setup
hermes-clawrouter doctor

setup writes the model-provider plugin to ~/.hermes/plugins/model-providers/clawrouter/, seeds CLAWROUTER_API_KEY=clawrouter-local in ~/.hermes/.env, and registers ClawRouter in ~/.hermes/config.yaml so Hermes' /model picker can show the provider and curated BlockRun chat models.

CLAWROUTER_API_KEY is intentionally a non-secret placeholder. ClawRouter payments use the local wallet/proxy, but Hermes hides API-key-style providers from /model unless the configured key env var exists.

hermes-clawrouter is provided because some Hermes releases do not add plugin-defined top-level CLI commands before the plugin is enabled. Once the plugin is loaded, hermes clawrouter <setup|wallet|doctor|route|stats> may also be available.

Usage

In a Hermes chat:

  • Set model to blockrun/auto to use ClawRouter's smart routing.
  • /clawrouter wallet — address + USDC balance
  • /clawrouter stats — proxy usage stats
  • /clawrouter status — proxy health
  • /clawrouter route <eco|auto|premium> — switch routing profile

Tools (callable from chat):

  • clawrouter_image_generate — 55+ models incl. DALL-E 3, Flux, Nano Banana
  • clawrouter_video_generate — Seedance, Grok Imagine
  • clawrouter_web_search — Exa-powered

Wallet

The plugin reads the canonical wallet at ~/.openclaw/blockrun/mnemonic (24-word BIP-39 phrase, mode 0o600). To create one:

npx @blockrun/clawrouter setup

Then fund USDC on Base or Solana — $5 covers thousands of requests, non-custodial. The plugin never writes to the wallet.

Headless / CI

Set BLOCKRUN_WALLET_KEY=<0x raw EVM hex> to bypass the mnemonic file (EVM-only — Solana derivation unavailable).

Environment variables

Variable Effect
CLAWROUTER_PROXY_URL Point at an externally-managed proxy (e.g. https://my-host/v1). Skips local spawn entirely.
HERMES_CLAWROUTER_AUTOSPAWN=0 Disable lazy spawn; require npx @blockrun/clawrouter to be running already.
BLOCKRUN_WALLET_KEY Raw EVM hex private key — overrides the mnemonic file.
CLAWROUTER_ROUTING_PROFILE eco / auto / premium. Forwarded to the proxy on spawn.

How it works

  1. hermes starts → the entry-point plugin is loaded → register(ctx) wires tools, slash commands, CLI, and the skill.
  2. hermes-clawrouter setup materializes ~/.hermes/plugins/model-providers/clawrouter/{plugin.yaml,__init__.py} from bundled package data and writes Hermes config/env hints needed by current Hermes provider and gateway model-picker paths.
  3. Hermes' providers/__init__.py discovers the materialized directory and registers the ClawRouterProfile, pointing base_url at http://127.0.0.1:<port>/v1.
  4. First tool call or chat turn → the supervisor probes :8402, spawns npx -y @blockrun/clawrouter --port <port> if needed, waits ≤30s for /v1/models, then forwards the request.
  5. A heartbeat thread restarts the subprocess on death (max 3 restarts/min).

Distribution

The Python package ships both logical plugins:

  • Standalone plugin (this PyPI entry point): tools, slash commands, CLI, skill.
  • Model-provider plugin (materialized into ~/.hermes/plugins/model-providers/clawrouter/ by hermes clawrouter setup): ProviderProfile registration.

This split is required because Hermes' PluginManager (hermes_cli/plugins.py) skips register(ctx) for kind: model-provider, and entry-point plugins always load as kind: standalone.

Development

pip install -e ".[dev]"
pytest

License

MIT. © BlockRun.

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

hermes_plugin_clawrouter-0.3.1.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

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

hermes_plugin_clawrouter-0.3.1-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file hermes_plugin_clawrouter-0.3.1.tar.gz.

File metadata

  • Download URL: hermes_plugin_clawrouter-0.3.1.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for hermes_plugin_clawrouter-0.3.1.tar.gz
Algorithm Hash digest
SHA256 68639de3d016ab1dad297faedefd12a5ae2cda8c6deab7ee87f1bdd2ba6bb3c4
MD5 3fe08e05318892cb1418a630160d6b3b
BLAKE2b-256 71f2da025637e4e60cba5b39ed8421a4e35997fad5f7bd5124cb793e6f750ca4

See more details on using hashes here.

File details

Details for the file hermes_plugin_clawrouter-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hermes_plugin_clawrouter-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0fa081b94bc7e489b1c4fce3a26bea4c7b7081d9cb751b7cfeb51b31d655df4
MD5 9ae628e208630019f9c79c02485d666f
BLAKE2b-256 1e3f2e07930760c8fa1444f1fa69d7dcbf7546c1eb636053219a79d4ba204e4f

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