设置

最后更新:2026-01-01

TL;DR

  • 定制位于仓库之外: ~/.openclaw/workspace(工作区)+ ~/.openclaw/openclaw.json(配置)。
  • 稳定工作流: 安装 macOS 应用;让它运行捆绑的网关(Gateway)。
  • 尖端工作流: 通过 pnpm gateway:watch 自己运行网关,然后让 macOS 应用在本地模式下附加。

前提条件(从源代码)

  • Node >=22
  • pnpm
  • Docker(可选;仅用于容器化设置/e2e — 见 Docker

定制策略(这样更新不会受伤)

如果你想要"100% 为我定制"并且轻松更新,将你的自定义保存在:

  • 配置: ~/.openclaw/openclaw.json(JSON/JSON5-ish)
  • 工作区: ~/.openclaw/workspace(技能、提示、记忆;将其设为私有 git 仓库)

一次引导:

openclaw setup

从这个仓库内部,使用本地 CLI 入口:

openclaw setup

如果你还没有全局安装,通过 pnpm openclaw setup 运行它。

稳定工作流(macOS 应用优先)

  1. 安装 + 启动 OpenClaw.app(菜单栏)。
  2. 完成入门/权限检查清单(TCC 提示)。
  3. 确保网关(Gateway)是本地并运行(应用管理它)。
  4. 链接界面(示例:WhatsApp):
openclaw channels login
  1. 健全性检查:
openclaw health

如果你的构建中没有入门:

  • 运行 openclaw setup,然后 openclaw channels login,然后手动启动网关(openclaw gateway)。

尖端工作流(终端中的网关)

目标:在 TypeScript 网关上工作,获得热重载,保持 macOS 应用 UI 附加。

0) (可选)也从源代码运行 macOS 应用

如果你也想让 macOS 应用处于尖端:

./scripts/restart-mac.sh

1) 启动开发网关

pnpm install
pnpm gateway:watch

gateway:watch 在监视模式下运行网关,并在 TypeScript 更改时重新加载。

2) 将 macOS 应用指向你运行的网关

OpenClaw.app 中:

  • 连接模式:本地 应用将附加到配置端口上运行的网关。

3) 验证

  • 应用内网关状态应显示 "Using existing gateway …"
  • 或通过 CLI:
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:config/env 或 channels.telegram.tokenFile
  • Discord bot token:config/env(尚不支持令牌文件)
  • Slack tokens:config/env(channels.slack.*
  • 配对白名单~/.openclaw/credentials/<channel>-allowFrom.json
  • 模型认证配置文件~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • 旧版 OAuth 导入~/.openclaw/credentials/oauth.json 更多详情:Security

更新(不破坏你的设置)

  • ~/.openclaw/workspace~/.openclaw/ 作为"你的东西";不要将个人提示/配置放入 openclaw 仓库。
  • 更新源代码:git pull + pnpm install(当 lockfile 更改时)+ 继续使用 pnpm gateway:watch

Linux(systemd 用户服务)

Linux 安装使用 systemd 用户服务。默认情况下,systemd 在注销/空闲时停止用户服务,这会杀死网关。入门尝试为你启用 lingering(可能提示 sudo)。如果它仍然关闭,运行:

sudo loginctl enable-linger $USER

对于始终在线或多用户服务器,考虑使用系统服务而不是用户服务(不需要 lingering)。见 Gateway runbook 了解 systemd 说明。

相关文档