设置
最后更新:2026-01-01
简明版
- 定制内容在仓库外:
~/.openclaw/workspace(工作区)+~/.openclaw/openclaw.json(配置)。 - 稳定工作流:安装 macOS 应用;让它运行捆绑的网关。
- 前沿工作流:通过
pnpm gateway:watch自己运行网关,然后让 macOS 应用以本地模式附加。
前置要求(从源码)
- Node.js ≥ 22
- pnpm
- Docker(可选;仅用于容器化设置/e2e —— 参见 Docker)
定制策略(以便更新不破坏配置)
如果你想要"完全定制"并且容易更新,将你的定制保留在:
- 配置:
~/.openclaw/openclaw.json(JSON/JSON5) - 工作区:
~/.openclaw/workspace(技能、提示、记忆;将其设为私有 git 仓库)
引导一次:
bash
openclaw setup从本仓库内,使用本地 CLI 入口:
bash
openclaw setup如果你还没有全局安装,可以通过 pnpm openclaw setup 运行。
稳定工作流(首选 macOS 应用)
- 安装 + 启动 OpenClaw.app(菜单栏)。
- 完成引导/权限清单(TCC 提示)。
- 确保网关处于 本地 模式并正在运行(应用管理它)。
- 链接界面(示例:WhatsApp):
bash
openclaw channels login- 健全性检查:
bash
openclaw health如果你的构建中没有引导功能:
- 运行
openclaw setup,然后openclaw channels login,然后手动启动网关(openclaw gateway)。
前沿工作流(终端中的网关)
目标:处理 TypeScript 网关,获得热重载,保持 macOS 应用 UI 附加。
0)(可选)也从源码运行 macOS 应用
如果你也想要 macOS 应用处于前沿:
bash
./scripts/restart-mac.sh1) 启动开发网关
bash
pnpm install
pnpm gateway:watchgateway:watch 以监视模式运行网关,并在 TypeScript 更改时重新加载。
2) 将 macOS 应用指向你正在运行的网关
在 OpenClaw.app 中:
- 连接模式:本地 应用将附加到配置端口上正在运行的网关。
3) 验证
- 应用内网关状态应显示"使用现有网关 …"
- 或通过 CLI:
bash
openclaw health常见问题
- 错误的端口:网关 WS 默认为
ws://127.0.0.1:18789;保持应用 + CLI 使用相同端口。 - 状态存储位置:
- 凭证:
~/.openclaw/credentials/ - 会话:
~/.openclaw/agents/<agentId>/sessions/ - 日志:
/tmp/openclaw/
- 凭证:
凭证存储映射
在调试认证或决定备份内容时使用此信息:
- WhatsApp:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - Telegram bot token:配置/环境或
channels.telegram.tokenFile - Discord bot token:配置/环境(尚不支持 token 文件)
- Slack tokens:配置/环境(
channels.slack.*) - 配对允许列表:
~/.openclaw/credentials/<channel>-allowFrom.json - 模型认证配置:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - 旧版 OAuth 导入:
~/.openclaw/credentials/oauth.json- 更多详情:安全
更新(不破坏配置)
- 保留
~/.openclaw/workspace和~/.openclaw/作为"你的内容";不要将个人提示/配置放入openclaw仓库。 - 更新源码:
git pull+pnpm install(当 lockfile 更改时)+ 继续使用pnpm gateway:watch。
Linux(systemd 用户服务)
Linux 安装使用 systemd 用户服务。默认情况下,systemd 在注销/空闲时停止用户服务,这会杀死网关。引导尝试为你启用 lingering(可能会提示需要 sudo)。如果它仍然关闭,运行:
bash
sudo loginctl enable-linger $USER对于常驻或多用户服务器,考虑使用 系统服务而不是用户服务(不需要 lingering)。参见 网关运行手册 中的 systemd 说明。