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 13 built-in patterns
  • Self-Healing — 11 built-in remediations for common failures (OOM, crashes, stale locks, DNS, rate limits)
  • 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.1.1.tar.gz (152.5 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.1.1-py3-none-any.whl (84.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for easyclaw-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6ac3045e88ed739b68f36b001da601e3cdfc89e7cf46287bb3c64257d7f30246
MD5 8523357420eab4c38c588a19b4f7cc4f
BLAKE2b-256 1597be8457219c60a02fbdacda792e6b217bbe29194c092a0a5c97624d9df710

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyclaw-0.1.1.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.1.1-py3-none-any.whl.

File metadata

  • Download URL: easyclaw-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 84.0 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70a2f4aaf7f7a926be9ea935b80a4888dffc15cd7fc8406b01a49365f08e80e5
MD5 0dced7d40547791dd1abd9d465475038
BLAKE2b-256 e66f97a1a1854f8219aadef59fc856a47a1a5dd296d5b447baf4f2690ffb1bb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyclaw-0.1.1-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