Skip to main content

Autonomous doctor and personal trainer for OpenClaw agents

Project description

EasyClaw

Autonomous doctor and personal trainer for OpenClaw agents.

EasyClaw is a lightweight sidecar daemon that monitors, diagnoses, self-heals, and optimizes OpenClaw instances — without user intervention. It runs alongside your OpenClaw agent and keeps it healthy 24/7.

Features

  • Auto-Discovery — detects your OpenClaw installation, config, logs, and running process automatically
  • Log Monitoring — tails OpenClaw logs in real-time, classifies errors against 17 built-in patterns
  • Self-Healing — 16 built-in remediations for common failures (OOM, crashes, stale locks, DNS, rate limits, post-update issues)
  • AI Agent Brain — LLM-powered reasoning via OpenRouter (GLM-4.7-Flash) with tool calling for complex diagnostics
  • Circuit Breaker — prevents restart loops with configurable thresholds
  • MCP Knowledge Base — queries a cloud knowledge hub with 29 articles, 20+ model profiles, and diagnostic patterns
  • Telegram Bot — two-way conversational interface with /status, /logs, /stats commands and CRITICAL alert forwarding
  • KPI Tracking — MTTR, uptime %, auto-fix rate, intervention rate with persistent snapshots
  • Status Dashboard — local HTTP endpoint (localhost:18790) for health data
  • Resource Capping — enforces 10% CPU / 256MB RAM budget via systemd or nice values
  • Security Sandbox — validates all commands before execution, blocks dangerous operations

Install

curl -sL easyclaw.help/install | bash

Or via pip:

pip install easyclaw

Or Docker:

docker run -d \
  --name easyclaw \
  -v ~/.openclaw:/host/.openclaw:ro \
  -v /tmp/openclaw:/host/tmp/openclaw:ro \
  -v ~/.easyclaw:/home/easyclaw/.easyclaw \
  easyclaw/easyclaw:latest

Quick Start

# Run diagnostics first
easyclaw doctor

# Start the daemon (foreground for first run)
easyclaw start -f

# Or background
easyclaw start

# Check status
easyclaw status

# Stop
easyclaw stop

Configuration

EasyClaw stores its config at ~/.easyclaw/config.yaml. Key settings:

# Core
heartbeat_interval: 30        # seconds
health_check_interval: 60     # seconds
log_retention_days: 7
max_restart_attempts: 3       # circuit breaker
restart_window: 600           # circuit breaker window (10 min)
gateway_port: 18789

# Alerts
alert_webhook: null           # n8n/Telegram/Slack webhook URL

# MCP Knowledge Base
mcp_endpoint: null            # e.g., http://your-server:8002
mcp_token: null               # subscription token

# AI Agent Brain
openrouter_api_key: null      # enables LLM-powered reasoning
openrouter_model: "z-ai/glm-4.7-flash"
agent_enabled: true

# Telegram Bot
telegram_bot_token: null      # from @BotFather
telegram_chat_ids: []         # authorized chat IDs
telegram_alert_severity: "CRITICAL"

Architecture

EasyClaw runs as an asyncio daemon with 16 concurrent subsystems:

Log Tailing ──> Classifier ──> Alert Pipeline ──> Webhook/Telegram
                    │
                    ▼
              Agent Brain (LLM) ──> MCP Knowledge Base
                    │
                    ▼
              Healer (fallback: rules-based)
                    │
                    ▼
              Executor ──> Sandbox ──> Shell Commands
                    │
                    ▼
              Fix Ledger ──> Circuit Breaker

The agent brain activates on events (not continuously), with a 10-second batch window and 30-second cooldown. Typical cost: <$0.02/day. If no API key is configured or OpenRouter is down, it falls back to the rules-based healer automatically.

Requirements

  • Python 3.10+
  • Linux, macOS, or WSL2
  • OpenClaw installed (runs in standby mode without it)

License

Proprietary. See easyclaw.help for subscription details.

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

easyclaw-0.2.2.tar.gz (164.9 kB view details)

Uploaded Source

Built Distribution

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

easyclaw-0.2.2-py3-none-any.whl (87.1 kB view details)

Uploaded Python 3

File details

Details for the file easyclaw-0.2.2.tar.gz.

File metadata

  • Download URL: easyclaw-0.2.2.tar.gz
  • Upload date:
  • Size: 164.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for easyclaw-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ac56405bc3fe77a0e0a670f88e3132333e8b134b542c573ca62d8bcefdaeea4c
MD5 1251da2008f347867e118eae819a6d3d
BLAKE2b-256 5bec34cabc1ce5b56fbbb9e77cd34eee33420aad7a59db62bd91bb781b4bcb2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyclaw-0.2.2.tar.gz:

Publisher: publish.yml on slickrick74/easyclaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file easyclaw-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: easyclaw-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 87.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for easyclaw-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78594482acb14fe168a34637068b6287593238bc74e1ccd8352ac9f7368ac913
MD5 62d3e4326b5855cb2b039ba4424678ca
BLAKE2b-256 e97749fec6b04a5db08c7120a55eaef072349ac66ce3388f510fc6d1a5b37bdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyclaw-0.2.2-py3-none-any.whl:

Publisher: publish.yml on slickrick74/easyclaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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