This is a Rust implementation of OpenClaw, the open-source AI agent framework, developed by Neul Labs.
| Benefit | Impact |
|---|---|
| Performance | Sub-millisecond message routing, minimal memory footprint |
| Safety | Memory safety without GC, thread safety via ownership |
| Reliability | No null pointer exceptions, exhaustive pattern matching |
| Portability | Single binary deployment, cross-compilation to mobile/embedded |
| Interop | napi-rs bindings for Node.js compatibility |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OpenClaw Rust Core β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββββ β
β β macOS App β β iOS App β β Android App β β TS Plugins (IPC) β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ βββββββββββββ¬ββββββββββββ β
β ββββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββββββββ β
β HTTP/WS β’ JSON-RPC β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ββββββββββββββββββββββββββββ β
β β openclaw-gateway β β
β β (axum HTTP/WS server) β β
β β ββββββββββββββββββββ β β
β β β openclaw-ui β β β
β β β (Vue 3 Dashboard)β β β
β β ββββββββββββββββββββ β β
β ββββββββββββββ¬ββββββββββββββ β
β βββββββββββββββββββββββββΌββββββββββββββββββββββββ β
β β β β β
β ββββββββββ΄βββββββββ βββββββββββ΄ββββββββββ ββββββββββ΄βββββββββ β
β β openclaw-core β β openclaw-agents β βopenclaw-channelsβ β
β β (types, config β β (runtime, sandboxβ β (Telegram, etc.)β β
β β events, auth) β β workflow, tools)β βββββββββββββββββββ β
β βββββββββββββββββββ βββββββββββββββββββββ β
β β β β
β ββββββββββ΄βββββββββ βββββββββββ΄ββββββββββ β
β β openclaw-secretsβ βopenclaw-providers β β
β β (AES-256-GCM) β β(Anthropic, OpenAI)β β
β βββββββββββββββββββ βββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Crate | Status | Description |
|---|---|---|
openclaw-core |
β Complete | Types, config, events, secrets, auth, validation |
openclaw-ipc |
β Complete | IPC message types, nng transport |
openclaw-providers |
β Complete | Anthropic, OpenAI providers with streaming |
openclaw-agents |
β Complete | Runtime, sandbox, workflow, tools |
openclaw-channels |
Channel traits, routing, allowlist | |
openclaw-gateway |
β Complete | HTTP/WS server, JSON-RPC, embedded UI |
openclaw-plugins |
Plugin API, FFI bridge (wasmtime) | |
openclaw-cli |
β Complete | CLI commands (onboard, gateway, status, config) |
openclaw-node |
β Complete | napi-rs bindings for Node.js |
openclaw-ui |
β Complete | Vue 3 web dashboard (embedded in gateway) |
# From crates.io
cargo install openclaw-cli
# From source
git clone https://github.com/neul-labs/openclaw-rs
cd openclaw-rs
cargo install --path crates/openclaw-cli- Rust 1.85+ (2024 edition)
- Node.js 20+ (for building the embedded UI)
- System dependencies for sandboxing:
- Linux:
bubblewrap(bwrap) - macOS: Built-in
sandbox-exec - Windows: No additional deps (uses Job Objects)
- Linux:
# Interactive setup wizard
openclaw onboard
# Start the gateway server
openclaw gateway run
# Open the web dashboard
openclaw dashboard# Check system status
openclaw status
# Run health checks
openclaw doctor
# Configure providers
openclaw configure --section auth
# Manage agents
openclaw agents listconst { AnthropicProvider, NodeEventStore } = require('openclaw-node');
// Create provider
const provider = new AnthropicProvider(process.env.ANTHROPIC_API_KEY);
// Create completion
const response = await provider.complete({
model: 'claude-3-5-sonnet-20241022',
messages: [{ role: 'user', content: 'Hello!' }],
maxTokens: 1024,
});
console.log(response.content);use openclaw_providers::{AnthropicProvider, Provider};
use openclaw_core::secrets::ApiKey;
let provider = AnthropicProvider::new(ApiKey::new("sk-...".into()));
let response = provider.complete(request).await?;| Principle | Implementation |
|---|---|
| Event Sourcing | Sessions stored as append-only event logs (sled) |
| CRDT Projections | Conflict-free state via last-write-wins merge |
| Defense in Depth | Input validation, sandboxing, secret redaction |
| Zero Trust | All external input validated at boundaries |
| Fail Secure | Errors default to denial, not exposure |
- Full Documentation - Complete guides and API reference
- Architecture - System design and patterns
- Security - Threat model and security measures
- Crates - Detailed crate documentation
- Contributing - Development guide
We welcome contributions! See CONTRIBUTING.md for guidelines.
MIT License - see LICENSE for details.
This project is a Rust implementation inspired by and compatible with the original OpenClaw project. We're grateful for:
- The excellent design and architecture of the original OpenClaw project
- The open-source community that makes projects like this possible
- The Rust ecosystem for its emphasis on safety and performance
- "OpenClaw" refers to the original open-source project at github.com/openclaw/openclaw
- "Claude" and "Anthropic" are trademarks of Anthropic, PBC
- "GPT" and "OpenAI" are trademarks of OpenAI, Inc
- All trademarks belong to their respective owners
This is an independent implementation by Neul Labs. Provider integrations use official public APIs.
- Original OpenClaw - The original TypeScript project
- Documentation - Full documentation
- GitHub - Source code
- Neul Labs - Organization