Skip to content

Integrated Openclaw, ZeroClaw and PicoClaw as 24/7 agents in our serverless engine with persistence #119

Merged
RadeenXALNW merged 6 commits into
mainfrom
rad/openclaw
Mar 19, 2026
Merged

Integrated Openclaw, ZeroClaw and PicoClaw as 24/7 agents in our serverless engine with persistence #119
RadeenXALNW merged 6 commits into
mainfrom
rad/openclaw

Conversation

@RadeenXALNW
Copy link
Copy Markdown
Collaborator

@RadeenXALNW RadeenXALNW commented Mar 19, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added three new service frameworks: OpenClaw, PicoClaw, and ZeroClaw for advanced deployment scenarios.
    • Introduced template shortcuts for deploy and register commands, enabling simplified deployments like runagent deploy openclaw/gateway.
    • Added persistent storage support for gateway deployments.
    • Introduced MCP (Model Context Protocol) server integration for OpenClaw.
    • Enhanced deployment to capture and report network configuration details.
  • Documentation

    • Added comprehensive deployment and persistent storage guides for OpenClaw.
    • Added gateway templates and documentation for OpenClaw, PicoClaw, and ZeroClaw.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 19, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 48b134b2-2f59-4a79-880b-69f56231e47a

📥 Commits

Reviewing files that changed from the base of the PR and between 4c18ba0 and d8eea82.

⛔ Files ignored due to path filters (5)
  • docs/logo/Openclaw-logo-text-dark.png is excluded by !**/*.png
  • docs/logo/openclaw logo.png is excluded by !**/*.png
  • docs/logo/openclaw-white.jpg is excluded by !**/*.jpg
  • docs/logo/picoclaw.png is excluded by !**/*.png
  • docs/logo/zeroclaw.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • .gitignore
  • README.md
  • examples/trip_planner/agent/runagent.config.json
  • examples/trip_planner/sdk/python/test.py
  • runagent/cli/commands/config.py
  • runagent/cli/commands/deploy.py
  • runagent/cli/commands/register.py
  • runagent/sdk/rest_client.py
  • runagent/sdk/server/framework/__init__.py
  • runagent/utils/agent.py
  • runagent/utils/enums/framework.py
  • templates/agno/default/runagent.config.json
  • templates/openclaw/DEPLOYMENT_GUIDE.md
  • templates/openclaw/PERSISTENT_STORAGE.md
  • templates/openclaw/gateway/.agent_files/.gitkeep
  • templates/openclaw/gateway/README.md
  • templates/openclaw/gateway/runagent.config.json
  • templates/openclaw/mcp/README.md
  • templates/openclaw/mcp/agent.py
  • templates/openclaw/mcp/requirements.txt
  • templates/openclaw/mcp/runagent.config.json
  • templates/picoclaw/gateway/README.md
  • templates/picoclaw/gateway/runagent.config.json
  • templates/zeroclaw/gateway/README.md
  • templates/zeroclaw/gateway/runagent.config.json
  • test_scripts/dart/test_agno/.dart_tool/package_config.json
  • test_scripts/dart/test_agno/.dart_tool/package_graph.json
  • test_scripts/dart/test_agno/.dart_tool/pub/bin/test_agno/test_agno.dart-3.11.3.snapshot
  • test_scripts/dart/test_agno/bin/test_agno.dart
  • test_scripts/python/client_test_agno.py

📝 Walkthrough

Walkthrough

This PR introduces OpenClaw, PicoClaw, and ZeroClaw service frameworks by adding enum definitions, executor mappings, and validation logic. It implements a comprehensive template system enabling CLI deployment of these services with template resolution, agent registration, persistent storage, and specialized credential output.

Changes

Cohort / File(s) Summary
Framework Foundation
runagent/utils/enums/framework.py, runagent/sdk/server/framework/__init__.py
Added three new service framework enums (OPENCLAW, PICOCLAW, ZEROCLAW), service framework classification methods (is_service(), get_service_frameworks()), updated category property logic, and mapped OpenClaw to GenericExecutor.
CLI Template & Registration System
runagent/cli/commands/config.py, runagent/cli/commands/register.py
Updated --register-agent flag from validated Path to str type; added template path resolution and template-specific registration flow including DB lookups, working copy caching under LOCAL_CACHE_DIRECTORY/registered_templates, config fingerprinting, and agent UUID generation.
CLI Deployment Enhancement
runagent/cli/commands/deploy.py
Extended deployment to support template shortcuts (openclaw/gateway, picoclaw, zeroclaw) via _resolve_template_path(), added --new-id flag, implements template-aware agent preparation with optional registration, creates temporary working copies for local templates, persists agent IDs to config, and outputs specialized credentials/guidance for deployed service frameworks.
Agent Validation & SDK Metadata
runagent/utils/agent.py, runagent/sdk/rest_client.py
Added validate_service_agent() supporting service framework validation; updated deploy/start flow to pass agent config metadata and capture network_info from server responses for persisted deployment tracking.
OpenClaw Gateway Template
templates/openclaw/gateway/*, templates/openclaw/DEPLOYMENT_GUIDE.md, templates/openclaw/PERSISTENT_STORAGE.md
New template with configuration, documentation, and two guides detailing two-component architecture (Gateway + MCP), deployment sequencing, persistent storage mounting to /root/.openclaw, and environment variable configuration.
OpenClaw MCP Template
templates/openclaw/mcp/*
New MCP server template with agent.py spawning openclaw-mcp subprocess, configuration specifying gateway URL/token environment variables, and documentation for client integration (Cursor, Claude Desktop).
Picoclaw & Zeroclaw Gateway Templates
templates/picoclaw/gateway/*, templates/zeroclaw/gateway/*
New service gateway templates with configuration and deployment documentation for long-running microVM services with persistent data paths (.picoclaw, .zeroclaw).
Configuration & Documentation Updates
.gitignore, README.md, examples/trip_planner/..., test_scripts/..., templates/agno/default/runagent.config.json
Updated .gitignore to ignore venv* patterns; replaced README "RunAgent Pulse" news with OpenClaw/PicoClaw/ZeroClaw announcement; updated agent IDs in example configs and test scripts.

Sequence Diagram(s)

sequenceDiagram
    actor User as User/CLI
    participant CLI as CLI (deploy)
    participant Resolver as Template Resolver
    participant DB as Database
    participant SDK as SDK Client
    participant Server as Server/Executor
    participant Output as Post-Deploy Output

    User->>CLI: runagent deploy openclaw/gateway
    CLI->>Resolver: _resolve_template_path("openclaw/gateway")
    Resolver-->>CLI: (resolved_path, downloaded_temp_dir)
    
    CLI->>DB: Query existing agent by template name
    alt Agent exists
        CLI->>User: Prompt to proceed
    else No match
        CLI->>CLI: Continue deployment
    end
    
    CLI->>CLI: Load runagent.config.json
    alt No agent_id or null UUID
        CLI->>CLI: Generate new agent_id
        CLI->>CLI: Update config with new_id
    end
    
    CLI->>SDK: deploy_remote(path, agent_config)
    SDK->>Server: start_agent(agent_id, metadata)
    Server-->>SDK: network_info, deployment_details
    SDK-->>CLI: deployment_result with network_info
    
    alt Deployed service is OpenClaw Gateway
        CLI->>Server: Poll agent status
        Server-->>CLI: gateway_url, gateway_token, pairing_status
        CLI->>Output: Print gateway credentials & MCP setup guidance
    end
    
    CLI->>Output: Print deployment summary
    Output-->>User: Success with endpoint info
    
    Note over CLI: Cleanup: delete temp_dir if downloaded
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐰 Three claws have come to light—Open, Pico, Zero—so bright!
Service frameworks now take flight, templates making deploy just right,
Persistent storage, gateways paired, MCP connections deftly shared,
A rabbit hops with joy and cheer, the template system's finally here! 🌟

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rad/openclaw
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can use Trivy to scan for security misconfigurations and secrets in Infrastructure as Code files.

Add a .trivyignore file to your project to customize which findings Trivy reports.

@RadeenXALNW RadeenXALNW merged commit 2c0de38 into main Mar 19, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants