引导流程(macOS 应用)
本文档描述了当前的首次运行引导流程。目标是提供流畅的”第 0 天”体验:选择 Gateway 运行位置、连接认证、运行向导,让 Agent 自行完成初始化。
页面顺序(当前)
- 欢迎页 + 安全提示
- Gateway 选择(本地 / 远程 / 稍后配置)
- 认证(Anthropic OAuth) — 仅限本地
- 设置向导(由 Gateway 驱动)
- 权限(TCC 提示)
- CLI(可选)
- 引导对话(专用会话)
- 就绪
1) 本地 vs 远程
Gateway 运行在哪里?
- 本地(此 Mac): 引导流程可以运行 OAuth 流程并在本地写入凭证。
- 远程(通过 SSH/Tailnet): 引导流程不会在本地运行 OAuth;凭证必须存在于 Gateway 主机上。
- 稍后配置: 跳过设置,保持应用未配置状态。
Gateway 认证提示:
- 向导现在即使对于回环连接也会生成一个 token,因此本地 WS 客户端必须进行认证。
- 如果禁用认证,任何本地进程都可以连接;仅在完全可信的机器上使用。
- 对于多机访问或非回环绑定,使用 token。
2) 仅限本地的认证(Anthropic OAuth)
macOS 应用支持 Anthropic OAuth(Claude Pro/Max)。流程如下:
- 打开浏览器进行 OAuth(PKCE)
- 要求用户粘贴
code#state值 - 将凭证写入
~/.clawdbot/credentials/oauth.json
其他提供商(OpenAI、自定义 API)目前通过环境变量或配置文件进行配置。
3) 设置向导(由 Gateway 驱动)
应用可以运行与 CLI 相同的设置向导。这使引导流程与 Gateway 端行为保持同步,避免在 SwiftUI 中重复逻辑。
4) 权限
引导流程会请求以下所需的 TCC 权限:
- 通知
- 辅助功能
- 屏幕录制
- 麦克风 / 语音识别
- 自动化(AppleScript)
5) CLI(可选)
应用可以通过 npm/pnpm 安装全局 openclaw CLI,以便终端工作流和 launchd 任务开箱即用。
6) 引导对话(专用会话)
设置完成后,应用会打开一个专用的引导对话会话,让 Agent 介绍自己并指导后续步骤。这使首次运行指导与正常对话分开。
Agent 初始化仪式
在首次运行 Agent 时,OpenClaw 会初始化一个工作区(默认为 ~/clawd):
- 生成
AGENTS.md、BOOTSTRAP.md、IDENTITY.md、USER.md - 运行简短的问答仪式(一次一个问题)
- 将身份 + 偏好写入
IDENTITY.md、USER.md、SOUL.md - 完成后删除
BOOTSTRAP.md,确保只运行一次
可选:Gmail 钩子(手动)
Gmail Pub/Sub 设置目前是手动步骤。使用:
openclaw webhooks gmail setup --account you@gmail.com
远程模式注意事项
当 Gateway 在另一台机器上运行时,凭证和工作区文件位于该主机上。如果在远程模式下需要 OAuth,请在 Gateway 主机上创建:
~/.clawdbot/credentials/oauth.json~/.clawdbot/agents/<agentId>/agent/auth-profiles.json