mcpField
Z
zeroclaw

zeroclaw

github.com/adisinghstudentエージェントワークフロー037 回インストール36 週間前に更新
リポジトリ

zeroclaw について

zeroclaw は、エージェントやチャネル、ランタイムを構成するユーザー向けの Rust 製 AI アシスタント基盤です。CLI からモデルプロバイダー、メモリーバックエンド、ツール、安全設定を切り替えられます。

主な機能

  1. 01対話チャットと自律ランタイム
  2. 02複数のモデルプロバイダー
  3. 03複数のメッセージングチャネルへの接続
  4. 04定期および単発タスクのスケジュール
  5. 05設定可能なメモリーとセキュリティポリシー
  6. 06スキルとハードウェア周辺機器の管理

活用シーン

  1. 01メッセージングチャネル経由で AI エージェントを運用
  2. 02エージェントのモデルプロバイダーを設定
  3. 03定期または単発タスクを予定
  4. 04システム状態の確認と診断

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/zeroclawを入力して読み込まれたか確認します。

詳細

ZeroClaw — 完全リファレンススキル

Rust で構築された、高速、小型、完全自律型の AI アシスタント基盤である ZeroClaw の包括的な運用知識です。 ソース:https://github.com/zeroclaw-labs/zeroclaw | バージョン:0.1.1 | 最終更新日:2026-02-21


ZeroClaw とは

  • 言語: 100% Rust、単一バイナリ(リリース版で約3.4~8.8MB)
  • メモリ: 実行時の RAM 使用量は <5MB
  • 起動: コールドスタートで <10ms
  • プラットフォーム: ARM、x86、RISC-V — 10ドルのハードウェアでも動作
  • アーキテクチャ: トレイト駆動で、すべてを交換可能です(プロバイダー、チャネル、ツール、メモリ、トンネル、セキュリティ)
  • 設定: ~/.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(Zhipu)
minimaxMiniMax
bedrockAmazon Bedrock
qianfanQianfan(Baidu)
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種類に対応)

チャネル一覧
チャネル設定セクションアクセス制御フィールドセットアップ
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(任意)手動設定/オンボーディング
iMessage[channels_config.imessage]allowed_contactsmacOS のみ
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 は不要です。ボットトークンごとに実行できるポーラーは 1 つだけです(複数のデーモンを実行しないでください)。

Discord のセットアップ
  1. https://discord.com/developers/applications にアクセスします
  2. アプリを作成し、Bot を有効にして、トークンをコピーします
  3. MESSAGE CONTENT インテントを有効にします
  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.max_tool_iterations10
agent.max_history_messages50
agent.parallel_toolsfalse
ブラウザー制御
KeyDefaultPurpose
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)サイドカー認証用の任意のベアラートークン(暗号化済み)
browser.computer_use.timeout_ms15000アクションごとのタイムアウト
browser.computer_use.allow_remote_endpointfalselocalhost のサイドカーのみを許可します
browser.computer_use.window_allowlist[]操作対象にできる OS ウィンドウを制限します
browser.computer_use.max_coordinate_x(none)座標検証用の X 軸境界を任意で指定します
browser.computer_use.max_coordinate_y(none)座標検証用の Y 軸境界を任意で指定します
HTTP リクエスト
KeyDefaultPurpose
http_request.enabledfalseHTTP リクエストツールを有効にします
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] — ハードウェアボード

ブラウザー制御のセットアップ

ブラウザーのバックエンド
BackendMechanismRuntime RequirementBuild Requirement
agent_browser (default)Vercel の agent-browser CLI をサブプロセスとして呼び出します$PATH に agent-browser があることなし(デフォルトのビルド/ビルド済みバイナリ)
rust_nativefantoccini を介したプロセス内 WebDriverChromeDriver が実行中であることcargo install --features browser-native(ソースからビルドする必要があります)
computer_useOS レベルのマウス/キーボード/画面操作を行うサイドカーへの HTTP POSTComputer-use サイドカーサーバーなし
auto利用可能な最適なバックエンドを自動検出しますインストールされているものによりますなし

auto の検出優先順位: rust_native(コンパイル済みで WebDriver に接続できる場合) -> agent_browser(CLI がインストールされている場合) -> computer_use(サイドカーに接続できる場合)。利用可能なものがない場合は、わかりやすいエラーメッセージを表示してフォールバックします。

ビルド済みバイナリに関する注意: bootstrap.sh --prefer-prebuilt によるビルド済みバイナリには browser-native が含まれていません。ビルド済みバイナリで backend = "rust_native" を設定すると、エージェントはこの機能が有効になっていないことを通知します。ソースからビルドする必要があります:cargo install --path . --force --locked --features browser-native

ブラウザー操作(合計17種類)

標準操作(すべてのバックエンド):

操作目的備考
openURLに移動すべてのバックエンド
snapshot@ref要素ハンドルを含むアクセシビリティツリーを取得agent_browserのみ — rust_nativeではnullを返します
clickCSSセレクターまたは@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要素の表示状態を確認厳密モード — セレクターは要素に1つだけ一致する必要があります
closeブラウザーを閉じる
findセマンティックロケーターで検索オプション:role、text、label、placeholder、testid

コンピューター操作専用のアクション(追加6種類 — DOMではなくOSレベル):

操作目的
mouse_move座標にマウスを移動
mouse_click座標をクリック
mouse_dragある地点から別の地点へドラッグ
key_typeサイドカー経由でキーを入力
key_press個々のキーを押す
screen_captureOS画面をキャプチャ

コンピューター操作に対応していないバックエンドでコンピューター操作アクションを使用すると、バックエンド固有のエラーが返されます。

バックエンドの比較(テスト済み)
機能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(a11yツリー)はい(完全な@refツリー)いいえ(nullを返す)該当なし
find(セマンティックロケーター)一部対応いいえ該当なし
要素の@refはいいいえ該当なし
セッションの永続化はい(プロファイルパス)いいえ該当なし
ヘッド付きモード設定 + executablePathnative_headless = false該当なし(OSレベル)
サブプロセスのオーバーヘッドあり(操作ごとにシェルを起動)なし(プロセス内)あり(操作ごとにHTTP)
OSレベルのマウス/キーボードいいえいいえはい

AI主導の自動化に関する推奨: agent_browserを使用してください。@refハンドルを含むアクセシビリティツリーのスナップショットは不可欠です。エージェントはこれを使ってページ構造を「確認」し、CSSセレクターを推測するのではなく、特定の要素(例:@e12)をターゲットにできます。rust_nativeは、Node.jsを一切使わないデプロイや、セレクターがすでに分かっている単純なスクレイピングに限って使用してください。ブラウザーのDOMを超えるOSレベルの制御が必要な場合は、computer_useを使用してください。

推奨セットアップ:agent_browserと表示可能なChromeウィンドウ

デスクトップにポップアップする表示可能な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:環境変数を指定してデーモンを起動する(念には念を入れて)
AGENT_BROWSER_HEADED=true zeroclaw daemon

または、サービスをインストールする場合は、事前にシェルプロファイルで環境変数をエクスポートしてください。

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 を Playwright Chromium ではなく、実際の Chrome に設定します
「ドメインが許可リストにありません」ZeroClaw の設定で browser.allowed_domains = ["*"] を設定し、デーモンを再起動します
agent-browser が見つからないnpm 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 はアクセシビリティツリーのスナップショットに対応していません。スナップショット/@ref に対応するには agent_browser に切り替えてください
ChromeDriver のバージョンが一致しないChromeDriver のバージョンは Chrome のバージョンと一致している必要があります。macOS の場合:brew install --cask chromedriver を実行してから、xattr -d com.apple.quarantine /opt/homebrew/bin/chromedriver を実行します
agent_browser で computer_use の操作が失敗するOS レベルの操作(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 = ["*"]任意のシェルコマンドを実行できます
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 = true250 以上のアプリを統合します(Gmail、Calendar、GitHub など)
heartbeat.enabled = true30 分ごとにバックグラウンドで事前確認を行います
scheduler.max_concurrent = 8スケジュールされたタスクを 8 件並列で実行します
セキュリティに関する警告

完全自律モードでは、すべてのガードレールが解除されます。エージェントは次の操作を実行できます。

  • システム上の任意のコマンドを実行する
  • 任意のファイルを読み書きする
  • Chrome プロファイル(Cookie、ログイン情報)を使って任意のウェブサイトを閲覧する
  • 任意のドメインに HTTP リクエストを送信する
  • 承認なしでシェルコマンドを実行する

信頼できる個人用マシンでのみ使用してください。共有環境や本番環境では、明示的な許可リストを設定した 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. 論理的にまとまった変更を1つ適用します
  3. zeroclaw doctor を実行します
  4. デーモン/サービスを再起動します
  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
LAN アクセス
[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
2つの動作モード
  1. エッジネイティブ: ZeroClaw をデバイス(ESP32、RPi)上で直接実行し、ローカルの GPIO/I2C/SPI を使用します
  2. ホスト経由: ホスト(Mac/Linux)上の ZeroClaw を USB/J-Link 経由でデバイスに接続し、開発やデバッグを行います

トラブルシューティング早見表

問題解決方法
cargo が見つからない./bootstrap.sh --install-rust
zeroclaw が見つからないexport PATH="$HOME/.cargo/bin:$PATH"
ゲートウェイに到達できない設定の gateway.host/gateway.port を確認します
Telegram で terminated by other getUpdates が表示される余分なデーモン/チャネルプロセスを停止します。トークンごとにポーラーは1つだけにしてください
チャネルが正常でない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 = ["*"] を設定し、デーモンを再起動します
エージェントが存在しないドメイン制限を主張するLLM のハルシネーションです。「allowed_domains はワイルドカードです。今すぐ閲覧してください」と伝えます
agent-browser が見つからないnpm 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.mdエージェントの性格、アイデンティティ、コミュニケーションスタイル
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

セキュリティモデル

  • デフォルトで拒否するチャンネルの許可リスト
  • ゲートウェイとのペアリングがデフォルトで必須
  • パブリックバインドはデフォルトで無効
  • ワークスペースに限定されたファイルシステムアクセス
  • シェル実行用のコマンド許可リスト
  • レート制限(1時間あたりのアクション数、1日あたりのコスト)
  • 暗号化されたシークレットの保存
  • プラグイン可能なサンドボックス化(Landlock、Firejail、Bubblewrap、Docker — 機能フラグで制御)
  • 監査ログ(提案/ロードマップ — HMAC署名付きの改ざん検知可能なログ)

LangGraph / Python 統合

zeroclaw-tools Python パッケージは、OpenAI互換プロバイダーで一貫した動作を実現する、LangGraphベースのツール呼び出しを提供します。

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. オーバーヘッドゼロ — RAM使用量は5MB未満、起動時間は10ms未満、バイナリサイズは約3.4MB
  2. 妥協ゼロ — パフォーマンスを犠牲にせず、完全なセキュリティを実現
  3. 100% Rust — 単一バイナリで、ランタイム依存関係なし
  4. 100%非依存 — プロバイダー、チャンネル、ツール、メモリ、トンネルを自由に切り替え可能
  5. トレイト主導 — すべてのサブシステムがトレイトで構成され、あらゆる要素をプラグイン可能
  6. デフォルトでセキュア — ペアリング、スコープ制限、許可リスト、暗号化されたシークレット

コメント