OpenClaw Series

这篇文章属于 OpenClaw 的宿主机 + Docker Sandbox 实战篇

如果你想要一条真正适合录视频、适合新手照着做、而且不会反复回到向导的安装主线,这篇就是我最终定下来的版本。

本文按 2026 年 4 月 5 日可查到的 OpenClaw 官方 InstallQuickStartTelegramPairingSandboxingDashboard 文档整理,并结合实际安装、重装、排错过程,把最终最顺的一条流程固定下来。

先说结论:这次只走一条主线,不再分叉

如果你第一次安装 OpenClaw,或者你正在准备录一条真正能一镜到底的教程,最重要的不是多懂几个命令,而是流程顺序不能乱。

我最后定下来的路线只有这一条:

  1. 先确认 Docker 正常
  2. 用官方安装脚本安装 OpenClaw
  3. 顺着安装脚本进入的 onboarding 一路走到底
  4. onboarding 里直接把 Telegram (Bot API) 配好
  5. 向导结束后,不再回到 onboarding
  6. 用单独命令验证 Gateway、完成 Telegram pairing
  7. 最后再单独开启 Docker sandbox

这条路线的好处很直接:

  • 不会出现“刚输过一次 API Key,后面又重新输一遍”
  • 不会出现“安装脚本已经进入向导,结果又手动运行一次 openclaw onboard
  • 不会把“安装 OpenClaw”和“构建 sandbox 镜像”混成一件事

如果你只记住一句话,那就是:

安装脚本已经进入 onboarding 之后,就不要再手动重跑 openclaw onboard


一、先确认 Docker 已经正常工作

OpenClaw 最后的安全目标,不是把整个程序都塞进 Docker,而是让 Agent 的工具执行进入 Docker sandbox。所以第一步不是急着装 OpenClaw,而是先确认 Docker 没问题。

在终端执行:

1
2
docker --version
docker run hello-world

如果 hello-world 能正常输出欢迎信息,就说明 Docker 已经可以工作了。

这一步别嫌它简单。因为后面构建 sandbox 镜像时,只要 Docker 代理、网络分流或者镜像拉取有问题,几乎都会在这里提前暴露出来。先把这一步跑通,后面才不会边装边排错。


二、用官方安装脚本安装 OpenClaw

接下来直接用官方当前推荐的安装命令:

1
curl -fsSL https://openclaw.ai/install.sh | bash

三、顺着 onboarding 一次走完

进入向导之后,你只需要抓住几个关键选择。

1. 继续安装

看到类似 Continue? 这样的提示时,直接选:

  • Yes

这一步其实是在确认:你知道当前这套默认值更偏向个人使用,如果以后拿去做多人共享或者公共入口,需要再额外加固。
但对于本地个人安装来说,直接继续就好。

2. Setup mode

这里选:

  • QuickStart

因为这篇文章的目标不是把每一个隐藏配置都翻出来给你看,而是给你一条最顺的主线。QuickStart 的设计目标本来就是“尽快跑通”,所以你不一定会看到每个参数都单独弹成一页。

这点你一定要提前有心理预期:

QuickStart 不保证把 gateway.modegateway.portgateway.bind 这些值逐项展示出来。

如果某些页面没出现,不是你漏了,也不是系统有问题,而是它帮你自动套用了推荐配置。

3. Model/auth provider

模型提供商这里,只选你这期要演示的唯一一家。

如果你这次教程决定录 DeepSeek,那就全程只用 DeepSeek。不要在一篇文章或者一条视频里,一会儿选 Anthropic,一会儿又切回 DeepSeek。流程统一,读者才不会被你带乱。

选好之后,输入 API Key。

4. 频道选择

如果你本期准备把 Telegram 一起录进去,这里最好的做法,就是直接在 onboarding 里选 Telegram (Bot API)

然后把你的 Telegram Bot Token 填进去。

我后来反复比较过两种录法:

  • 一种是在 onboarding 里直接加 Telegram
  • 一种是安装结束后,再额外跑一段 openclaw channels add --channel telegram --token ...

最后我还是建议你用前者。原因很简单:
对于新手来说,“安装时一次配好模型、Gateway 和 Telegram”会显得更完整,也更符合直觉。你的视频和文章主线也会更顺。


四、向导结束后,不再回到 onboarding

这一步是整篇教程最重要的分界线。

只要 onboarding 结束,就视为安装阶段已经结束。

从现在开始:

  • 不要再运行 openclaw onboard
  • 不要再回头修改向导
  • 后面的所有事情,都用单独命令完成

你以后真正会反复用到的,是这些命令:

1
2
3
4
openclaw gateway status
openclaw dashboard --no-open
openclaw pairing list telegram
openclaw pairing approve telegram 你的8位配对码 --notify

把这条边界讲清楚,文章和视频都会显得专业很多。因为读者会明确知道:

  • 前面是安装和初始化
  • 后面是验证和使用

这两件事不是一回事。


五、先验证 Gateway,再打开后台

向导结束之后,先在终端执行:

1
2
openclaw gateway status
openclaw dashboard --no-open

第一条命令是确认 Gateway 服务已经正常运行。
第二条命令会输出一个本地 Dashboard 地址,你把它复制到浏览器打开即可。

如果你打开的是本机地址,比如 127.0.0.1:18789,那就说明当前后台是以本地方式在运行,而不是随便暴露到局域网。

这里有一个你在视频里完全可以顺手讲出来的重点:

这次的结构不是把 OpenClaw 整套塞进 Docker,而是先让 Gateway 在宿主机上稳定跑起来。

后面我们做的 Docker sandbox,是给 Agent 的工具执行加一层隔离,不是把管理界面也丢进容器。


六、完成 Telegram pairing

在 onboarding 里把 Bot Token 填好,并不代表 Telegram 已经彻底能聊了。你还差最后一步:让你的 Telegram 账号和这个机器人完成配对。

先去手机上的 Telegram,给你的机器人发一条最简单的话:

1
hi

第一次发消息时,系统通常会返回一个 8 位配对码

这时候回到终端,先查看当前待配对请求:

1
openclaw pairing list telegram

确认列表里存在你刚收到的那一串配对码之后,再执行批准:

1
openclaw pairing approve telegram 你的8位配对码 --notify

注意这里有一个特别容易踩的细节:
--notify 前面一定要有空格。

正确写法是:

1
openclaw pairing approve telegram HCFDAFJ6 --notify

而不是把配对码和 --notify 黏在一起。

批准成功后,再回 Telegram 发送:

1
2
/new
hi

之所以建议你补一条 /new,是因为这样更适合演示。它能帮你明确开始一个新的干净会话,后面的聊天记录也会更清晰。


七、拉官方仓库,但只是为了构建 sandbox 镜像

到了这里,OpenClaw 本体其实已经装好了。接下来拉官方仓库,不是为了“重新安装 OpenClaw”,而只是为了使用官方自带的 sandbox 构建脚本。

这一点如果你不提前说明,很多读者都会误会:
刚刚不是已经装完了吗,为什么又在 clone 一遍?

实际情况是这样的:

  • 安装脚本已经把宿主机上的 OpenClaw 本体装好了
  • 你现在 clone 仓库,只是为了执行里面的 scripts/sandbox-setup.sh

所以这一步直接执行:

1
2
3
4
5
mkdir -p ~/openclaw-src
cd ~/openclaw-src
git clone https://github.com/openclaw/openclaw.git
cd openclaw
scripts/sandbox-setup.sh

这一步的结果,是构建出官方默认的 Docker sandbox 镜像:

1
openclaw-sandbox:bookworm-slim

八、开启 Docker sandbox

现在才进入这篇文章真正的安全核心。

依次执行下面这些命令:

1
2
3
4
5
6
7
8
openclaw config set agents.defaults.sandbox.mode all
openclaw config set agents.defaults.sandbox.backend docker
openclaw config set agents.defaults.sandbox.scope agent
openclaw config set agents.defaults.sandbox.workspaceAccess none
openclaw config set agents.defaults.sandbox.docker.image openclaw-sandbox:bookworm-slim
openclaw gateway restart
openclaw sandbox recreate --all --force
openclaw sandbox explain

这一组命令的含义其实很清楚:

  • mode = all
    代表所有会话都走 sandbox
  • backend = docker
    代表沙箱后端使用 Docker
  • scope = agent
    代表每个 agent 使用独立隔离
  • workspaceAccess = none
    代表默认不给真实工作区权限
  • docker.image
    指定官方 sandbox 镜像

这几行命令共同实现的目标,就是把 OpenClaw 分成两层:

  • Gateway 跑在宿主机
  • Agent 的工具执行进 Docker sandbox

如果你是从安全角度来理解 OpenClaw,这就是整篇文章最核心的结论。


九、怎么确认 sandbox 已经真的生效

配置完之后,不要靠猜,直接看结果。

继续执行:

1
openclaw sandbox explain

你应该至少在输出里看到这几行:

  • runtime: sandboxed
  • mode: all
  • backend: docker
  • workspaceAccess: none

只要这些信息都出现了,就说明当前的目标已经达成:

Gateway 跑在宿主机,而 Agent 工具执行已经进入 Docker sandbox。

有些人看到 openclaw sandbox list 为空,会误以为是不是配置失败了。其实不一定。
很多时候它只是说明当前没有活跃的 sandbox runtime,或者当前实例已经结束。真正决定是否配置成功的,是 sandbox explain 里的 runtime: sandboxed


十、如果以后要处理真实文件,更稳妥的方式是什么

这部分是很多人装完以后才会真正关心的:
我以后要让 AI 动我的代码、草稿、文档,那到底怎么做更稳?

我自己的建议是,先不要一上来就开放真实工作区,而是采用一种更保守的工作流:

  1. 把目标文件手动复制进工作区
  2. 让 AI 在隔离环境里处理
  3. 你人工检查结果
  4. 再把结果复制回正式目录

这种“手动搬运”的方式,虽然没有那么自动化,但在安全上非常有价值。因为最终决定权始终还在你手里,人工确认就是最后一道防线。

换句话说,这篇文章里把 workspaceAccess 设成 none,不是为了把功能关死,而是为了先把边界立住。后面你真的需要放宽权限,再按自己的使用场景逐步调整。


十一、这条路线最容易踩的坑

最后再把这篇教程里最容易踩的坑,集中说一遍。

1. 安装脚本已经进入向导后,又手动运行 openclaw onboard

这是最常见、也最影响观感的错误。
如果安装脚本已经进入 onboarding,就不要再手动运行第二次 openclaw onboard

2. 以为 QuickStart 没弹出某个配置页,就是自己漏了

QuickStart 本来就不保证把每个参数逐项展示。
某些值直接套默认,是正常现象。

3. 把 clone 官方仓库理解成“重新安装 OpenClaw”

这里 clone 仓库,只是为了拿 sandbox 脚本。
OpenClaw 本体在安装脚本那一步就已经装好了。

4. Telegram Bot Token 加好了,就以为已经能直接聊天

你还需要完成 pairing。
所以 Telegram 这条线真正完整的顺序是:填 Token、私聊机器人、拿到 8 位码、批准 pairing、再 /new

5. sandbox list 为空,就误判成配置失败

真正应该看的,是:

1
openclaw sandbox explain

只要这里显示 runtime: sandboxed,就说明 sandbox 已经生效。


结语

如果你想要一条真正适合写成博客、也适合录成视频,而且不容易把自己绕进去的 OpenClaw 安装路线,那么这篇文章给出的顺序就是我最后留下来的版本:

先确认 Docker 正常;
再用安装脚本安装 OpenClaw,并顺着 onboarding 一次走到底;
Telegram 直接在 onboarding 里接入;
向导结束后,不再返回向导;
最后再单独构建并开启 Docker sandbox。

这样做的最大价值,不只是“能装上”,而是你会非常清楚:

  • 哪一部分是宿主机
  • 哪一部分是沙箱
  • 哪一部分是真正的安全边界

如果你只想把 OpenClaw 跑起来,有很多更随意的做法。
但如果你既想把它装好,又想把逻辑讲清楚,这条顺序会比你想象中更重要。