zeroclaw

zeroclaw-labsApache-2.0活跃维护 有专家点评

用 Rust 写的轻量级自主 AI 个人助理基础设施,跨操作系统和平台部署,组件可自由替换。

Fast, small, and fully autonomous AI personal assistant infrastructure, any OS, any platform — deploy anywhere, swap anything 🦀

v0.8.7发布于 2026-10-27 22:50 UTC33,314star +116 / 7 天5,004fork同步于 2026-11-10 23:23 UTC

专家点评

上手难度:进阶更新于 2026-11-11

单二进制 Rust 智能体运行时,把模型、消息渠道和硬件外设都收进一台自己的机器

适用场景

  • 常驻个人助理:跑在树莓派或旧笔记本上,从 Telegram/Discord/邮件收消息、调工具、回消息,数据不出本机;换成云端 agent 平台就得把密钥和对话历史交出去
  • 多模型容灾:配置里挂 Anthropic/OpenAI/Ollama 的回退链,主 provider 限流或挂掉时自动降级;自己写这层路由要维护各家 SDK 的差异
  • 边缘设备接外设:需要让 agent 直接读写 GPIO/I2C/SPI 控制传感器或继电器时,这是少数把硬件抽象做进运行时的选项,纯 Python agent 框架得自己搭桥
  • 需要审批闸门的自动化:默认 supervised 级别,中风险操作要人批、高风险直接拦,适合让 agent 碰 shell 或文件系统但不想完全放手的场景

踩坑

  • 从 OpenClaw 迁过来的会撞上功能缺口:issue 里挂着一条 38 反应的功能对齐清单,把迁移阻塞项逐条列了出来,说明两边能力还没拉平,迁移前得先对着清单核一遍自己依赖的功能
  • 手写 config.toml 容易卡在 schema 上:必须带 schema_version = 4 且 provider/agent/risk profile 几段齐全,缺段不会给你友好提示;用 quickstart 生成再改比从零手写省事
  • 项目治理和代码质量在 issue 区被公开质疑过(有直接点名 code quality 和社区协作态度的帖子,评论数不少),选它做长期基础设施前建议自己翻一遍 issue 区的讨论再判断,我没读过正文,只能告诉你这类话题热度不低

同类对比

如果只是要单机跑 agent 且不需要多渠道和硬件外设,OpenClaw 是它明确对标的迁移来源,功能更全;如果核心诉求是接 GPIO/嵌入式外设,也可以看更底层的嵌入式框架自己拼,代价是渠道和审批层要自己写

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh
"${CARGO_HOME:-$HOME/.cargo}/bin/zeroclaw" quickstart
硬件要求按 README 说明

README 未说明显存或 GPU 要求;支持 Linux、macOS、Windows、FreeBSD、NixOS 和 Docker,硬件外设支持树莓派、STM32、Arduino、ESP32。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

单二进制 Rust 智能体运行时,把 LLM、多渠道和工具都跑在你自己的机器上

用 Rust 写的轻量级自主 AI 个人助理基础设施,跨操作系统和平台部署,组件可自由替换。

核心能力

  • 单个 Rust 二进制,配置后即可运行,数据与密钥留在本地
  • 接入 Anthropic、OpenAI、Ollama 等约 20 家模型提供商,支持回退链
  • 通过 Discord、Telegram、Matrix、邮件、Webhook 等 30+ 渠道接收消息
  • 默认 supervised 自主级别,中风险操作需审批,高风险操作被拦截
  • 支持树莓派、STM32、Arduino、ESP32 的 GPIO/I2C/SPI/USB 外设

容易踩的坑

配置文件位于 ~/.zeroclaw/config.toml,手写时需带 schema_version = 4 且至少包含 provider、agent、risk profile 四类段;使用 OpenAI Codex 订阅认证时走 auth profile 而非 provider 上的 api_key;构建或同步文档需额外初始化 docs/book/po 子模块,Rust 构建本身不需要。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.8.7
  1. v0.8.7最新正式版2026-10-27 · 2026-10-27 22:50 UTC

    ZeroClaw v0.8.7

    ZeroClaw v0.8.7 is a security and maintenance follow-up to v0.8.6 spanning 81 commits from 19 contributors. It moves to patched Wasmtime, Rustls certificate verification, tokio and ctutils releases for advisories that affect v0.8.6, rebuilds the container images with CA bundles that no longer trust the distrusted emSign chains, and fixes five of v0.8.6's plugin known issues and narrows two more, as well as the daemon's refusal of a group-writable data directory. Precompiled plugin components must be rebuilt for Wasmtime 48.0.7; read Breaking Changes and Known issues before upgrading.

    In brief

    Security fixes: Wasmtime 48.0.7 and patched TLS verification. Rebuild precompiled plugins.

    Plus five plugin known-issue fixes, Telegram rate-limit handling, ZeroCode cost warnings, and chat that reconnects after a reload.

    Highlights

    • Wasmtime and TLS security advisories are fixed.

      • The plugin host moves to Wasmtime 48.0.7, with the matching Pulley 48.0.7 and Cranelift 0.135.7 (RUSTSEC-2026-0375 to RUSTSEC-2026-0379).
      • TLS certificate verification uses rustls-webpki 0.103.16, webpki-roots 1.0.10 and webpki-root-certs 1.0.10. Affected versions could accept certificate paths through distrusted emSign intermediates whose private keys are known (RUSTSEC-2026-0381, RUSTSEC-2026-0382, RUSTSEC-2026-0383).
      • The optional MQTT channel moves from rumqttc 0.25 to rumqttc-v4-next 0.34, a maintained MQTT 3.1.1 client on the same patched verifier. That removes the last copy of the legacy rustls-webpki 0.102.8 and the four audit exceptions it needed.
      • Precompiled .cwasm plugin components built for an earlier Wasmtime must be rebuilt for 48.0.7.

      (#11924, closes #11923; includes the original Wasmtime commit from #11906)

      • ctutils moves to 0.4.5 for RUSTSEC-2026-0385 (non-constant-time mask generation and u128 comparisons), a fix from @mov-xound-glitch (#11998), and tokio to 1.53.3 for RUSTSEC-2026-0386 (AsyncFd::new and related constructors violate I/O safety) (#12010, closes #12009).
      • Container images are rebuilt from refreshed base images and patched CA packages. Their CA bundles, which native tools such as curl, git and OpenSSL-linked programs read, no longer trust the distrusted emSign chains (#11925, closes #11932).
    • Five of v0.8.6's plugin known issues are fixed, and two more are narrowed.

      • A plugin connection no longer stalls when the first resolved address never answers, typically an IPv6 route that drops packets. The host tries the next address after 250 ms, alternating address families, as browsers do (#11814).
      • Tool packages that connect over WebSocket or raw sockets get their declared egress seeded at install, and plugin list reports what their row is missing, as it already did for HTTP tools (#11808).
      • zeroclaw config set takes a non-secret plugin setting, such as Discord's guild_ids, as given on the command line. Only settings the package marks secret use the masked prompt (#11812).
      • plugin remove removes a loaded plugin from the directory it was loaded from, instead of deleting <plugins_dir>/<name> (#11809).
      • Peripheral, skill-defined and MCP capability tool names are reserved before plugin tools register, so a plugin tool can no longer take their calls (#11851).
      • Narrowed: new package lock and lease files are created owner-only on Unix (#11807), and plugin info and plugin list --verify report a tool whose retained configuration the runtime refuses as not loading (#11811). Known issues says what remains.
    • The daemon starts on a group-writable data directory again. Under umask 0002, v0.8.6 created ~/.zeroclaw/data group-writable and then refused it. v0.8.7 accepts the data directory as it is, as v0.8.5 did, and keeps its config lifecycle lock in an owner-only data/.lifecycle directory instead. Read the Breaking Changes before upgradin

  2. v0.8.62026-10-18 · 2026-10-18 06:15 UTC
    查看更新说明

    ZeroClaw v0.8.6

    ZeroClaw v0.8.6 is a plugin, identity, and runtime-ownership release spanning 573 commits from 74 contributors. The seven 64-bit CLI release archives now carry the WebAssembly plugin host, and the plugin registry offers channel and tool packages built for this release. It also adds authenticated principals with OIDC across RPC and the gateway, moves live configuration, events, and agent lifecycle under the daemon, and adds an opt-in minimal built-in tool set while full stays the default. Several security tightenings change defaults; review Breaking Changes before upgrading gateway pairing integrations, remote ZeroCode connections, browser automation, private-network downloads, or plugins built against an earlier WIT, and read Known issues before relying on a plugin channel.

    In brief

    Plugins now run in the release CLI: install Discord, Telegram, Matrix and ten more by name.

    Plus groundwork for OIDC sign-in, multi-session ZeroCode, daemon-owned live config, and new providers and web search.

    Highlights

    • Plugins work from a stock CLI download: install a channel or tool plugin by name, with no Rust toolchain. The seven 64-bit CLI archives for Linux, macOS and Windows carry the WebAssembly plugin host, and each one is smoke-tested with a real plugin before publication. The registry offers 13 packages built for this release: the Discord, Matrix, Telegram, Bluesky, Gitea, Mattermost, Mochat, Notion, Reddit, X (Twitter), WeChat and WeCom channels, and the redact-text tool. Discord passed an end-to-end acceptance run from release-candidate CLI archives on Linux, Windows and macOS. Installs grant egress up front, check that the plugin loads, bind channel instances, and recover after an interruption; updates are verified and staged (#11347, #10999, #11262, #11261, #11236, #11309, #11302, #11098, #10746).
    • Tool selection: Full stays the default; minimal is an opt-in [tools] setting. Set optional = [] for minimal: eleven built-ins in Chat and eight in Code/ACP, or name extras to add to it. Setup and config generation write optional = ["*"], and configs without [tools] or optional load full. Existing explicit selections are preserved. Prerequisites, permissions, approvals and Code/ACP memory exclusions still apply.
    • Authenticated principals reach every entry point: RPC, sessions, tools, and memory resolve to canonical principals. oidc.<alias> verifies tokens with device, client-credentials, and browser enrollment; pairing codes are stronger by default, and reading or minting them needs an owner-only admin token (#11082, #10248, #10259, #10263, #10265, #10255, #10307, #11177).
    • The daemon owns live state: atomic live config revisions, one event firehose, and coordinated agent lifecycle. Configuration publishes atomic revisions with batch writes and reports whether each running target applied a change; the observer event firehose and a bounded, replayable subscription hub live in the daemon; and agent lifecycle, background delegates, and cost ceilings are coordinated in one place (#10911, #10823, #11466, #11131, #11167, #10621, #11292, #10804).
    • Chat surfaces and providers expand: multi-session ZeroCode, new channel delivery modes, two providers, three web search backends. ZeroCode gains multi-session panes, a combined Sessions/Queue/Plan dock, and standard composer editing; Telegram, Matrix, WhatsApp Web, Mattermost, Slack, and QQ gain new delivery modes; Crusoe and Hailo-Ollama become providers; and Serply, AnySearch, and Keenable join web search (#9739, #10879, #11175, #8561, #10489, #10984, #10358, #10622, #10799, #9338, #9109, #10402, #10356, #10679).

    What's New

    Plugins

    • Ship the WASM plugin host with Cranelift in the seven 64-bit CLI release archives for Linux, macOS and Windows, gate publication on a per-archive plugin smoke test, and raise the release binary size cap f
  3. v0.8.52026-09-05 · 2026-09-05 07:31 UTC
    查看更新说明

    ZeroClaw v0.8.5

    ZeroClaw v0.8.5 is a security, connectivity, and operator-experience release spanning 454 commits from 73 contributors. It introduces ZeroRelay and ZeroRouter, expands live chat and provider capabilities, hardens plugin, sandbox, webhook, credential, and file boundaries, and makes cross-platform builds and coordinated crate publication more reproducible. This release also removes or narrows several deprecated surfaces; review Breaking Changes before upgrading plugins, skills, legacy node integrations, WATI deployments, TodoWrite configuration, or contributor tooling.

    Highlights

    • ZeroRelay and ZeroRouter arrive together: ZeroRelay provides blind forwarding with native mTLS enrollment, while ZeroRouter adds a first-class hosted routing preset and public model catalog (#10142, #9645, #10453).
    • Chat becomes more capable: the dashboard can keep several conversations open per agent, open the same agent in multiple tabs, and attach or drop images through the new upload path (#9353, #9355, #10544).
    • Provider support expands: Anthropic gains opt-in live thinking display, Grok Build ACP and Atlas Cloud become first-class providers, and compatible providers gain stronger response, attribution, image, proxy, and retry handling (#10542, #9104, #9200, #9404, #9974, #10448).
    • Plugin and skill boundaries get substantially tighter: typed instance configuration, scoped secrets, host-owned egress, bounded exports, path-traversal protection, and fail-closed skill HTTP execution now cover the main package and network trust boundaries (#9126, #9128, #9137, #9403, #9582, #10369, GHSA-93f6-34w8-5g98).
    • Operator feedback improves across surfaces: Matrix, Telegram, Slack, WhatsApp Web, SOP, MCP, logs, queued messages, and clipboard flows expose clearer progress and recovery behavior (#8443, #9822, #8985, #9385, #9476, #9196, #10057, #10096).
    • Release portability improves: routine builders move to Rust 1.98 while source compatibility remains at Rust 1.96, release tools use pinned binaries, MUSL and Alpine coverage expands, and the coordinated 23-crate workspace gains protected crates.io publication (#9527, #10122, #10174, #9286, #9514, #10158).

    What's New

    ZeroRelay, Routing, and Providers

    • Add ZeroRelay secure transport with blind forwarding, native mTLS enrollment, bounded admission, and per-node routing (#10142).
    • Add the ZeroRouter provider preset and public catalog, then point new defaults at the hosted beta deployment (#9645, #10453).
    • Add Anthropic thinking.display support so eligible models can stream readable thinking updates while retaining signed reasoning only for replay (#10542).
    • Add Grok Build ACP and Atlas Cloud providers, accept data-wrapped compatible responses, and centralize provider endpoint metadata (#9104, #9200, #9404, #9747).
    • Preserve OpenRouter attribution and streaming metadata, model context during Gemini requests, compatible tool-result image policy, and accurate served-model and lifecycle accounting (#9974, #9782, #10435, #10448, #10027, #10144).
    • Improve terminal provider errors, model-list bounds, OAuth refresh behavior, proxy handling, and reasoning-tool fallback classification; retry replay-safe empty streams once and evict compatible-provider images individually (#10234, #10314, #10012, #9606, #9400, #10211, #10602, #10564).

    Dashboard, ZeroCode, and RPC

    • Hold several independent conversations per agent, allow the same agent to remain open in multiple chat tabs, and add session-local Todo close control (#9353, #9355, #10584).
    • Add image upload plus dashboard attach/drop UI through a bounded gateway endpoint (#10544).
    • Add queued-message recovery, transcript copy actions, selectable log text, text-editor cursor navigation, and Option-Backspace word deletion (#10057, #9994, #10096, #9287, #10078).
    • Add read-only SOP status and run views with live icons, authenticated cancellation, and responsive background refres
  4. v0.8.42026-08-02 · 2026-08-02 21:00 UTC
    查看更新说明

    ZeroClaw v0.8.4

    ZeroClaw v0.8.4 is a maintenance and hardening release spanning 262 commits from 49 contributors. It expands the memory and SOP control planes, improves provider and channel reliability, strengthens sandbox and credential boundaries, and makes the desktop and release pipeline more dependable. This release also includes upgrade-sensitive changes for skill sources, Nextcloud Talk, and generic webhook authentication; review Breaking Changes before upgrading those integrations.

    Highlights

    • Memory controls add opt-in retrieval caching, reranking, typed-fact extraction, migration-aware configuration checks, content scanning, and auditable recall paths.
    • SOP execution gains per-SOP admission policies, quorum-based approval brokering, checkpoint editing, centralized fan-in adapters, and stronger deterministic gate handling.
    • Operator surfaces add dashboard-driven upgrades, channel relinking, agent renaming, runtime-context display, searchable keybinding help, and a more reliable terminal experience.
    • Channels and ACP gain Mattermost WebSocket listening, Telegram debounce, interactive reply events, signed Nextcloud Talk replies, agent-selectable ACP sessions, and cited blob delivery.
    • Provider and runtime reliability improves OpenAI Responses setup, model context-window metadata, fallback visibility, streamed retries, multimodal fallback, lifecycle preservation, and whole-turn history trimming.
    • Release integrity adds a self-contained notarized macOS desktop path, repaired Scoop and AUR publication workflows, consolidated attestations, required SBOMs, checksums, and an offline verification archive.

    What's New

    Memory and Retrieval

    • Add opt-in retrieval caching, a gated rerank stage, typed memory classification and fact extraction, configuration validation, migration reindex hooks, and content scanning at write and recall boundaries (#8897, #8895, #8900, #8899, #8984).
    • Add gated memory audit trails and restore semantic recall of durable global memories across sessions (#8893, #8898).
    • Improve Lucid process control with configurable timeouts and more reliable ARM startup handling (#9105).

    SOP and Automation

    • Add per-SOP admission policy, release execution slots while awaiting human approval, and broker approvals through group membership and quorum (#8848, #8880).
    • Add checkpoint editing and revision for deterministic gate prompts, then centralize fan-in ingress adapters (#8979, #9205).
    • Improve conditional steps, AMQP ingress, nested policy handling, structured output, and deterministic approval routing (#8771, #9183, #9027, #9030, #9375, #8903).
    • Add raw stdout delivery for cron shell jobs through shell_output_format (#8438).

    Dashboard, Desktop, and CLI

    • Add in-app upgrades with automatic restart, channel-owned relinking, agent renaming, active runtime context, skill-to-editor navigation, searchable keybinding help, and a unified risk-profile permission grid (#8173, #8734, #7954, #9011, #8558, #9356, #8879).
    • Improve terminal chat, code-block copy, picker and overlay sizing, help behavior, and reasoning-only turns (#8920, #8767, #9173, #9008, #9169, #9279, #9292, #9234).
    • Embed the dashboard in the universal macOS desktop sidecar and prepare the final DMG for notarization, stapling, and offline validation when Apple credentials are configured (#9032, #9014).
    • Reduce the desktop webview's IPC authority by removing shell and store plugin permissions from gateway-served content (#9033).

    Channels, Gateway, and ACP

    • Add Telegram inbound debounce, poll and interactive-reply events, structured QR-login lifecycle events, and channel-owned readiness probes (#8440, #6297, #8622, #8732).
    • Add Mattermost WebSocket listener mode and LAN peer-discovery hints (#9141, #8325).
    • Improve QQ and Matrix behavior, restore single-provider voice transcription, persist WhatsApp Web linked identities, and strengthen channel media and ali
  5. v0.8.32026-07-16 · 2026-07-16 01:47 UTC
    查看更新说明

    ZeroClaw v0.8.3

    This release is a large consolidation cycle spanning 379 commits from 56 contributors, focused on the new Standard Operating Procedure (SOP) engine, a WebAssembly plugin host, a Git forge channel, and a broad round of runtime, provider, and security hardening. If you run ZeroClaw agents in production, the headline changes are the procedural-memory/SOP substrate, tighter context-budget accounting, and a wave of SSRF and secret-leak fixes. Desktop and quickstart flows also get meaningful polish.

    Highlights

    • SOP (Standard Operating Procedure) engine lands end to end — a daemon maintenance tick, typed step contracts, live step execution, cron/filesystem/calendar triggers, and an out-of-band approval plane.
    • WebAssembly plugin host (wasmtime component model) for tools, channels, and memory, with per-call execution limits, signature-policy enforcement, and registry search/install by name.
    • Git forge channel with GitHub and Gitea/Forgejo providers, plus a unified git_forge tool and SOP ingress.
    • Self-contained desktop app returns — the kernel now ships as a Tauri sidecar for a Quickstart-first companion experience.
    • Cost & usage accounting gains a task-attributed usage ledger, offline pricing catalog, and by-period / org-billed views in ZeroCode.
    • Security hardening across the board: multiple SSRF gaps closed, constant-time token comparison, signing-key leak prevention, path-traversal fixes, and dependency bumps clearing several RUSTSEC advisories.

    What's New

    SOP & Procedural Memory

    • A daemon SOP maintenance tick now drives live procedures, executing real steps, enforcing step scope/mode/routing/schemas at the engine boundary, and consuming CAS run claims (#8391, #8399, #8416, #8420, #8430, #8493, #8502, #8506).
    • Cron, filesystem, and calendar no-show triggers wire into the maintenance tick (#8400, #8461, #8419).
    • An out-of-band approval plane fails closed on timeout, with a priority-based gate fix, and deterministic capability steps now run through a registry that fails closed on driverless steps (#8304, #8724).
    • A procedural memory workshop and web visual authoring (experimental) with channel fan-in and a selectable agent were added (#8509, #8590).

    Plugins

    • A wasmtime component-model host now backs tool, channel, and memory plugins, with channel host bindings (wasi:http, inbound queue, config jail) and a registration API (#8368, #8551).
    • Plugins gain per-call execution limits and an FND-001 backend taxonomy, honor the configured signature policy when loading tools, and support registry search plus install-by-name (#8491, #8172, #8264).

    Channels & Git Forge

    • New Git forge channel with a GitHub provider and SOP ingress, plus a Gitea/Forgejo provider (#8609, #8611).
    • Operators can now bind identities without the /bind code round-trip (#8707).
    • WhatsApp gains native location-pin support on both backends and passive group context; LINE gets a loading indicator, icon/nickname switching, and bind reply feedback (#8427, #8389, #7768).
    • Tool approvals can be routed to a distinct approver channel (#8231).

    Runtime & Memory

    • Unified memory-context injection is now keyed on TurnOrigin ingress provenance, and a durable memory store seam adds supersede/dedup/budget/policy-gate handling with embedding-identity persistence and automatic vector migration on change (#8619, #8570, #8623).
    • Metered provider seams (ResolvedModelAccess::run_model_query) now cover the model-query path and the max-iteration graceful summary (#8806, #8821).
    • Process RAM/CPU sampling landed on macOS, Windows, and FreeBSD via sysinfo, and a model-context-window bar was added to the ZeroCode TUI, gateway agent chat, and interactive CLI (#8802, #7946).
    • Goal task storage foundation and a configurable native runtime shell were added (#8685, #8311).

    ZeroCode (Desktop / TUI)

    • A TodoWrite tracker (RPC + ACP + durable persistence) and cron run history/trigger were ad

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ZeroClaw is an agent runtime — a single Rust binary you configure and run. It talks to LLM providers (Anthropic, OpenAI, Ollama, and ~20 others), reaches the world through 30+ channels (Discord, Telegram, Matrix, email, voice, webhooks, your own CLI), and acts through tools (shell, browser, HTTP, hardware, custom MCP servers). Everything runs on your machine, with your keys, in your workspace.

    Read the Philosophy for the four opinions that shape it.

    Install

    Unix (recommended)

    curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh
    "${CARGO_HOME:-$HOME/.cargo}/bin/zeroclaw" quickstart
    

    Windows (recommended)

    Use the Rust-free prebuilt PowerShell path in the Windows setup guide. It installs the current release, updates PATH, and runs Quickstart.

    For the guided Unix installer, source builds, app and feature selection, and PATH behavior, compare the installation paths.

    Run ./install.sh --help for the complete Unix installer flag reference.

    Working on the docs? The translated documentation catalogues live in a git submodule (docs/book/po). The Rust build does not need it, but building or syncing the docs does. Clone with it, or add it to an existing clone:

    git clone --recurse-submodules https://github.com/zeroclaw-labs/zeroclaw.git
    git submodule update --init docs/book/po   # existing clone
    

    Platform-specific notes: Linux · macOS · Windows · FreeBSD · NixOS · Docker

    Quick start

    zeroclaw quickstart               # one-shot setup: pick a provider, write a working config
    zeroclaw agent -a <alias>         # interactive chat using the [agents.<alias>] entry
    zeroclaw service install          # register as systemd/launchctl/Windows Service
    zeroclaw service start            # run it always-on in the background
    

    Full walkthrough: Quick start — or skip the safety gates with YOLO mode for dev boxes.

    What ZeroClaw does

    • Multi-channel — one agent answering you across every channel you configure. Inbound messages from Discord, Telegram, Matrix, email, webhooks, CLI — all delivered to the same agent loop.
    • Provider-agnostic — model providers are pluggable. Configure Anthropic, OpenAI, local Ollama, or any OpenAI-compatible endpoint. Fallback chains and routing keep the agent running when a provider flakes.
    • Security-first, with escape hatches — default autonomy is supervised: medium-risk ops require approval, high-risk blocked. Workspace boundaries, command policy, OS-level sandboxes (Landlock / Bubblewrap / Seatbelt / Docker), and cryptographic tool receipts on every action. YOLO mode exists for trusted dev environments.
    • Hardware-capable — GPIO / I2C / SPI / USB on Raspberry Pi, STM32, Arduino, and ESP32 via the Peripheral trait. See Hardware.
    • Gateway + dashboard — HTTP / WebSocket gateway for clients, with a web dashboard for chat, memory browsing, config editing, cron management, and tool inspection.
    • SOP engine — event-triggered Standard Operating Procedures (MQTT / webhook / cron / peripheral) with approval gates and resumable runs.
    • ACP — IDE / editor integration via Agent Client Protocol (JSON-RPC 2.0 over stdio).

    Configuration

    One TOML file at ~/.zeroclaw/config.toml. Pointers:

    A V3 config has at minimum four section headers (<type>.<alias> shaped) — a provider entry, an agent that references it, and a risk profile the agent gates against. A hand-written file should also start with schema_version = 4, the current schema version. See Provider Configuration → Minimal working example for the canonical four-section form with inline type/alias commentary.

    For standard OpenAI Codex subscription auth, Quickstart can write the provider entry for you:

    zeroclaw auth login --model-provider openai-codex --import ~/.codex/auth.json  # if already signed in with Codex CLI
    zeroclaw quickstart --model-provider openai-codex --model gpt-5.4
    

    The provider entry uses the canonical OpenAI shape; the alias below is an example:

    [providers.models.openai.coding]   # type = openai; alias = coding (you choose)
    model = "gpt-5.4"
    wire_api = "responses"
    requires_openai_auth = true
    

    …and point your agent at it with model_provider = "openai.<alias>".

    Notes:

    • Normal OpenAI Codex subscription auth uses stored auth profiles, not an api_key on the provider entry.
    • Claude Max setup-token auth stays on the canonical Anthropic slot: run claude setup-token, choose setup_token in Quickstart, and paste the generated token into the API key/token prompt.
    • Only set api_key / uri on [providers.models.openai.<alias>] when intentionally targeting a custom OpenAI-compatible gateway or endpoint.
    • If you see provider streaming failed, falling back to non-streaming chat, ZeroClaw retries the same request in non-streaming mode. Check zeroclaw auth status before changing provider config.

    Architecture

    ┌──────────────────────────────────────────────────────────────┐
    │            channels       gateway        ACP                 │
    │          (30+ adapters)   (REST/WS)    (JSON-RPC)            │
    │                        ↓                                     │
    │                   ZeroClaw runtime                           │
    │         ┌──────────┬──────────┬──────────┐                   │
    │         │  agent   │ security │   SOP    │                   │
    │         │   loop   │  policy  │  engine  │                   │
    │         └──────────┴──────────┴──────────┘                   │
    │              ↓          ↓           ↓                        │
    │          providers    tools      memory                      │
    │         (Anthropic,  (shell,    (SQLite,                     │
    │          OpenAI,     browser,    embeddings)                 │
    │          Ollama,     HTTP,                                   │
    │          ~20 more)   hardware)                               │
    └──────────────────────────────────────────────────────────────┘
    

    Full detail with Mermaid diagrams: Architecture overview · Request lifecycle · Crates.

    Contributing

    Start with how to contribute. Larger changes go through the RFC process. Real-time chat lives on Discord (the best way to reach the team); durable work tracking is on GitHub issues.

    Good places to start:

    • New channel → crates/zeroclaw-channels/
    • New provider → crates/zeroclaw-providers/
    • New tool → crates/zeroclaw-tools/
    • Hardware support → crates/zeroclaw-hardware/
    • Docs → docs/book/src/

    AI-assisted PRs are welcome; see Contribution culture (RFC #5615) for the co-authorship norms.

    Security

    Do not file public issues for security vulnerabilities. Email [email protected]. See SECURITY.md for the full policy.

    Official repository & impersonation notice

    This is the only official ZeroClaw repository:

    https://github.com/zeroclaw-labs/zeroclaw

    Any other repository, organization, domain, or package claiming to be "ZeroClaw" or implying affiliation with ZeroClaw Labs is unauthorized and not affiliated with this project.

    License

    Dual-licensed: MIT OR Apache 2.0. You may choose either. Contributors automatically grant rights under both — see CLA. The ZeroClaw name and logo are trademarks of ZeroClaw Labs.

    Sponsors

    Thanks to Blacksmith for sponsoring the CI infrastructure that builds and tests ZeroClaw.

    Credits

    Built and maintained by the community — original creator @theonlyhennygod; project lead @JordanTheJet. Full maintainer list in Communication.

    Thanks to the communities that incubated early work: Harvard University, MIT, Sundai Club, and every contributor pushing it forward.