OpenClaw でパーソナルアシスタントを構築する
OpenClaw は Pi エージェント向けの WhatsApp + Telegram + Discord + iMessage ゲートウェイです。プラグインにより Mattermost が追加されます。本ガイドは「パーソナルアシスタント」構成を対象としています。つまり、常時稼働のエージェントとして振る舞う、専用の WhatsApp 番号を 1 つ用意する構成です。 プラグインはMattermostを追加します。 このガイドは「パーソナルアシスタント」のセットアップです:常時エージェントのように振る舞う専用のWhatsApp番号。 プラグインはMattermostを追加します。 このガイドは「パーソナルアシスタント」のセットアップです:常時エージェントのように振る舞う専用のWhatsApp番号。⚠️ 安全第一
エージェントを次のような立場に置くことになります。- (Pi のツール設定によっては)あなたのマシン上でコマンドを実行する
- ワークスペース内のファイルを読み書きする
- WhatsApp / Telegram / Discord / Mattermost(プラグイン)経由で外部にメッセージを送信する
- 必ず
channels.whatsapp.allowFromを設定してください(個人用 Mac をインターネットに全面公開してはいけません)。 - アシスタント専用の WhatsApp 番号を使用してください。
- Heartbeats は 30 分ごとにデフォルトになりました。 Heartbeats は 30 分ごとにデフォルトになりました。 ハートビートは現在、既定で 30 分ごとです。セットアップを信頼できるようになるまでは、
agents.defaults.heartbeat.every: "0m"を設定して無効化してください。
前提条件
- OpenClaw がインストール済みで、オンボーディングが完了していること(未実施の場合は Getting Started を参照)
- アシスタント用の第 2 の電話番号(SIM / eSIM / プリペイド)
2 台のスマートフォン構成(推奨)
以下が欲しい: 個人用の WhatsApp を OpenClaw にリンクすると、あなた宛てのすべてのメッセージが「エージェント入力」になります。これはほとんどの場合、望ましくありません。 あなたが望むことはめったにありません。 あなたが望むことはめったにありません。5 分クイックスタート
- WhatsApp Web をペアリングします(QR が表示されるので、アシスタント用のスマートフォンでスキャンします)。
- Gateway(ゲートウェイ)を起動します(起動したままにします)。
~/.openclaw/openclaw.jsonに最小構成の設定を置きます。
gateway.auth.tokenからトークンをControl UI設定に貼り付けます。 後で再度開くには: openclawダッシュボード 。
エージェントにワークスペースを与える(AGENTS)
OpenClaw は、ワークスペースディレクトリから操作指示や「記憶」を読み込みます。 既定では、OpenClaw はエージェントのワークスペースとして~/.openclaw/workspace を使用し、セットアップ時または最初のエージェント実行時に自動で作成します(さらにスターターとして AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md も作成されます)。BOOTSTRAP.md は、ワークスペースが完全に新規の場合にのみ作成されます(削除後に再作成されるべきではありません)。MEMORY.md は任意(自動作成されません)で、存在する場合は通常セッションで読み込まれます。サブエージェントのセッションでは AGENTS.md と TOOLS.md のみが注入されます。 BOOTSTRAP.md はワークスペースが新しい場合にのみ作成されます (削除後に戻ってくるべきではありません)。 MEMORY.md はオプションです(自動作成ではありません)。存在する場合、通常のセッションでロードされます。 Subagent セッションは AGENTS.md と TOOLS.md のみを注入します。 BOOTSTRAP.md はワークスペースが新しい場合にのみ作成されます (削除後に戻ってくるべきではありません)。 MEMORY.md はオプションです(自動作成ではありません)。存在する場合、通常のセッションでロードされます。 Subagent セッションは AGENTS.md と TOOLS.md のみを注入します。
ヒント: このフォルダは OpenClaw の「記憶」として扱い、(理想的にはプライベートな)git リポジトリにしてください。そうすることで AGENTS.md とメモリファイルがバックアップされます。git がインストールされている場合、新規ワークスペースは自動で初期化されます。 git がインストールされている場合、新しいワークスペースは自動初期化されます。 git がインストールされている場合、新しいワークスペースは自動初期化されます。
メモリのワークフロー: Memory 任意:
agents.defaults.workspace を使って別のワークスペースを指定できます(~ をサポート)。
「アシスタント」にするための設定
OpenClaw は既定で良好なアシスタント設定になっていますが、通常は次の点を調整したくなるでしょう。SOUL.mdにあるペルソナ/指示- 思考に関する既定値(必要に応じて)
- ハートビート(信頼できるようになったら)
セッションとメモリ
- セッションファイル:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - セッションメタデータ(トークン使用量、最後のルートなど):
~/.openclaw/agents/<agentId>/sessions/sessions.json(旧形式:~/.openclaw/sessions/sessions.json) /newまたは/resetを送信すると、そのチャットの新しいセッションが開始されます(resetTriggersで設定可能)。単独で送信した場合、リセット確認として短い挨拶が返されます。 単独で送信された場合、エージェントはリセットを確認するために短いあいさつで返信します。 単独で送信された場合、エージェントはリセットを確認するために短いあいさつで返信します。/compact [instructions]はセッションコンテキストを圧縮し、残りのコンテキスト予算を報告します。
ハートビート(プロアクティブモード)
既定では、OpenClaw は次のプロンプトで 30 分ごとにハートビートを実行します。Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.無効化するには
agents.defaults.heartbeat.every: "0m" を設定します。
HEARTBEAT.mdが存在していても、実質的に空(空行と# Headingのような Markdown 見出しのみ)の場合、OpenClaw は API コールを節約するためハートビート実行をスキップします。- ファイルが存在しない場合でも、ハートビートは実行され、モデルが何をするかを判断します。
- エージェントが
HEARTBEAT_OK(必要に応じて短いパディング付き。agents.defaults.heartbeat.ackMaxCharsを参照)で応答した場合、そのハートビートについては外部への送信が抑制されます。 - ハートビートは完全なエージェントターンとして実行されます。間隔を短くすると、より多くのトークンを消費します。
メディアの入出力
受信した添付ファイル(画像/音声/ドキュメント)は、テンプレートを使ってコマンドに渡せます。{{MediaPath}}(ローカルの一時ファイルパス){{MediaUrl}}(疑似 URL){{Transcript}}(音声文字起こしが有効な場合)
MEDIA:<path-or-url> を含めてください。例: 例: 例:
運用チェックリスト
/tmp/openclaw/ 配下に保存されます(既定: openclaw-YYYY-MM-DD.log)。
次のステップ
- WebChat: WebChat
- Gateway 運用: Gateway runbook
- Cron + 起動: Cron jobs
- macOS メニューバーのコンパニオン: OpenClaw macOS app
- iOS ノードアプリ: iOS app
- Android ノードアプリ: Android app
- Windows の状況: Windows (WSL2)
- Linux の状況: Linux app
- セキュリティ: Security