OpenClaw は、Discord、Google Chat、iMessage、Matrix、Microsoft Teams、Signal、Slack、Telegram、WhatsApp、Zalo などを AI エージェントに接続するセルフホスト型 Gateway です。このガイドでは、「パーソナルアシスタント」セットアップ、つまり常時稼働の AI アシスタントのように動作する専用 WhatsApp 番号について説明します。Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
⚠️ まず安全性
エージェントには次のことを行える立場を与えることになります。- マシン上でコマンドを実行する(ツールポリシーによる)
- ワークスペース内のファイルを読み書きする
- WhatsApp/Telegram/Discord/Mattermost やその他の同梱チャンネル経由でメッセージを送信する
- 必ず
channels.whatsapp.allowFromを設定する(個人用 Mac で全世界に開放した状態で実行しない)。 - アシスタント用に専用の WhatsApp 番号を使う。
- Heartbeat は現在、デフォルトで 30 分ごとです。セットアップを信頼できるまで、
agents.defaults.heartbeat.every: "0m"を設定して無効にしてください。
前提条件
- OpenClaw がインストール済みでオンボーディング済みであること - まだの場合は はじめに を参照してください
- アシスタント用の 2 つ目の電話番号(SIM/eSIM/プリペイド)
2 台の電話セットアップ(推奨)
目指す構成は次のとおりです。 個人用 WhatsApp を OpenClaw にリンクすると、自分宛てのすべてのメッセージが「エージェント入力」になります。これはほとんどの場合、望ましい挙動ではありません。5分でできるクイックスタート
- WhatsApp Web をペアリングする(QR が表示されるので、アシスタント用の電話でスキャンします)。
- Gateway を起動する(起動したままにします)。
- 最小構成を
~/.openclaw/openclaw.jsonに入れます。
gateway.auth.token)を使用しますが、gateway.auth.mode を password に切り替えている場合はパスワード認証も機能します。後で再度開くには、openclaw dashboard を使います。
エージェントにワークスペースを与える(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 のみが注入されます。
agents.defaults.workspace で別のワークスペースを選択します(~ をサポート)。
「アシスタント」にするための構成
OpenClaw はデフォルトで適切なアシスタント設定になっていますが、通常は次を調整します。SOUL.mdのペルソナ/指示- 思考のデフォルト(必要な場合)
- Heartbeat(信頼できるようになってから)
セッションとメモリ
- セッションファイル:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - セッションメタデータ(トークン使用量、最後のルートなど):
~/.openclaw/agents/<agentId>/sessions/sessions.json(レガシー:~/.openclaw/sessions/sessions.json) /newまたは/resetは、そのチャットの新しいセッションを開始します(resetTriggersで構成可能)。単独で送信された場合、OpenClaw はモデルを呼び出さずにリセットを確認応答します。/compact [instructions]はセッションコンテキストを圧縮し、残りのコンテキスト予算を報告します。
Heartbeat(プロアクティブモード)
デフォルトでは、OpenClaw は次のプロンプトで 30 分ごとに Heartbeat を実行します。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 実行をスキップします。- ファイルがない場合でも、Heartbeat は実行され、モデルが何をするかを決定します。
- エージェントが
HEARTBEAT_OKで応答した場合(短い補足は任意。agents.defaults.heartbeat.ackMaxCharsを参照)、OpenClaw はその Heartbeat のアウトバウンド配信を抑制します。 - デフォルトでは、DM 形式の
user:<id>ターゲットへの Heartbeat 配信は許可されています。Heartbeat 実行を有効に保ったまま直接ターゲットへの配信を抑制するには、agents.defaults.heartbeat.directPolicy: "block"を設定します。 - Heartbeat は完全なエージェントターンとして実行されます - 間隔を短くすると、より多くのトークンを消費します。
メディアの入出力
受信添付ファイル(画像/音声/ドキュメント)は、テンプレート経由でコマンドに公開できます。{{MediaPath}}(ローカル一時ファイルパス){{MediaUrl}}(疑似 URL){{Transcript}}(音声文字起こしが有効な場合)
MEDIA:<path-or-url> を含めます(スペースなし)。例:
tools.fs.workspaceOnlyがtrueの場合、送信MEDIA:のローカルパスは OpenClaw の一時ルート、メディアキャッシュ、エージェントワークスペースパス、サンドボックスで生成されたファイルに制限されたままです。tools.fs.workspaceOnlyがfalseの場合、送信MEDIA:は、エージェントがすでに読み取りを許可されているホストローカルファイルを使用できます。- ローカルパスは、絶対パス、ワークスペース相対パス、または
~/を使ったホーム相対パスにできます。 - ホストローカル送信では、引き続きメディアと安全なドキュメントタイプ(画像、音声、動画、PDF、Office ドキュメント)のみが許可されます。プレーンテキストやシークレットに見えるファイルは、送信可能なメディアとして扱われません。
運用チェックリスト
/tmp/openclaw/ 配下にあります(デフォルト: openclaw-YYYY-MM-DD.log)。
次のステップ
- WebChat: WebChat
- Gateway 運用: Gateway ランブック
- Cron + ウェイクアップ: Cron ジョブ
- macOS メニューバーコンパニオン: OpenClaw macOS アプリ
- iOS ノードアプリ: iOS アプリ
- Android ノードアプリ: Android アプリ
- Windows の状態: Windows (WSL2)
- Linux の状態: Linux アプリ
- セキュリティ: セキュリティ