设置
Note
如果你是首次设置,请从 入门指南 开始。 有关初始化引导的详细信息,请参阅 Onboarding (CLI)。
快速了解¶
根据你希望更新的频率,以及是否愿意自行运行 Gateway,选择一种设置工作流:
- 定制内容保留在仓库之外: 将你的配置和工作区存放在
~/.openclaw/openclaw.json和~/.openclaw/workspace/中,这样仓库更新不会影响它们。 - 稳定工作流(适合大多数人): 安装 macOS 应用,并让它运行自带的 Gateway。
- 前沿工作流(开发人员): 通过
pnpm gateway:watch自行运行 Gateway,然后让 macOS 应用以 Local 模式连接。
先决条件(从源码)¶
- Node 24.16+ LTS 或 Node 26.1+(推荐)
pnpm是源码签出(source checkouts)所必需的。OpenClaw 在开发模式下会从extensions/*pnpm 工作区包加载捆绑插件,因此根目录的npm install无法准备完整的源码树。- Docker(可选;仅用于容器化安装/端到端测试——参见 Docker)
请使用 package.json 中固定的 pnpm 版本。工作区对 npm 依赖项实施七天的发布冷却期(publication cooldown),但受信任的 @openai/codex 和 @openai/codex-* 包除外。独立的 pnpm 工具链会单独管理。
对于读取项目 .npmrc 的 npm 工具,请使用 npm 11.19 或更高版本来进行安装和 npm pack 冷却期处理,以及 Codex 排除。Node 运行时支持并不表示其自带的 npm 可作为源码解析器(source resolver)。发布/全局安装 不会继承仓库的 .npmrc。源码安装则继续使用 pnpm。
pnpm 管理根目录和插件本地依赖,包括工作区链接以及不同包之间版本差异。Postinstall 和构建准备会保留这些依赖树。如果旧签出裁剪了插件本地依赖,请在更新后运行 pnpm install --frozen-lockfile 以在测试前恢复它们。
定制策略(让更新不伤配置)¶
如果你想要“100% 为我定制”并且易于更新,请将你的自定义内容放在:
- 配置:
~/.openclaw/openclaw.json(类似于 JSON/JSON5) - 工作区:
~/.openclaw/workspace(技能、prompts、记忆;建议将其设为私有 git 仓库)
只需初始化一次配置/工作区文件夹,无需运行完整的初始化引导向导:
还没有全局安装?可以在此仓库中运行:
(单独的 openclaw setup,不带 --baseline,会在已配置的系统上打开交互式 OpenClaw 聊天;如果是全新系统,则会落入引导式初始化流程。完整的路由顺序参见 设置 CLI。)
从本仓库运行 Gateway¶
在 pnpm build 之后,你可以直接运行打包好的 CLI:
稳定工作流(以 macOS 应用为先)¶
- 安装并启动 OpenClaw.app(菜单栏)。
- 完成初始化/权限检查清单(TCC 提示)。
- 确保 Gateway 为 Local 并且正在运行(应用会管理它)。
- 连接渠道(例如 WhatsApp):
- 进行快速验证:
如果你的构建版本中没有初始化引导:
- 运行
openclaw setup,然后运行openclaw channels login,再手动启动 Gateway(openclaw gateway)。
前沿工作流(在终端中运行 Gateway)¶
目标:开发 TypeScript Gateway,获得热重载,并保持 macOS 应用 UI 保持连接。
0)(可选)同时从源码运行 macOS 应用¶
如果你也希望 macOS 应用保持前沿版本:
1) 启动开发版 Gateway¶
gateway:watch 的作用:
- 它会在名为
openclaw-gateway-watch-main的 tmux 会话中启动或重启 Gateway 监视进程,并在交互式终端中自动连接。 - 非交互式 shell 保持分离状态,并打印
tmux attach -t openclaw-gateway-watch-main。运行OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch可以让交互式运行保持分离,或使用pnpm gateway:watch:raw进入前台监视模式。 - 它会在接管活动配置文件的 Gateway 服务所配置或默认端口之前,先停止该服务。这样可以防止服务监管器替换源码进程。该服务仍保持已安装状态。结束监视后,运行
pnpm openclaw gateway start可重新启动服务。 - 启动失败后,tmux 窗格仍然可用,因此另一个终端或代理可以连接它或捕获其日志。
- 当相关源码、配置和捆绑插件元数据发生变化时,它会重新加载。
- 如果被监视的 Gateway 在启动期间退出,
gateway:watch会运行一次openclaw doctor --fix --non-interactive并重试。设置OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0可禁用该仅供开发使用的修复步骤。
由 pnpm openclaw ... 或 pnpm gateway:watch 触发的 TypeScript 重建会保留现有的 dist/control-ui 资源。Gateway 启动时,会在提供这些资源之前重新构建缺失、不完整或过期的捆绑 UI 资源。无头命令(headless commands)不会重建 UI。修改 ui/ 后请运行 pnpm ui:build,或在开发 Control UI 时使用 pnpm ui:dev。
2) 将 macOS 应用指向正在运行的 Gateway¶
在 OpenClaw.app 中:
- 连接模式:Local 应用将连接到配置端口上正在运行的 Gateway。
3) 验证¶
- 应用内 Gateway 状态应显示 “Using existing gateway …”
- 或通过 CLI:
常见陷阱¶
- 端口错误: Gateway WS 默认使用
ws://127.0.0.1:18789;请让应用和 CLI 使用同一端口。 - 开发者 CLI 选错: 当
PATH中包含node_modules/.bin时,codex可能会解析到工作区固定的 CLI,而不是你的独立安装。对于开发工作进程(developer workers),请对--version和exec都使用目标可执行文件的绝对路径,并确认工作进程的启动版本。包清单或另一个 shell 中的版本检查无法识别正在运行的工作进程。OpenClaw 的 托管 Codex app-server 有单独的固定版本契约;不要为了修复开发者 CLI 选择问题而更改该固定版本或你的模型/认证设置。如果安装的工作区包与本机可执行文件与锁文件不一致,请使用pnpm install修复安装,而不是编辑node_modules。 - 状态存储位置:
- 渠道/提供商状态:
~/.openclaw/credentials/ - 模型认证配置文件:SQLite 认证存储(共享:
~/.openclaw/state/openclaw.sqlite;代理本地:~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite) - 会话和记录:
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - 旧版/归档会话产物:
~/.openclaw/agents/<agentId>/sessions/ - 日志:
/tmp/openclaw/
凭据存储映射¶
在调试身份验证或决定要备份哪些内容时,可使用此映射:
- WhatsApp:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - Telegram 机器人 Token: config/env 或
channels.telegram.tokenFile(仅普通文件;拒绝符号链接) - Discord 机器人 Token: config/env 或 SecretRef(env/file/exec/store 提供程序)
- Slack Token: config/env(
channels.slack.*) - 配对允许列表:
~/.openclaw/credentials/<channel>-allowFrom.json(默认账户)~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json(非默认账户)- 模型身份验证配置文件: 共享和 agent 本地 SQLite 身份验证存储;有关继承和旧版共享存储迁移,请参阅 身份验证凭据语义
- 基于文件的 secrets 负载(可选):
~/.openclaw/secrets.json - 旧版 OAuth 导入:
~/.openclaw/credentials/oauth.json更多详情:安全。
更新(不会破坏你的配置)¶
- 将
~/.openclaw/workspace和~/.openclaw/保留为“你的内容”;不要将个人 Prompt/配置放入openclaw仓库。 - 更新源代码:
git pull+pnpm install+ 继续使用pnpm gateway:watch。
Linux(systemd 用户服务)¶
Linux 安装使用 systemd 用户 服务。默认情况下,systemd 会在注销/空闲时停止用户 服务,从而终止 Gateway。引导流程会尝试为你启用 lingering(可能会提示输入 sudo)。如果它仍处于关闭状态,请运行:
对于始终在线或多用户服务器,请考虑使用 系统 服务而不是 用户服务(无需 lingering)。有关 systemd 说明,请参阅 Gateway 运行手册。
相关文档¶
- Gateway 运行手册(标志、监督、端口)
- Gateway 配置(配置架构 + 示例)
- Discord 和 Telegram(回复标签 + replyToMode 设置)
- OpenClaw 助手设置
- macOS 应用(Gateway 生命周期)
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw