オンボーディング
OpenClaw macOS アプリの初回オンボーディングフロー
このドキュメントは、**現時点** の初回オンボーディングフローを説明します。目的は「Day 0」をスムーズにすること:Gateway の実行場所を選び、認証し、ウィザードを回し、エージェントが自動でブートストラップできる状態にします。
画面の順序(現状)
1. Welcome + 安全メモ
2. **Gateway 選択**(ローカル / リモート / 後で設定)
3. **認証(Anthropic OAuth)** — ローカルモードのみ
4. **セットアップウィザード**(Gateway 駆動)
5. **権限**(TCC 認可アラート)
6. **CLI**(任意)
7. **オンボーディングチャット**(専用セッション)
8. 完了
1)Welcome + 安全メモ
表示される安全メモを読み、内容に同意できるか判断して進めます。
2)ローカル vs リモート
**Gateway** はどこで動いていますか?
- **ローカル(この Mac):** オンボーディングが OAuth フローを実行し、資格情報をローカルに書き込みます。
- **リモート(SSH/Tailnet):** ローカルで OAuth は **実行しません**。資格情報は Gateway ホスト側に既に存在する必要があります。
- **後で設定:** セットアップをスキップし、未設定のままにします。
Gateway 認証のヒント:
- 現在はループバックでもウィザード生成の **トークン** が必要なため、ローカル WS クライアントも認証が必要です。
- 認証を無効化するとローカルの任意プロセスが接続できます。完全に信頼できるマシンでのみ行ってください。
- 複数マシンからの利用や、ループバック以外に bind する場合は **トークン** を使ってください。
3)ローカル専用モードの認証(Anthropic OAuth)
macOS アプリは Anthropic OAuth(Claude Pro/Max)をサポートします。フローは次の通り:
- ブラウザを開いて OAuth(PKCE)
- ユーザーに `code#state` の貼り付けを依頼
- 資格情報を `~/.openclaw/credentials/oauth.json` に書き込み
他のプロバイダー(OpenAI、カスタム API など)は、現状は環境変数または設定ファイルで構成します。
4)セットアップウィザード(Gateway 駆動)
アプリは CLI と同じセットアップウィザードを実行できます。Gateway 側の挙動と整合し、SwiftUI 側でロジックを重複させずに済みます。
5) Permissions
オンボーディングは OpenClaw に必要な TCC 権限を要求します(例):
- 通知
- アクセシビリティ
- 画面収録
- マイク / 音声認識
- 自動化(AppleScript)
6) CLI (Optional)
アプリは npm/pnpm 経由でグローバル CLI `openclaw` をインストールできます。ターミナルのワークフローや launchd タスクがすぐに使えるようになります。
7)オンボーディングチャット(専用セッション)
セットアップ完了後、アプリはオンボーディング用の専用チャットセッションを開きます。エージェントが自己紹介し、次のステップを案内します。初回ガイドを日常会話から分離できます。
エージェント・ブートストラップ儀式
エージェントを初回起動すると、OpenClaw はワークスペース(既定 `~/.openclaw/workspace`)をブートストラップします:
- `AGENTS.md`、`BOOTSTRAP.md`、`IDENTITY.md`、`USER.md` を生成
- 短い Q&A(1 回 1 問)を実行
- アイデンティティと嗜好を `IDENTITY.md`、`USER.md`、`SOUL.md` に書き込み
- 完了後に `BOOTSTRAP.md` を削除して「一度だけ実行」を保証
任意:Gmail フック(手動)
現時点では Gmail Pub/Sub は手動セットアップが必要です。例:
openclaw webhooks gmail setup --account [email protected]
詳細は /automation/gmail-pubsub を参照してください。
リモートモードの注意
Gateway が別マシンで動いている場合、資格情報とワークスペースファイルは **そのホスト側** にあります。リモートモードで OAuth を使うなら、Gateway ホスト上に次を用意してください:
- `~/.openclaw/credentials/oauth.json`(OAuth 資格情報)
- `<code2>~/.openclaw/agents/<agentId>/agent/auth-profiles.json</code2>`(認証プロファイル)