CloudClaw
Enterprise-grade open source AI Agent platform
Built with Spring Boot Β· Spring AI Β· Vue 3
π Website Β· π Documentation Β· π¬ Discussions Β· π Issues
English Β· δΈζ
Most AI Agent platforms target individual developers β local filesystems, script execution, single-user. Enterprises need more: multi-tenant isolation, stateless scalability, and a secure Agent runtime.
CloudClaw is an enterprise-grade AI Agent platform that makes deploying multi-agent systems as easy as running a regular web application.
β¨ Highlights
- π One command to start β
java -jarin standalone mode, Docker Compose for production - π₯ Multi-tenant by design β Sessions, memories, and configs are isolated per user
- π Stateless & scalable β All state in databases and caches, ready for horizontal scaling
- π Security first β Agent I/O through MCP, database, or isolated sandbox β never raw host access
- π Pluggable everything β Memory engines, message queues, LLM providers, MCP servers are all replaceable
- π€ 5 orchestration modes β Pipeline, Parallel, Router, Supervisor, Handoff out of the box
ποΈ Architecture Overview
Enterprise developers build Digital Employees (Agents) on CloudClaw, then all company employees use them as services.
π― CloudClaw vs OpenClaw
CloudClaw and OpenClaw are complementary projects:
| OpenClaw | CloudClaw | |
|---|---|---|
| Target | Personal AI assistant | Enterprise AI Agent platform |
| Language | Node.js / TypeScript | Java (Spring Boot) |
| Users | Single user | Multi-tenant with data isolation |
| Storage | Local filesystem (MEMORY.md) | Database (PostgreSQL / SQLite) |
| Script Execution | Local Shell / PTY | Isolated Sandbox (Local/Docker/E2B) |
| Agent State | Stateful (local process) | Stateless, horizontally scalable |
| Memory | Local Markdown files | Database-backed (JDBC / Mem0 / Zep) |
| AI Framework | Custom | Spring AI |
| Frontend | None (third-party integrations) | Vue 3 + Element Plus (Admin + Chat) |
| Deployment | Personal devices | Server / Container / K8s |
| License | MIT | Apache 2.0 |
OpenClaw is your personal butler. CloudClaw is your enterprise Agent middleware.
π Quick Start
Standalone Mode (Zero Dependencies)
# Clone
git clone https://github.com/cloudclaw-dev/cloudclaw.git
cd cloudclaw
# Build
mvn clean package -DskipTests
# Set required secrets
export JWT_SECRET="your-secret-key-at-least-32-bytes-long!!"
export CRYPTO_SECRET="your-crypto-secret-key-at-least-32b"
# Run
java -jar cloudclaw-app/target/cloudclaw-app-1.0.6.jar
Open http://localhost:8080/ and login with admin / admin123.
That's it β SQLite + in-memory MQ, no external dependencies.
β οΈ
JWT_SECRETandCRYPTO_SECRETare required. Generate strong random strings for production.
Cluster Mode (PostgreSQL + Redis)
# Prerequisites: PostgreSQL 16+ and Redis 7+
createdb cloudclaw
mvn clean package -DskipTests
export JWT_SECRET="your-secret-key-at-least-32-bytes-long!!"
export CRYPTO_SECRET="your-crypto-secret-key-at-least-32b"
java -jar cloudclaw-app/target/cloudclaw-app-1.0.6.jar \
--spring.profiles.active=cluster
Configure application-cluster.yml:
spring:
datasource:
url: jdbc:postgresql://localhost:5432/cloudclaw
username: postgres
password: your-password
data:
redis:
host: localhost
port: 6379
π€ Multi-Agent Workflow
5 built-in orchestration modes for multi-agent collaboration:
| Mode | Description |
|---|---|
| Pipeline | Sequential steps β output feeds into the next |
| Parallel | Multiple agents run simultaneously, results merged |
| Router | LLM-based intent classification routes to the best sub-agent |
| Supervisor | Planner/reviewer agent delegates tasks iteratively |
| Handoff | Conversation transfers between agents with individual context |
All modes support per-node model, system prompt, MCP servers, and skills.
π Module Structure
cloudclaw
βββ cloudclaw-app # Spring Boot entry point & configuration
βββ cloudclaw-common # Shared models, DTOs, utilities
βββ cloudclaw-auth # JWT authentication & authorization
βββ cloudclaw-agent # Agent engine, prompt assembly, chat orchestration, workflow
βββ cloudclaw-llm # LLM multi-provider routing, credential encryption, usage stats
βββ cloudclaw-mcp # MCP gateway, connection pool, tool routing
βββ cloudclaw-memory # Memory service (JDBC / Mem0 engines)
βββ cloudclaw-session # Session & message persistence
βββ cloudclaw-skill # Skill definition & management
βββ cloudclaw-mq # Message queue abstraction (Redis Streams / in-memory)
βββ cloudclaw-admin # Admin API controllers
βββ cloudclaw-user # User-facing API controllers
βββ cloudclaw-sandbox # Code sandbox (Local/Docker/E2B)
βββ cloudclaw-standalone # Standalone mode (SQLite, in-memory MQ, Caffeine cache)
βββ cloudclaw-debug # Debug utilities (optional, zero-overhead when disabled)
βββ cloudclaw-release # Distribution packaging (scripts, assembly)
βββ cloudclaw-ui # Vue.js frontend (Chat + Admin, unified SPA)
π¦ Tech Stack
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot 3.4.5, Spring AI 1.1.5 |
| Database | PostgreSQL 16 / SQLite |
| Cache | Redis 7 |
| Message Queue | Redis Streams |
| Auth | JWT (HS384) |
| Migration | Flyway |
| Sandbox | Local / Docker (Testcontainers) / E2B |
| Frontend | Vue 3, Element Plus, Vite, TypeScript, ECharts |
| AI Models | Spring AI β OpenAI compatible (DeepSeek / Qwen / GLM / Ollama / β¦) |
βοΈ Configuration
| Property | Default | Description |
|---|---|---|
spring.profiles.active |
standalone |
standalone or cluster |
cloudclaw.jwt.secret |
(required) | JWT signing key (env: JWT_SECRET) |
cloudclaw.jwt.access-token-ttl |
2h |
Access token TTL |
cloudclaw.jwt.refresh-token-ttl |
7d |
Refresh token TTL |
cloudclaw.crypto.secret |
(required) | Encryption secret (env: CRYPTO_SECRET) |
cloudclaw.memory.engine |
jdbc |
Memory engine: jdbc or mem0 |
cloudclaw.mq.provider |
inmemory |
MQ provider: inmemory or redis |
cloudclaw.mcp.pool.max-connections-per-server |
5 |
Max MCP connections per server |
cloudclaw.sandbox.default-backend |
LOCAL |
Sandbox: LOCAL, DOCKER, E2B |
cloudclaw.sandbox.default-mode |
STATELESS |
STATELESS or SESSION |
cloudclaw.sandbox.default-timeout |
30s |
Default execution timeout |
cloudclaw.sandbox.max-timeout |
5m |
Maximum execution timeout |
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
No comments yet
Be the first to share your take.