How hcy2315/zeroclaw works
ZeroClaw is a self-hosted personal AI assistant runtime, exposed through messaging channels, a gateway, ACP, and a terminal UI. The principal workflow is an inbound request reaching the agent loop, which consults a model provider and may invoke tools before returning a response through the initiating interface. The graph also preserves documented capabilities such as memory, hardware, scheduled automation, and SOPs. Source excerpts are partial, so some documented subsystem links use the README as evidence; unsampled implementation details are not asserted.
Main entry points: loop_.rs Agent loop · client.rs RPC client · app.rs Terminal UI · chat.rs Chat pane
Components 25
User interfaces
- Terminal UI
apps/zerocode/src/app.rs - Chat pane
apps/zerocode/src/chat.rs - Dashboard pane
apps/zerocode/src/dashboard.rs - Config pane
apps/zerocode/src/config_manager.rs - Quickstart pane
apps/zerocode/src/quickstart_pane.rs - SOP pane
apps/zerocode/src/sop_pane.rs - Logs pane
apps/zerocode/src/logs.rs - RPC client
apps/zerocode/src/client.rs - RPC wire types
apps/zerocode/src/wire.rs - Channel adapters
crates/zeroclaw-channels/src/lib.rs - HTTP/WS gateway
crates/zeroclaw-gateway/src/api.rs - ACP integration
crates/zeroclaw-channels/src/orchestrator/acp_server.rs
Agent runtime
- Agent loop
crates/zeroclaw-runtime/src/agent/loop_.rs - Model providers
crates/zeroclaw-providers/src/router.rs - Tool execution
crates/zeroclaw-tools/src/pipeline.rs - Approval gates
src/approval/mod.rs
Agent capabilities
- Memory and retrieval
crates/zeroclaw-memory/src/retrieval.rs - Hardware peripherals
crates/zeroclaw-hardware/src/registry.rs - SOP engine
src/sop/mod.rs - Event routines
crates/zeroclaw-runtime/src/routines/engine.rs - Scheduled tasks
src/cron/mod.rs
Runtime platform
- Configuration
crates/zeroclaw-config/src/lib.rs - Session storage
crates/zeroclaw-infra/src/session_store.rs - Plugin runtime
crates/zeroclaw-plugins/src/runtime.rs
Other components
- User
Connections 28
- User → Channel adapters: sends message
README.md - Channel adapters → Agent loop: delivers inbound
README.md - User → HTTP/WS gateway: uses gateway
README.md - HTTP/WS gateway → Agent loop: routes requests
README.md - User → ACP integration: uses editor
README.md - ACP integration → Agent loop: integrates with
README.md - User → Terminal UI: interacts
README.md - Terminal UI → Chat pane: dispatches to
apps/zerocode/src/app.rs - Terminal UI → Dashboard pane: dispatches to
apps/zerocode/src/app.rs - Terminal UI → Config pane: dispatches to
apps/zerocode/src/app.rs - Terminal UI → RPC client: uses RPC
apps/zerocode/src/app.rs - RPC client → RPC wire types: encodes messages
apps/zerocode/src/client.rs - Chat pane → RPC client: sends requests
- Dashboard pane → RPC client: sends requests
apps/zerocode/src/dashboard.rs - Quickstart pane → RPC client: configures runtime
- SOP pane → RPC client: manages runs
- Logs pane → RPC client: reads logs
- Agent loop → Model providers: requests completions
README.md - Agent loop → Tool execution: invokes tools
README.md - Agent loop → Approval gates: checks risky actions
README.md - Agent loop → Memory and retrieval: uses memory
- Agent loop → Hardware peripherals: uses peripherals
README.md - Agent loop → SOP engine: runs procedures
README.md - Agent loop → Event routines: triggers automation
- Agent loop → Scheduled tasks: schedules tasks
README.md - Agent loop → Session storage: persists sessions
- Agent loop → Plugin runtime: loads extensions
- Configuration → Agent loop: configures runtime