glossary
The openclaw-rs vocabulary.
The concepts that show up across the architecture, security, and use-case pages, defined in one place.
- Agent runtime
- The process that executes an AI agent — routing messages, calling tools, invoking providers, and persisting state. openclaw-rs is a runtime you deploy, not a library you assemble a runtime from.
- Event sourcing
- A pattern where state is stored as an append-only log of events rather than as mutable rows. In openclaw-rs, each session is a log of SessionEvent values, so the current conversation is a projection over that log.
- SessionEvent
- The unit of the event log. openclaw-rs defines eight kinds: SessionStarted, MessageReceived, MessageSent, ToolCalled, ToolResult, AgentResponse, SessionEnded, and StateChanged.
- CRDT projection
- Derived state computed from the event log using conflict-free replicated data type semantics. openclaw-rs uses last-write-wins merge, versioned by each event's monotonic sequence, so multi-instance coordination is safe by construction.
- sled
- An embedded, lock-free key-value store written in Rust. openclaw-rs uses sled as the append-only backing store for session event logs.
- JSON-RPC 2.0 gateway
- The openclaw-gateway crate: an axum HTTP and WebSocket server exposing methods like session.create, session.message, session.history, session.end, agent.list, agent.status, tools.list, and tools.execute, with per-client rate limiting, auth, and CORS.
- Sandbox
- The isolation layer for tool execution. openclaw-rs picks a backend per OS — bubblewrap on Linux, sandbox-exec on macOS, Job Objects on Windows — selected by a SandboxConfig level of None, Relaxed, or Strict.
- Provider
- A client implementing the Provider trait for an LLM vendor. openclaw-providers ships Anthropic and OpenAI clients with SSE streaming, function calling, and custom base-URL support. Google Gemini and Ollama are planned.
- Channel
- A messaging integration implementing the Channel, ChannelInbound, and ChannelOutbound traits, with allowlist-based access control and rule-based routing. The Telegram adapter ships today; Discord, Slack, Signal, Matrix, and WhatsApp are on the roadmap.
- TypeScript plugin bridge
- The mechanism in openclaw-plugins that runs existing TypeScript OpenClaw plugins unchanged, communicating over nng IPC and dispatching the same eight lifecycle hooks.
- nng
- An embedded message-passing transport (nanomsg-next-generation). openclaw-rs uses nng as the IPC channel between the Rust core and TypeScript plugin subprocesses.
- napi-rs
- A framework for building Node.js native add-ons in Rust. openclaw-node uses napi-rs to expose the Rust providers, credential store, event store, validation, config, and tool registry to Node.js, with pre-built binaries for Linux, macOS, and Windows.
- AES-256-GCM credential store
- openclaw-rs's encrypted secret storage: AES-256-GCM with Argon2id key derivation, 0600 file permissions, and automatic redaction in logs, so an ApiKey prints [REDACTED].
- Lifecycle hook
- One of eight extension points a plugin can implement: BeforeMessage, AfterMessage, BeforeToolCall, AfterToolCall, SessionStart, SessionEnd, AgentResponse, and Error.
- Single static binary
- openclaw-rs compiles to one executable containing the gateway, runtime, sandbox, embedded dashboard, and CLI — no Node runtime and no node_modules to ship, targeting under 15 MB.