前回、ラズパイに話題のAIエージェントOpenClawをインストールしました。その後いろいろ試したのですが…さすがにラズパイでは動作が遅すぎて諦めました。代わりに、小型デバイスでも快適に動くと話題のOpenClawクローンのZeroClawを使うことにしました。今回は、ZeroClawのインストールと、簡単なスキルを作成してみましょう。
ZeroClawとは?
ZeroClawとは、OpenClawクローンの一つで、オープンソースのAIエージェントです。DiscordやTelegram、メールなどを通して、AIエージェントに指示を与えて、仕事を依頼することができます。
ハーバード大学、MIT(マサチューセッツ工科大学)の学生が中心となって開発が行われています。2026年2月に開発が始まったばかりですが、GitHubのスター数は既に、3万件に達しており、今後が楽しみなプロジェクトです。
また、Rustで開発が行われており、単一バイナリで動作し、ランタイム依存もないので、Raspberry Pi(以後、ラズパイと略します)などのシングルボードコンピュータでも快適に動作するというのがウリとなっています。
こちらのZeroClawのGitHubで開発が活発に行われており、日本語の説明ページも用意されています。
ZeroClawのインストール方法について
それでは、さっそく、ラズパイにZeroClawをインストールしましょう。なお、こちらの記事を参考にして、ラズパイに、64ビット版のRaspberry Pi OSのセットアップを行ったことを前提にしています。
ラズパイにZeroClawをインストールするなら、Homebrew(Linuxbrew)を使うのが早いです。ラズパイのターミナルを開いたら、次のコマンドを実行しましょう。最初に、Homebrewをインストールします。その後、Homebrewを用いてZeroClawをインストールします。
# Homebrewのためのライブラリをインストール
sudo apt update
sudo apt install build-essential procps curl file git
# Homebrewをインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# ここで、Enterキーで続行して、パスワードを入力
# ZeroClawをインストール
brew install zeroclaw
なお、Homebrewをインストールした後で、パスを追加する必要があります。インストール完了後に、表示されているコマンドを、そのまま実行すれば、Homebrewがシェルに登録されます。
ZeroClawをセットアップしよう - ワークスペースの指定
無事に、ZeroClawがインストールできたら、続けて、次のコマンドを実行します。すると、セットアップが起動します。
zeroclaw onboard
すると、次のようなセットアップ画面が表示されます。
その後、最初にデフォルトワークスペース(~/.zeroclaw/workspace)を指定します。ここでは、[y]を押します。
ZeroClawのセットアップ - AIプロバイダー・APIキー・モデルを指定
続いて、AIプロバイダーとAPIキーの指定があります。皆さんの好きなAIプロバイダーを指定してください。筆者は、姉妹連載のこちらで登録した「OpenRouter」を選択し、モデルに「Grok 4.1 Fast (reasoning + speed)」を指定してみました。もちろん、OpenAIや、Google GeminiのAPIを指定することもできます。
この設定は、後から気軽に変更できます。なお、OpenRouterでのオススメは「Claude Sonnet 4.6」となっていますが、課金してはじめて利用できるモデルとなっているため、モデルを選択する時に注意しましょう。
ZeroClawのセットアップ - チャットアプリの指定
その後、どのチャットアプリを使うかを指定します。
前回は、Discordを指定してチャットできるようにしましたが、Telegramの設定が最も簡単ということでした。そこで、今回はTelegramを利用する方法を紹介します。Discordを利用する場合には、前回とほとんど同じ手順で設定できます。
なお、Telegramを利用する場合、不審なDMや不正なBotを介した詐欺が横行しているので、利用には十分に注意してください。ZeroClawのために使うなら、アドレス帳の共有を許可する必要はないので、AIエージェント専用として割り切って使うこともできるでしょう
以下は、Telegramを使う手順となります。なお、筆者はTelegram自体が初めてでしたが、こちらからスマートフォンアプリで、Telegramをインストールし、電話番号を入力してSMS認証を行うと使い始めることができました。Web版もあるので、普段はWeb版を使うことにします。
Telegramの検索画面で「@BotFather」を検索して、「/newbot」というメッセージを送信します。なお、BotFatherの名前を持つ不審なアカウントもあるようなので、公式マークがついていて、確実に、青文字で「@BotFather」と表示されているものを選びましょう。
そして、@BotFatherが見つかったら、選択して「Start」ボタンを押してチャットを始めます。「/newbot」と発言すると、ボットの作成が始まります。「Please choose a name for your bot.(ボットの名前を決めてください)」と言われるので、「ZeroClaw - ラズパイ」という名前にしました。これは、チャットの名前欄に表示されるものです。
次に「Now let's choose a username for your bot.(ボットのユーザー名を決めてください)」と言われるので、「ZeroClaw_202604131100_bot」のような適当な名前を指定します。ユーザー名の末尾に「bot」と指定しないといけないというルールがあります。これは、他の人と被らないような複雑な名前にする必要があります。そのため、適当な数字を加えてユニークなユーザー名を指定しましょう。すると、Botトークンが発行されます。このトークンを控えておきましょう。
また、自分のユーザーIDも必要になります。「@userinfobot」を検索してチャットを開始すると、自分のユーザーIDを教えてくれます。
ZeroClawの設定画面に戻って、Telegramを選択して、発行されたBotトークンを入力します。その後、自分のユーザーIDを入力しましょう。
ZeroClawのセットアップ - その他の設定項目
続いて、インターネットに公開するか質問されるので、Skipを選択します。その後の設定では適当に「default(デフォルト)」を選択していきます。なお、「[7/9] Memory Configuration」では、デフォルトでSQLiteを使った高速な検索が選択されますが、何がメモリ(記憶)に記録されるのか後で確認したい場合は、テキスト形式のMarkdownを選択するのもありでしょう。
ただし「[8/9] Project Context (Personalize Your Agent)」は名前やタイムゾーンを尋ねられるので一つずつ確認しましょう。
- 「Your name(あなたの名前)」…ユーザー名を指定
- 「Your timezone(タイムゾーン)」…Asia/Tokyoを選択
- 「Agent name(エージェントの名前)」…エージェントの名前を指定
- 「Communication style:(コミュニケーションのスタイル)」…Friendly & casual(フレンドリーでカジュアル)などを選択
その後「y」キーを押すと、チャンネルが起動します。そして、Telegramで先ほど指定したユニークなユーザー名を検索します。そして、話しかけると、エージェントが会話をしてくれます。
日本語で会話してみよう
最初、英語で話しかけられたので「以後、日本語で会話してね。」と入力すると、それ以後、日本語での会話となりました。「横浜の天気を教えて」とか「ZeroClawって知っている?」などと話しかけてみると、流ちょうな応答がありました。
AIエージェントはお金が掛かるので許容できるモデルを選ぼう
実は、最初に、AIモデルに「Claude Sonnet 4.6」を設定していました。「こんにちは」と話しかけると、「何かお手伝いできることはありますか?」と流ちょうな返信がありました。しかし、この時点で、OpenRouterのコンソールを開いてみると、0.066ドル(執筆時点で10.54円)が消費されていました。
AIエージェントは、運用にそれなりの費用がかかりますが、挨拶しただけで10円取られたと思うと、ちょっと悔しい気がしたので、Grok 4.1 Fastにしてみました。Grok 4.1 Fastで挨拶した時の値段は、0.00249ドル(0.40円)でした。
プログラムを実行させてみよう
次に、プログラムを作成させて実行させてみました。「Hello, World!」や「FizzBuzz」のプログラムを作って実行させると、次のように表示されました。
他にも、続くチャットで、「5000以下の素数を調べて、全部表示して。」と指示したところ、プログラムを作って結果を表示してくれました。
セキュリティ設定を変更しよう - 実行可能なコマンドを指定する
なお、「あなたをラズパイ上で実行しています。現在のCPU温度を調べてください。」と入力したところ、「コマンドがセキュリティポリシーでブロックされちゃったよ」と返信がありました。デフォルトでZeroClawはセキュリティに配慮された設定になっているため、ラズパイのCPU温度を調べるコマンドの実行が禁止されてしまいました。
ラズパイで、CPU温度を調べるには、「vcgencmd measure_temp」コマンドを実行する必要があります。そこで、ZeroClawの設定ファイル(~/.zeroclaw/config.toml)を開いて、このコマンドを許可リスト(allowed_commands)に追加します。
設定ファイルから「allowed_commands」と書かれているところを探して、次のように編集します。
[autonomy]
level = "supervised"
workspace_only = true
allowed_commands = [
"vcgencmd", # ← 追加
"rg",
"git",
# ... 省略 ...
]
設定ファイルを保存したら、念のため、ZeroClawのプロセスを起動し直しましょう。ZeroClawを終了するには、ターミナルで[Ctrl] + [C]キーを押します。そして、再度、起動するのは、「zeroclaw channel start」とコマンドをタイプします。
面白いのが、設定前に「CPU温度を調べて」と尋ねていて、セキュリティの理由で拒否されていた場合、設定を変えた後もその設定を覚えています。それで、すぐにはCPU温度を調べてくれません。次の画面のように、「本当に実行できないか確認して」と依頼してはじめて調べてくれました。AIエージェントのセキュリティに関して少し心配していましたが、Grokはそれなりにセキュリティ意識が高いようです。
なお、ZeroClawは、会話履歴を記憶しており、設定を変更しても、以前そのコマンドを実行できなかったことを記憶しています。そのため、設定を変更したことをZeroClawに伝える必要があります。設定ファイル「config.toml」を変更してZeroClawを再起動したら、「設定を変更したので、もう一度***を実行して」などと、依頼する必要があります。
また、パス「/home/<ユーザー名>/.zeroclaw/workspace/memory」に記憶したデータがありますので、データを丸ごと削除するのも有効です。
加えて、ZeroClawは、セキュリティ意識が高く、コマンドの実行に消極的なので、実行しても問題ないことを伝える必要があるかもしれません。
さらに、上記の対策をしても、うまく実行できない場合、以下のフォルダに、実行ログが記録されるので参考にできます。 /home/<ユーザー名>/.zeroclaw/workspace/sessions/ この実行ログの後ろから数行をChatGPTやGeminiに投げて、ZeroClawの設定ファイルに関して、修正方法を尋ねることで解決できる場合があります。
スキルを作ってWebカメラで撮影した写真を送信しよう
続いて、ラズパイにUSB接続のWebカメラを接続して、ZeroClawで撮影した写真を見られるようにしてみましょう。このために利用するのが、エージェントスキルです。エージェントスキルは、SKILL.mdというマークダウンファイルに書いた指示にそって処理を行う機能です。
まず、USB接続のWebカメラをラズパイで撮影するツール「fswebcam」をインストールしましょう。ターミナルを起動して以下のコマンドを実行しましょう。
sudo apt update
sudo apt install fswebcam
ターミナルで「fswebcam photo.jpg」コマンドを実行すると、カメラ画像をphoto.jpgに保存できます。それで、同じように、設定ファイル(~/.zeroclaw/config.toml)を開いて、allowed_commandsにこのコマンドを指定しましょう。
[autonomy]
level = "supervised"
workspace_only = true
allowed_commands = [
"fswebcam", # ← 追加
# ... 省略 ...
]
そして、チャットで「fswebcam p.jpgを実行して」などと書いて送信すれば、撮影が行われます。ワークスペースに「p.jpg」が保存されます。確かにワークスペースに画像は保存されます。しかし、筆者が試したZeroClawのバージョン(v0.6.9)では、肝心の撮影した写真を、Telegramに送信するのに失敗してしまいます。
そこで、TelegramのAPIを使って、画像を送信するPythonスクリプトを作成して、それを実行させることにしましょう。そのために、まずは、現在会話しているチャットのIDを確認する必要があります。Telegramのチャット画面で「/chat_id」と発言します。すると、チャットIDが得られます。
そして、こちらにあるスクリプトをワークスペースの「bin」フォルダに保存します。そして、同じフォルダに「.env」というファイルを作成して、以下のように記述します。
# 最初に取得したボットトークンを指定
TELEGRAM_BOT_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 先ほど取得したチャットIDを指定
TELEGRAM_CHAT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
次のようなフォルダ構成にします。
~/.zeroclaw/workspace
├── bin/
│ ├── camera.py
│ └── .env
└── skills/
└── takephoto/
└── SKILL.md
ターミナルで必要なライブラリをインストールしましょう。
pip install python-dotenv requests
それから、ワークスペースの「skills」フォルダに「takephoto/SKILL.md」というファイルを作成して、以下のように記述します。
---
name: 写真を撮って
description: 写真を撮影して画像をチャットに送信します。
---
# コマンドの手順
Shellで以下のコマンドを実行してください。
python bin/camera.py
これで、準備ができました。[Ctrl]+[c]キーでZeroClawを終了し、改めて「zeroclaw channel start」を実行して、ZeroClawを起動しましょう。
そして、Telegramの画面で「写真を撮って」とか「bin/camera.pyを実行して」と発言しましょう。すると、ラズパイがWebカメラで撮影した写真を、Telegramに送信してくれます。
まとめ - ZeroClaw
以上、今回は、OpenClawクローンの「ZeroClaw」をラズパイ上で動かしてみました。そして、セキュリティ設定の変更の方法や、スキルの作成方法なども紹介しました。ZeroClawはとてもバイナリサイズも小さく、動作も軽快なので、ラズパイなどの低スペックなマシンでも問題なく動作します。本稿で実践したように、設定ファイルを変更したり、スキルを作ったりすることで、理想のAIエージェントに育てていくことができます。試してみると楽しいことでしょう。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。これまで50冊以上の技術書を執筆した。直近では、「大規模言語モデルを使いこなすためのプロンプトエンジニアリングの教科書(マイナビ出版)」「Pythonでつくるデスクトップアプリ(ソシム)」「実践力を身につける Pythonの教科書 第2版」「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」など。










