mcpField
Z
zeroclaw

zeroclaw

github.com/adisinghstudentAgent 工作流037 次安装36 周前更新
代码仓库

关于 zeroclaw

zeroclaw 是用 Rust 构建的自主 AI 助手基础设施,面向需要配置 Agent、渠道和运行时的用户。它提供 CLI,可切换模型提供方、记忆后端、工具与安全设置。

主要功能

  1. 01交互式聊天与自主运行时
  2. 02支持多种模型提供方
  3. 03连接多种消息渠道
  4. 04任务定时与调度
  5. 05可配置记忆和安全策略
  6. 06管理技能与硬件外设

适用场景

  1. 01通过消息渠道运行 AI Agent
  2. 02为 Agent 配置模型提供方
  3. 03安排定时或一次性任务
  4. 04检查系统状态并诊断问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/adisinghstudent/zeroclaw --skill zeroclaw

安装后在 Claude Code 中输入/zeroclaw确认已加载。

详细介绍

ZeroClaw — 完整参考技能

ZeroClaw 的全面操作知识:这套基于 Rust 构建的 AI 助手基础设施,快速、小巧且完全自主。 来源:https://github.com/zeroclaw-labs/zeroclaw | 版本:0.1.1 | 最后更新:2026-02-21


什么是 ZeroClaw

  • **语言:**100% Rust,单个二进制文件(release 版本约 3.4-8.8MB)
  • **内存:**运行时 RAM 占用 <5MB
  • **启动:**冷启动 <10ms
  • **平台:**ARM、x86、RISC-V — 可在 $10 的硬件上运行
  • **架构:**由 Trait 驱动,所有组件均可替换(提供商、频道、工具、内存、隧道、安全)
  • 配置:~/.zeroclaw/config.toml(TOML 格式)
  • 工作区:~/.zeroclaw/workspace/(SOUL.md、AGENTS.md、IDENTITY.md、USER.md、MEMORY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md)
  • **身份:**ZeroClaw 会自我介绍为 ZeroClaw,绝不会称自己为 ChatGPT/Claude 等。

安装

# Option A: Clone + build
git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw && ./bootstrap.sh

# Option B: Remote one-liner
curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/main/scripts/bootstrap.sh | bash

# Fresh machine (install Rust + system deps)
./bootstrap.sh --install-system-deps --install-rust

# Quick onboard after install
zeroclaw onboard --api-key "your-api-key" --provider openrouter
更新 ZeroClaw
# Fastest: prebuilt binary (no compile)
git clone https://github.com/zeroclaw-labs/zeroclaw.git /tmp/zeroclaw-update
cd /tmp/zeroclaw-update && bash scripts/bootstrap.sh --prefer-prebuilt
rm -rf /tmp/zeroclaw-update

# With browser-native feature (requires compile)
git clone https://github.com/zeroclaw-labs/zeroclaw.git /tmp/zeroclaw-update
cd /tmp/zeroclaw-update && cargo install --path . --force --locked --features browser-native
rm -rf /tmp/zeroclaw-update

# Verify
zeroclaw --version

注意:没有内置的 zeroclaw update 命令。从全新克隆的仓库重新运行 bootstrap.sh --prefer-prebuilt 是最快的方式。预编译二进制文件不包含 browser-native — 如果需要 rust_native 浏览器后端,必须使用 --features browser-native 从源代码构建。


CLI 参考(所有命令)

顶层命令
命令用途
zeroclaw onboard初始化工作区/配置(快速设置)
zeroclaw onboard --interactive完整的交互式向导
zeroclaw onboard --channels-only仅重新配置频道
zeroclaw agent交互式 AI 聊天
zeroclaw agent -m "Hello"单条消息模式
zeroclaw agent --provider <ID> --model <MODEL>覆盖提供商/模型
zeroclaw agent --peripheral <board:path>连接硬件外围设备
zeroclaw gateway [--host H] [--port P]启动 webhook/websocket 网关
zeroclaw daemon [--host H] [--port P]完整的自主运行时(网关 + 频道 + 心跳 + 调度器)
zeroclaw status显示完整系统状态
zeroclaw doctor运行诊断
zeroclaw providers列出支持的 30 个 AI 提供商
服务管理(launchd/systemd)
zeroclaw service install      # Install for auto-start
zeroclaw service start        # Start service
zeroclaw service stop         # Stop service
zeroclaw service status       # Check status
zeroclaw service uninstall    # Remove service
频道管理
zeroclaw channel list                      # List all channels + status
zeroclaw channel start                     # Start all configured channels
zeroclaw channel doctor                    # Health check channels
zeroclaw channel add <type> <json>         # Add channel (type + JSON config)
zeroclaw channel remove <name>             # Remove channel
zeroclaw channel bind-telegram <IDENTITY>  # Add Telegram user to allowlist

注意:channel add/remove 目前还不能完整修改配置 — 建议直接编辑 ~/.zeroclaw/config.toml 或使用 zeroclaw onboard。

Cron / 调度
zeroclaw cron list                              # List tasks
zeroclaw cron add "<cron-expr>" "<command>"      # Add recurring task
zeroclaw cron add --tz America/New_York "..."    # With timezone
zeroclaw cron add-at <rfc3339> "<command>"       # One-shot at timestamp
zeroclaw cron add-every <ms> "<command>"         # Fixed interval
zeroclaw cron once <delay> "<command>"           # One-shot delayed (e.g. "30m", "2h")
zeroclaw cron remove <id>
zeroclaw cron pause <id>
zeroclaw cron resume <id>
模型和提供商
zeroclaw providers                          # List all 30 providers
zeroclaw models refresh                     # Refresh model catalogs
zeroclaw models refresh --provider <ID>     # Refresh specific provider
zeroclaw models refresh --force             # Force refresh
技能
zeroclaw skills list                        # List installed skills
zeroclaw skills install <source>            # Install from GitHub URL or local path
zeroclaw skills remove <name>               # Remove skill
集成
zeroclaw integrations info <name>           # Show integration details
# Examples: Telegram, Discord, Slack, iMessage, Matrix, Signal, WhatsApp, Email, DingTalk, Ollama
身份验证
zeroclaw auth login --provider <ID>         # OAuth login (e.g. openai-codex)
zeroclaw auth login --provider <ID> --device-code  # Device code flow
zeroclaw auth paste-token                   # Paste auth token (Anthropic)
zeroclaw auth setup-token                   # Alias for paste-token
zeroclaw auth refresh                       # Refresh OAuth token
zeroclaw auth logout                        # Remove auth profile
zeroclaw auth use --provider <ID>           # Set active profile
zeroclaw auth list                          # List profiles
zeroclaw auth status                        # Show token expiry info
硬件和外围设备
zeroclaw hardware discover                  # Enumerate USB devices (VID/PID)
zeroclaw hardware introspect <path>         # Introspect device
zeroclaw hardware info [--chip <name>]      # Chip info via probe-rs

zeroclaw peripheral list                    # List configured boards
zeroclaw peripheral add <board> <path>      # Add board (e.g. nucleo-f401re /dev/ttyACM0)
zeroclaw peripheral flash [--port <port>]   # Flash Arduino firmware
zeroclaw peripheral setup-uno-q             # Setup Arduino Uno Q Bridge
zeroclaw peripheral flash-nucleo            # Flash Nucleo-F401RE firmware
迁移
zeroclaw migrate openclaw [--source <path>] [--dry-run]  # Import from OpenClaw

支持的提供商(共 30 个)

ID描述
openrouterOpenRouter(默认)
anthropicAnthropic
openaiOpenAI
openai-codexOpenAI Codex(OAuth)
ollamaOllama [本地]
geminiGoogle Gemini
veniceVenice
vercelVercel AI Gateway
cloudflareCloudflare AI
moonshotMoonshot / Kimi
opencodeOpenCode Zen
zaiZ.AI
glmGLM(智谱)
minimaxMiniMax
bedrockAmazon Bedrock
qianfan千帆(百度)
qwenQwen(DashScope)
groqGroq
mistralMistral
xaixAI(Grok)
deepseekDeepSeek
togetherTogether AI
fireworksFireworks AI
perplexityPerplexity
cohereCohere
copilotGitHub Copilot
lmstudioLM Studio [本地]
nvidiaNVIDIA NIM
ovhcloudOVHcloud AI Endpoints
custom:<URL>任意兼容 OpenAI 的端点
anthropic-custom:<URL>任意兼容 Anthropic 的端点
自定义提供商设置
# OpenAI-compatible
default_provider = "custom:https://your-api.com"
api_key = "your-api-key"
default_model = "your-model"

# Anthropic-compatible
default_provider = "anthropic-custom:https://your-api.com"
api_key = "your-api-key"
default_model = "your-model"

频道(支持 14 个)

Channel Matrix
渠道配置部分访问控制字段设置
CLI始终启用不适用内置
Telegram[channels_config.telegram]allowed_userszeroclaw onboard
Discord[channels_config.discord]allowed_userszeroclaw onboard
Slack[channels_config.slack]allowed_userszeroclaw onboard
Mattermost[channels_config.mattermost]allowed_users手动配置
Webhook[channels_config.webhook]secret(可选)手动配置 / onboard
iMessage[channels_config.imessage]allowed_contacts仅限 macOS
Matrix[channels_config.matrix]allowed_userszeroclaw onboard
Signal[channels_config.signal]allowed_from手动配置
WhatsApp[channels_config.whatsapp]allowed_numberszeroclaw onboard
Email[channels_config.email]allowed_senders手动配置
IRC[channels_config.irc]allowed_userszeroclaw onboard
Lark[channels_config.lark]allowed_users手动配置
DingTalk[channels_config.dingtalk]allowed_userszeroclaw onboard
默认拒绝的允许列表规则
  • [](空)= 拒绝所有
  • ["*"] = 允许所有(不建议用于生产环境)
  • ["123456789", "username"] = 仅精确匹配
Telegram 设置
[channels_config.telegram]
bot_token = "your-bot-token"
allowed_users = []
# 1. Get bot token from @BotFather on Telegram
# 2. Add config above to ~/.zeroclaw/config.toml
# 3. Bind your user:
zeroclaw channel bind-telegram <USER_ID_OR_USERNAME>
# 4. Start:
zeroclaw daemon

**重要:**Telegram 使用长轮询,无需入站端口或公网 IP。每个 bot token 只允许运行一个轮询器(不要运行多个守护进程)。

Discord 设置
  1. 前往 https://discord.com/developers/applications
  2. 创建应用,启用 Bot,复制 token
  3. 启用 MESSAGE CONTENT intent
  4. 运行 zeroclaw onboard
Slack 设置
  1. 前往 https://api.slack.com/apps
  2. 创建应用,添加 Bot Token Scopes,然后安装
  3. 运行 zeroclaw onboard
Mattermost 设置
[channels_config.mattermost]
url = "https://mm.your-domain.com"
bot_token = "your-bot-access-token"
channel_id = "your-channel-id"
allowed_users = ["user-id-1"]
thread_replies = true
mention_only = true
WhatsApp 设置
[channels_config.whatsapp]
access_token = "your-access-token"
phone_number_id = "your-phone-number-id"
verify_token = "your-verify-token"
allowed_numbers = ["+1234567890"]

WhatsApp 需要一个公网 URL(webhook),请使用隧道(Tailscale/ngrok/Cloudflare)。

Signal 设置
[channels_config.signal]
http_url = "http://127.0.0.1:8686"
account = "+1234567890"
allowed_from = ["+1987654321"]
ignore_attachments = true
ignore_stories = true
Lark 设置
[channels_config.lark]
app_id = "your-app-id"
app_secret = "your-app-secret"
allowed_users = ["your-user-id"]
receive_mode = "websocket"   # or "webhook"
聊天内命令(Telegram/Discord)

在渠道服务运行时,用户可以执行:

  • /models — 显示可用的提供商
  • /models <provider> — 切换提供商(按发送者区分)
  • /model — 显示当前模型
  • /model <model-id> — 切换模型(按发送者区分)

切换会清除该发送者的对话历史,避免不同模型之间的数据污染。


配置参考(~/.zeroclaw/config.toml)

核心
键默认值说明
default_provideropenrouter提供商 ID 或别名
default_modelanthropic/claude-sonnet-4.5通过提供商路由的模型
default_temperature0.70.0-2.0
网关
键默认值用途
gateway.host127.0.0.1绑定地址
gateway.port3000监听端口
gateway.require_pairingtrue要求配对以进行身份验证
gateway.allow_public_bindfalse阻止意外暴露到公网
记忆
键默认值用途
memory.backendsqlitesqlite、lucid、markdown、none
memory.auto_savetrue自动持久化
memory.embedding_providernonenone、openai 或自定义
memory.vector_weight0.7混合搜索的向量权重
memory.keyword_weight0.3混合搜索的关键词权重
自主性 / 安全
键默认值用途
autonomy.levelsupervisedreadonly、supervised、full
autonomy.workspace_onlytrue限制在工作区内
autonomy.allowed_commands[git, npm, cargo, ls, cat, grep, find, echo, pwd, wc, head, tail]允许的命令列表
autonomy.max_actions_per_hour20频率限制
autonomy.max_cost_per_day_cents500费用上限
Agent
键默认值
agent.max_tool_iterations10
agent.max_history_messages50
agent.parallel_toolsfalse
浏览器控制
键默认值用途
browser.enabledfalse启用浏览器工具
browser.allowed_domains[]域名允许列表(["*"] 表示全部域名)
browser.session_name(none)可选的会话标识符,用于持久化
browser.backendagent_browseragent_browser、rust_native、computer_use、auto
browser.native_headlesstruerust_native 后端的无头模式
browser.native_webdriver_urlhttp://127.0.0.1:9515rust_native 的 WebDriver 端点
browser.native_chrome_path(auto)可选的显式 Chrome 二进制文件路径
browser.computer_use.endpointhttp://127.0.0.1:8787/v1/actionsComputer-use 侧车端点
browser.computer_use.api_key(none)侧车身份验证的可选 bearer 令牌(已加密)
browser.computer_use.timeout_ms15000每项操作的超时时间
browser.computer_use.allow_remote_endpointfalse仅允许本地主机侧车
browser.computer_use.window_allowlist[]限制可作为目标的操作系统窗口
browser.computer_use.max_coordinate_x(none)坐标验证的可选 X 边界
browser.computer_use.max_coordinate_y(none)坐标验证的可选 Y 边界
HTTP 请求
键默认值用途
http_request.enabledfalse启用 HTTP 请求工具
http_request.allowed_domains[]域名允许列表(["*"] 表示全部域名)
http_request.max_response_size0最大响应字节数(0 = 不限)
http_request.timeout_secs0请求超时时间(0 = 不限)
其他重要配置段
  • [runtime] — 原生或 Docker 沙箱
  • [reliability] — 提供商重试、退避、回退
  • [scheduler] — 任务调度(最多 64 个任务,4 个并发任务)
  • [heartbeat] — 定期检查(默认禁用)
  • [cron] — Cron 调度
  • [tunnel] — 提供商:none、tailscale、ngrok、cloudflare
  • [composio] — Composio 集成(250 多种应用集成)
  • [secrets] — 加密密钥
  • [web_search] — 默认使用 DuckDuckGo
  • [proxy] — HTTP 代理支持
  • [cost] — 每日/每月限额、按模型计价
  • [peripherals] — 硬件开发板

浏览器控制设置

浏览器后端
后端工作机制运行时要求构建要求
agent_browser(默认)以子进程方式调用 Vercel 的 agent-browser CLI$PATH 中有 agent-browser无(默认构建/预编译二进制文件)
rust_native通过 fantoccini 在进程内使用 WebDriverChromeDriver 正在运行cargo install --features browser-native(必须从源代码构建)
computer_use向侧车发送 HTTP POST,以操作操作系统级鼠标/键盘/屏幕Computer-use 侧车服务无
auto自动检测最合适的可用后端取决于已安装的组件无

auto 检测优先级: rust_native(已编译且 WebDriver 可访问)-> agent_browser(已安装 CLI)-> computer_use(侧车可访问)。如果没有可用后端,则提供有用的错误信息并回退。

预编译二进制文件说明: bootstrap.sh --prefer-prebuilt 提供的预编译二进制文件不包含 browser-native。如果你使用预编译二进制文件设置 backend = "rust_native",Agent 会提示未启用此功能。你必须从源代码构建:cargo install --path . --force --locked --features browser-native。

浏览器操作(共 17 项)

标准操作(适用于所有后端):

操作用途说明
open跳转到 URL所有后端
snapshot获取包含 @ref 元素句柄的无障碍树仅限 agent_browser — 在 rust_native 上返回 null
click通过 CSS 选择器或 @ref 点击元素@ref 仅适用于 agent_browser
fill清空字段并填入值
type在聚焦的元素中输入文本
get_text提取元素文本
get_title获取页面标题
get_url获取当前 URL
screenshot截取页面选项:path、full_page
wait等待元素、时间或文本
press按下键盘按键
hover将鼠标悬停在元素上
scroll滚动页面选项:direction、pixels
is_visible检查元素是否可见严格模式 — 选择器必须恰好匹配一个元素
close关闭浏览器
find通过语义定位器查找选项:role、text、label、placeholder、testid

仅限计算机操作的操作(额外 6 项 — OS 级别,非 DOM):

操作用途
mouse_move将鼠标移动到指定坐标
mouse_click点击指定坐标
mouse_drag从一个点拖动到另一个点
key_type通过 sidecar 输入按键
key_press按下单个按键
screen_capture截取 OS 屏幕

在不支持计算机操作的后端上使用计算机操作,会返回特定于后端的错误。

后端对比(已测试)
能力agent_browserrust_nativecomputer_use
open / close是是是
get_title / get_text / get_url是是是
click / fill / type是(CSS + @ref)是(仅 CSS)是(坐标)
hover / scroll / press是是是
screenshot是是是(screen_capture)
is_visible是(严格模式)是不适用
snapshot(无障碍树)是(完整 @ref 树)否(返回 null)不适用
find(语义定位器)部分支持否不适用
元素 @refs是否不适用
会话持久化是(配置文件路径)否不适用
有头模式config + executablePathnative_headless = false不适用(OS 级别)
子进程开销有(每次操作都会调用 shell)无(进程内)有(每次操作均通过 HTTP)
OS 级鼠标/键盘否否是

**AI 驱动自动化的建议:**使用 agent_browser。带有 @ref 句柄的无障碍树快照至关重要——它能让 Agent“看到”页面结构,并定位特定元素(例如 @e12),而不是猜测 CSS 选择器。仅在无 Node 部署或已知选择器的简单抓取场景下使用 rust_native。需要超出浏览器 DOM 范围的 OS 级控制时,使用 computer_use。

推荐配置:使用带可见 Chrome 窗口的 agent_browser

这样会在桌面上弹出一个可见的 Chrome 窗口(类似 OpenClaw)——你可以观察 AI 浏览网页、登录网站,且配置文件会在各会话间保留 Cookie 和会话信息。

步骤 1:安装 agent-browser
npm install -g agent-browser
# Verify:
agent-browser --version
步骤 2:将 agent-browser 配置为有头模式

创建 ~/.agent-browser/config.json:

{
  "headed": true,
  "profile": "~/.agent-browser/profile",
  "executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
}

重要:有头(可见)模式必须设置 executablePath。 默认情况下,agent-browser 使用 Playwright 附带的 Chromium(~/Library/Caches/ms-playwright/chromium-*/),它会忽略 headed 标志,始终以无头模式运行。将路径指向实际安装的 Google Chrome 即可解决此问题。

常见的 Chrome 路径:

  • macOS: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • Linux: /usr/bin/google-chrome 或 /usr/bin/chromium
  • Windows: C:\Program Files\Google\Chrome\Application\chrome.exe

profile 路径可让 Cookie 和登录信息在各会话间持久保存。

步骤 3:配置 ZeroClaw

在 ~/.zeroclaw/config.toml 中:

[browser]
enabled = true
allowed_domains = ["*"]
backend = "agent_browser"
步骤 4:使用 headed 环境变量启动守护进程(双重保险)
AGENT_BROWSER_HEADED=true zeroclaw daemon

如果是安装为服务,则先在 shell 配置文件中导出该环境变量。

agent-browser CLI 参考
agent-browser open <url>              # Navigate to URL
agent-browser click <selector>        # Click element
agent-browser type <sel> <text>       # Type into element
agent-browser fill <sel> <text>       # Clear and fill
agent-browser screenshot [path]       # Take screenshot
agent-browser snapshot                # Accessibility tree with @refs (for AI)
agent-browser eval <js>               # Run JavaScript
agent-browser close                   # Close browser
agent-browser --headed open <url>     # Force visible window
agent-browser --session <name> ...    # Isolated session
agent-browser --profile <path> ...    # Persistent browser profile
agent-browser 环境变量
变量用途
AGENT_BROWSER_HEADED显示浏览器窗口(非无头模式)
AGENT_BROWSER_SESSION会话名称
AGENT_BROWSER_SESSION_NAME自动保存/恢复状态持久化数据
AGENT_BROWSER_PROFILE持久化浏览器配置文件路径
AGENT_BROWSER_EXECUTABLE_PATH自定义浏览器二进制文件
AGENT_BROWSER_PROXY代理服务 URL
AGENT_BROWSER_CONFIG配置文件路径
AGENT_BROWSER_AUTO_CONNECT自动发现正在运行的 Chrome
AGENT_BROWSER_STREAM_PORTWebSocket 流端口
浏览器安全模型
  • 所有 URL 都会通过 validate_url(),该函数会强制执行 allowed_domains
  • file:// 协议会被阻止(防止本地文件外泄)
  • 私有/保留 IP 范围会被拒绝
  • 对于 computer_use:会验证坐标;除非 allow_remote_endpoint = true,否则端点必须是 localhost
浏览器故障排除
问题解决方案
浏览器打开了但不可见(无头模式)在 ~/.agent-browser/config.json 中将 executablePath 设置为真正的 Chrome,而非 Playwright Chromium
“域名不在允许列表中”在 ZeroClaw 配置中设置 browser.allowed_domains = ["*"] 并重启守护进程
找不到 agent-browsernpm install -g agent-browser
浏览器立即关闭检查 agent-browser --version;确保已安装 Chrome
会话过期执行 agent-browser close 后重试
rust_native“未启用功能”预编译二进制文件缺少 browser-native — 重新构建:cargo install --path . --force --locked --features browser-native
rust_native 快照返回 null这是预期行为 — rust_native 不支持无障碍树快照。切换到 agent_browser 以支持快照/@ref
ChromeDriver 版本不匹配ChromeDriver 版本必须与 Chrome 版本匹配。在 macOS 上:执行 brew install --cask chromedriver,然后执行 xattr -d com.apple.quarantine /opt/homebrew/bin/chromedriver
agent_browser 上的 computer_use 操作失败操作系统级操作(mouse_move、mouse_click 等)仅适用于 computer_use 后端
is_visible 严格模式错误选择器匹配到了多个元素。请使用更具体的 CSS 选择器,或使用快照中的 @ref

全自主设置(最大功率模式)

解锁所有能力并移除所有限制:

配置(~/.zeroclaw/config.toml)
[autonomy]
level = "full"
workspace_only = false
allowed_commands = ["*"]
forbidden_paths = []
max_actions_per_hour = 200
max_cost_per_day_cents = 5000
require_approval_for_medium_risk = false
block_high_risk_commands = false
auto_approve = [
    "shell",
    "file_read",
    "file_write",
    "memory_store",
    "memory_recall",
    "memory_forget",
]
always_ask = []

[agent]
compact_context = false
max_tool_iterations = 50
max_history_messages = 200
parallel_tools = true
tool_dispatcher = "auto"

[scheduler]
enabled = true
max_tasks = 128
max_concurrent = 8

[heartbeat]
enabled = true
interval_minutes = 30

[browser]
enabled = true
allowed_domains = ["*"]
backend = "agent_browser"

[http_request]
enabled = true
allowed_domains = ["*"]
max_response_size = 10485760
timeout_secs = 30

[composio]
enabled = true
entity_id = "default"

[web_search]
enabled = true
provider = "duckduckgo"
max_results = 5
timeout_secs = 15
全功率模式的外部依赖
# Browser control (visible Chrome window)
npm install -g agent-browser

# agent-browser config (~/.agent-browser/config.json)
{
  "headed": true,
  "profile": "~/.agent-browser/profile",
  "executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
}

# Start daemon with headed browser
AGENT_BROWSER_HEADED=true zeroclaw daemon
各项设置的解锁功能
设置功能
autonomy.level = "full"执行任何操作都无需审批
autonomy.workspace_only = false可访问系统上的任何文件
autonomy.allowed_commands = ["*"]可运行任何 shell 命令
autonomy.forbidden_paths = []不限制路径
block_high_risk_commands = false允许执行破坏性命令
auto_approve = [all tools]所有工具运行时均无需确认
agent.max_tool_iterations = 50每项任务的工具调用次数增加 5 倍
agent.parallel_tools = true同时运行多个工具
browser.enabled = true启用浏览器自动化
browser.allowed_domains = ["*"]可浏览任何网站
http_request.enabled = true可向任何域名发起 HTTP 请求
composio.enabled = true提供 250 多种应用集成(Gmail、Calendar、GitHub 等)
heartbeat.enabled = true每 30 分钟主动执行后台检查
scheduler.max_concurrent = 8并行运行 8 个计划任务
安全警告

完全自主模式会移除所有防护措施。Agent 可以:

  • 在你的系统上运行任何命令
  • 读取/写入任何文件
  • 使用你的 Chrome 配置文件(Cookie、登录信息)浏览任何网站
  • 向任何域名发送 HTTP 请求
  • 无需批准即可执行 shell 命令

仅在可信的个人设备上使用此模式。对于共享或生产环境,请保持 supervised 模式并设置明确的允许列表。


运维手册

运行模式
模式命令适用场景
前台运行zeroclaw daemon本地调试
仅网关zeroclaw gatewayWebhook 测试
用户服务zeroclaw service install && start持续运行
运维人员检查清单
zeroclaw status          # Check config
zeroclaw doctor          # Run diagnostics
zeroclaw channel doctor  # Check channel health
zeroclaw daemon          # Start runtime
安全的配置更改流程
  1. 备份 ~/.zeroclaw/config.toml
  2. 应用一项逻辑更改
  3. 运行 zeroclaw doctor
  4. 重启 daemon/服务
  5. 使用 status + channel doctor 进行验证
日志
  • macOS/Windows:~/.zeroclaw/logs/daemon.stdout.log、daemon.stderr.log
  • Linux systemd:journalctl --user -u zeroclaw.service -f

网络部署

Telegram/Discord/Slack(无需端口)

这些平台使用长轮询,仅需出站连接。在 NAT 后方、RPi 和家庭实验室中均可运行。

zeroclaw daemon --host 127.0.0.1 --port 3000
Webhook 渠道(WhatsApp 等)

需要一个公共 URL。可选方案:

  • [tunnel] provider = "tailscale" — Tailscale Funnel
  • [tunnel] provider = "ngrok" — ngrok 隧道
  • Cloudflare Tunnel
局域网访问
[gateway]
host = "0.0.0.0"
allow_public_bind = true

硬件外设

支持的开发板
开发板传输方式路径
nucleo-f401re串口/dev/ttyACM0
arduino-uno串口/dev/ttyACM0、/dev/cu.usbmodem*
arduino-uno-q桥接(IP)
rpi-gpio原生原生
esp32串口/dev/ttyUSB0
添加开发板
zeroclaw peripheral add nucleo-f401re /dev/ttyACM0

也可以在配置中设置:

[peripherals]
enabled = true
datasheet_dir = "docs/datasheets"

[[peripherals.boards]]
board = "nucleo-f401re"
transport = "serial"
path = "/dev/ttyACM0"
baud = 115200
两种运行模式
  1. 边缘原生: ZeroClaw 直接运行在设备(ESP32、RPi)上,使用本地 GPIO/I2C/SPI
  2. 主机中介: ZeroClaw 运行在主机(Mac/Linux)上,通过 USB/J-Link 连接设备进行开发/调试

故障排除速查

问题解决方案
找不到 cargo./bootstrap.sh --install-rust
找不到 zeroclawexport PATH="$HOME/.cargo/bin:$PATH"
无法访问网关检查配置中的 gateway.host/gateway.port
Telegram 报错 terminated by other getUpdates停止多余的 daemon/渠道进程——每个令牌只能有一个轮询进程
渠道运行异常运行 zeroclaw channel doctor,然后验证凭据和允许列表
服务未运行zeroclaw service stop && zeroclaw service start
配置文件可被所有用户读取的警告chmod 600 ~/.zeroclaw/config.toml
浏览器以无头模式(不可见)打开在 ~/.agent-browser/config.json 中将 executablePath 设置为真实的 Chrome——Playwright 捆绑的 Chromium 会忽略 headed 标志
浏览器提示“域名不在允许列表中”在配置中设置 browser.allowed_domains = ["*"],然后重启 daemon
Agent 声称存在实际并不存在的域名限制大模型产生了幻觉——告诉它“allowed_domains 是通配符,现在浏览该网站”
找不到 agent-browsernpm install -g agent-browser
二进制文件不包含 rust_native 浏览器功能预编译二进制文件不包含此功能——从源代码使用 --features browser-native 构建
没有内置更新命令克隆仓库并运行 bash scripts/bootstrap.sh --prefer-prebuilt,即可快速更新
诊断命令
zeroclaw --version
zeroclaw status
zeroclaw doctor
zeroclaw channel doctor
zeroclaw channel list

工作区文件

文件用途
SOUL.mdAgent 个性、身份、沟通风格
AGENTS.md会话协议、记忆系统、安全规则
IDENTITY.md名称、生物类型、氛围、表情符号
USER.md用户资料、偏好、工作背景
MEMORY.md长期整理的记忆(自动注入主会话)
TOOLS.md本地备注——SSH 主机、设备名称、环境详情
HEARTBEAT.md定期任务(为空时跳过心跳)
BOOTSTRAP.md首次运行引导(初始设置后删除)
记忆系统
  • 每日笔记: memory/YYYY-MM-DD.md — 原始日志(按需通过工具访问)
  • 长期记忆: MEMORY.md — 精选内容,每个会话都会自动注入
  • 工具:memory_store、memory_recall、memory_forget

安全模型

  • 默认拒绝的频道白名单
  • 默认要求网关配对
  • 默认禁用公开绑定
  • 工作区范围内的文件系统访问
  • 用于 Shell 执行的命令白名单
  • 速率限制(每小时操作次数、每日成本)
  • 加密的机密信息存储
  • 可插拔的沙箱机制(Landlock、Firejail、Bubblewrap、Docker — 由功能标志控制)
  • 审计日志(提案/路线图 — 由 HMAC 签名、防篡改的日志)

LangGraph / Python 集成

zeroclaw-tools Python 包提供基于 LangGraph 的工具调用,可确保与任何兼容 OpenAI 的提供商行为一致:

pip install zeroclaw-tools
from zeroclaw_tools import create_agent, shell, file_read, file_write
agent = create_agent(tools=[shell, file_read, file_write], model="glm-5", api_key="your-api-key", base_url="your-base-url")

Open Skills 集成

ZeroClaw 集成了 Open Skills (https://github.com/besoeasy/open-skills) — 预构建的执行手册,可减少 95-98% 的令牌用量。

技能会同步至 ~/.zeroclaw/workspace/skills/,并通过以下方式安装:

zeroclaw skills install <github-url-or-local-path>

核心设计原则

  1. 零开销 — <5MB RAM、<10ms 启动时间、约 3.4MB 二进制文件
  2. 毫不妥协 — 在不牺牲性能的前提下提供全面安全性
  3. 100% Rust — 单个二进制文件,无运行时依赖
  4. 100% 通用 — 可随时切换提供商、频道、工具、记忆和隧道
  5. Trait 驱动 — 每个子系统都是一个 Trait,因此一切都可插拔
  6. 默认安全 — 配对、范围限制、白名单、加密的机密信息

评论

支持 Markdown