Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程

前言

最近很火的 OpenClaw,简单来说,就是一个能“上手操作”的人工智能助手。

你可以把它理解为:

  • 一个装在你电脑里的、能帮你干活的“数字员工”。它能按你的指示操作电脑软件、点击按钮、填写表格。
  • 或者,一个能和你对话、还能帮你上网查资料、处理网页信息的“超级浏览器搭档”。你告诉它想做什么,它就能在浏览器里帮你完成。

它就像一个结合了本地自动化和远程智能对话的实用工具,让电脑和网络操作变得更简单。

OpenClaw 就像一个安装在你自己电脑里的“智能助手”。

  • 能读取和操作你电脑里的文件。
  • 能通过微信、QQ等聊天软件接收你的远程指令,然后在你的电脑上执行任务。

重要提醒:它的权限和你本人完全一样。

  • 好处:几乎能帮你做所有你手动能做的事情,非常强大。
  • 风险:如果指令不当,它也可能不小心删除或弄乱你的文件。

安全体验建议:

如果你只是想试试看,强烈推荐在 Docker(一种“软件集装箱”)环境里安装它。这样就像在一个安全的“沙箱”里运行,即使出错也不会影响到你电脑本身的文件。

安装Docker Desktop

如果使用Docker 部署的话,那么我们必须要有Docker 环境,我们可以前往(https://www.docker.com/)进行下载并安装

图片[1]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

安装完毕后,我们可以在终端中输入下方命令进行验证Docker 的版本并查阅是否安装成功

# 验证dokcer版本 
docker -v 
docker compose

编译Docker 镜像

我们需要先把OpenClaw 的代码clone到本地(https://github.com/openclaw/openclaw),直接执行下方命令到终端后按回车即可

git clone https://github.com/openclaw/openclaw.git

等待Clone 完成,如果因网络环境问题导致Clone失败的话,那么建议开启自己的科学上网

图片[2]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

如果终端输出下方错误的话,证明自己的网络环境导致的

ownstupid@Mac-mini ~ % git clone https://github.com/openclaw/openclaw.git
Cloning into 'openclaw'...
remote: Enumerating objects: 193624, done.
error: RPC failed; curl 18 Transferred a partial file 4.68 MiB/s
error: 4991 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
ownstupid@Mac-mini ~ % 

如果Clone成功的话,我们输入下方命令进入项目目录。前提你需要知道 Clone 的项目路径在哪

cd /openclaw
图片[3]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

进入到项目根目录,执行下方命令:

./docker-setup.sh

如果执行后,出现下方报错的话,说明依旧是网络环境导致的,更换网络环境即可解决

图片[4]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

正常的情况下,你会看到如下图所示跑码信息

图片[5]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾
图片[6]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾
图片[7]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

配置OpenClaw

镜像编译完成后,你会看到下方图片一样的界面,下方图中界面就是OpenClaw配置流程界面。

下面它会告知并要求您在继续使用前,明确确认并理解OpenClaw 的核心安全模型和潜在风险,

  • 选择 ● Yes:表示您已阅读、理解上述所有风险和安全建议,并确认您将根据实际情况(个人使用或采取额外安全措施的多用户使用)来负责地配置和运行 OpenClaw。选择此项后,安装或配置流程将继续。
  • 选择 ○ No:表示您不同意或不完全理解上述内容,流程将会中止。

简单来讲就是风险告知,我们直接使用键盘的方向键进行选择Yes即可

图片[5]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里我们选择完Yes以后,会出现Onboarding mode,这里我们选择QuickStart即可

图片[9]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

继续下一个配置项Model/auth provider,就是让我们选择一个模型提供商,例如OpenAI、Kimi、Qwen 等平台的模型,这个根据自己的情况而定进行选择,这里我选择的是Custom Provider(自定义提供商)

图片[10]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

我这边使用的是硅基流动,因为硅基流动有赠送额度。所以这里我选择了自定义提供商,如果各位小伙伴们想和我一样使用免费的硅基流动的话,可以根据下面教程进行自定义。如果你还没有硅基流动的账号的话,那么赶紧注册一个吧,现在通过这个地址进行注册送 2000 万token。点击前往硅基流动平台

这里我们把硅基流动的API地址粘贴到API Base URL 的下面,硅基流动API地址:https://api.siliconflow.cn/v1

图片[11]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里我们选择Paste API key now 粘贴API密钥(直接存储在OpenClaw配置中)直接按回车键并填入自己的硅基流动API密钥

图片[12]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

粘贴好密钥后,直接按回车键,继续下一个配置。

这里来到了Endpoint compatibility,这里我们选择OpenAI-compatible (Uses /chat/completions)

因为在硅基流动官方文档(《OpenClaw – SiliconFlow》)中,第一步的准备信息里明确指出,配置时需要使用的“Base URL (接口地址)”是 https://api.siliconflow.cn/v1。更重要的是,文档在配置示例的 JSON 代码块中,”api”字段的值被明确设置为 “openai-completions”。这表明硅基流动提供的 API 是完全兼容 OpenAI 的 /chat/completions接口规范的。

图片[13]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

选择OpenAI-compatible (Uses /chat/completions)并按回车后,会提示我们输入模型名称,我们需要从硅基流动中【模型广场】中进行获取

图片[14]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

点击你想要的模型,然后按照下方图中所示,进行复制名称即可

图片[15]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

我这里选择的是【deepseek-ai/DeepSeek-V3】模型,然后按回车键后提示我们【Verification successful.】对这个 Model ID​ (deepseek-ai/DeepSeek-V3) 进行了连接测试,并且验证成功。这说明账户、密钥、地址和模型 ID 完全正确,配置已生效。

图片[16]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾
图片[17]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

然后是Endpoint ID 这是 OpenClaw 内部用来标识您所配置的这个完整模型服务端点名称,您可以直接按回车键以【custom-api-siliconflow-cn】为默认名称,也可以自己更换成想要的名称,例如deepseek-v3或者其它的都可以。然后按回车键确认

图片[18]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

最后一个配置【Model alias (optional)】意思为模型别名(可选)。它提示您可以为这个模型设置一个更简短、更易输入的别名。您可以直接按回车键跳过,不设置别名。系统将仅使用 Endpoint ID(即 deepseek-v3)来引用此模型。您可以输入一个您喜欢的、更短的名称。例如,您可以输入 ds或 v3,之后在聊天中就可以通过 /model ds或 /model v3来快速切换到此模型,这比输入完整的 deepseek-v3更方便。

图片[19]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

接下来就是让我们配置可以远程下方命令的聊天软件,我这里选择了暂时跳过,后面可以进行手动添加

列表中的选项是 OpenClaw 支持的各种聊天平台。您可以根据个人使用习惯和便捷性来选择。

  • 推荐给新手的选项(界面已标注)● Telegram (Bot API) (recommended · newcomer-friendly)电报。这是官方推荐给新手的选项,因为其 Bot 创建和配置流程相对简单、直观。如果您有 Telegram 账号,这通常是最快的上手方式。
  • 其他常见选项○ WhatsApp (QR link)WhatsApp。通过扫描二维码连接,适合常用 WhatsApp 的用户。 ○ Discord (Bot API)Discord。适合游戏社区或开发者社区的用户。 ○ Feishu/Lark (飞书)飞书。适合国内办公环境。 ○ Slack (Socket Mode)Slack。适合海外团队协作。
  • 特殊选项
  • ○ Skip for now暂时跳过。如果您暂时不想配置任何聊天渠道,或者想稍后通过手动编辑配置文件的方式来添加,可以选择此项。选择后,您将完成 QuickStart,但暂时无法通过聊天软件与 OpenClaw 交互。
图片[20]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里我们直接选择Yes即可

图片[21]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

接下来进入OpenClaw 技能依赖安装配置界面。这个界面的核心功能是:让您选择并安装那些“功能可用但系统缺少依赖”的技能所必需的软件包。我们可以选择Skip for now跳过,这里我选择跳过,后期我们可以通过 openclaw configure再来安装

这里我们需要使用键盘的【上下箭头键】进行选择skip for now并按【空格】进行选择

图片[22]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里我们直接选择 No然后回车键即可

图片[23]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里又让我是否需要为nano-banana-pro这个技能设置GEMINI_API_KEY这个环境变量。它是一个调用 Google Gemini 系列 AI 模型(如 Gemini Pro, Gemini Flash 等)的功能。这里直接选择 No回车即可

图片[24]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

Set NOTION_API_KEY for notion? 这是 OpenClaw 在配置技能依赖过程中,对特定技能所需的 API 密钥(API Key)的又一项询问。Notion 是一款流行的笔记、知识库和项目管理工具。这个技能一旦配置并授权,很可能会允许 OpenClaw AI 助手读取您的 Notion 页面、数据库,或向其中写入内容,实现自动化管理。如果您选择Yes 的话,那么您需要拥有一个有效的Notion API密钥。不需要的话,这里直接选择 No回车即可

图片[25]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里询问我们是否添加OpenAI图像生成的API密钥,简单来说这是一个与 OpenAI 图像生成​ 相关的功能。它很可能是允许 OpenClaw 通过调用 OpenAI 的图像生成 API(例如 DALL·E 系列模型)来创建或编辑图像的技能。不需要的话直接选择 No然后回车即可

图片[26]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这一步依旧选择 No然后回车即可,也可以按需进行添加相关API密钥

图片[27]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里是在询问您是否要启用“钩子”(Hooks)功能,这里我们可以选择Skip for now:暂时跳过。如果您现在不想启用任何 Hooks,可以选择此项并继续配置流程。您可以稍后随时使用 openclaw hooks enable命令来启用

选择建议

  • 对于初次使用者,建议至少选中 session-memory​ 和 command-logger。这两个是非常实用且无副作用的钩子。session-memory能帮您自动保存对话记忆,command-logger能帮您追踪操作记录。
图片[28]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

这里我们就配置完成,完成后会自动创建一个 Docker 容器。同时你会看到如下结果:

图片[29]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

此时我们打开Docker桌面版,我们会看到这个容器的状态。我们也可以通过右侧的按钮进行停止或者运行OpenClaw容器

图片[30]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

访问OpenClaw并配置Token

接下来我们可以通过浏览器访问以下地址来查看我们的OpenClaw

http://localhost:18789/
# 或者 
http://127.0.0.1:18789/

但是访问后,你大概率会碰到下面图中的错误,大概的意思是“未授权:缺少网关令牌(打开仪表板URL并在控制设置中粘贴令牌)”没关系,我们来解决这个错误。

图片[31]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾
  1. 首先我们在终端访问/.openclaw 目录,因为是隐藏文件我们需要让访达显示隐藏文件,如何显示隐藏文件,下面我提供两种方法,大家按需选择:
  • Shift+ Command+ .(点号键)

这是一个“开关”命令。在任一打开的“访达”窗口中按下此快捷键,第一次按下会显示所有隐藏的文件和文件夹(名称前会有点 .前缀,如您提到的 .openclaw)。再次按下会隐藏它们,恢复为不显示状态。

  1. 在“访达”中查看指定隐藏文件夹的路径:

如果您想直接定位到您提到的 ~/.openclaw文件夹,可以使用以下方法:

  • 在“访达”中,按下 Shift+ Command+ G​ 快捷键,会弹出“前往文件夹”的输入框。
  • 在弹出的窗口中,直接输入您想要前往的路径,例如:
    • 输入 ~/.openclaw并回车,即可直接进入这个隐藏文件夹。
    • 或者输入 /Users/您的用户名/.openclaw并回车。
图片[32]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

我们把下方中的token 进行复制

图片[33]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

然后我们在OpenClaw界面中点击【概览】把刚才我们复制的token粘贴到网关令牌中

图片[34]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

然后根据下面json代码进行增加和修改才可以。下方注释的部分是需要添加的,否则还是会报错。如果有想了解细节的朋友,可以参考下面这个issue:https://github.com/openclaw/openclaw/issues/6959

{
  "meta": {
    "lastTouchedVersion": "2026.2.27",
    "lastTouchedAt": "2026-02-28T12:37:45.546Z"
  },
  "wizard": {
    "lastRunAt": "2026-02-28T12:37:24.323Z",
    "lastRunVersion": "2026.2.27",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "models": {
    "mode": "merge",
    "providers": {
      "deepseek-v3": {
        "baseUrl": "https://api.siliconflow.cn/v1",
        "apiKey": "API密钥,更换成自己的。没有的话这个值就不需要管",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-ai/DeepSeek-V3",
            "name": "deepseek-ai/DeepSeek-V3 (Custom Provider)",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 4096,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "deepseek-v3/deepseek-ai/DeepSeek-V3"
      },
      "models": {
        "deepseek-v3/deepseek-ai/DeepSeek-V3": {
          "alias": "deepseek"
        }
      },
      "workspace": "/home/node/.openclaw/workspace",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "command-logger": {
          "enabled": true
        },
        "session-memory": {
          "enabled": true
        }
      }
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "controlUi": {
        #    需要添加下面三个值 记得把注释删除掉
        "enabled": true,
        "allowInsecureAuth": true,
        "allowedOrigins": ["http://127.0.0.1:18789"]
    },
    "auth": {
      "mode": "token",
      "token": "自己的token不需要修改"
    },
    #    添加trustedProxies 记得把注释删除掉
    "trustedProxies": ["192.168.65.0/24", "172.17.0.0/16"],
    #    添加trustedProxies结束 记得把注释删除掉
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "calendar.add",
        "contacts.add",
        "reminders.add"
      ]
    }
  }
}

运气好的话,访问基本没有报错了,就如下方一样

图片[35]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

但是运气不好的话,那么点击连接后还是会出现错误。那么接下来,我就讲讲我自己遇到的坑!

个人遇到的问题

很不幸,您能看到这个内容。我相信您遇到了和预期结果不一样的问题。那么接下来我就将自己遇到的问题分享给大家并提供解决方案。当然,我遇到的问题可能不适合所有人,大家可以自行参考。如果无法帮助到您,您完全可以利用 AI帮您找出问题所在。

修改配置后依旧出现网关错误

执行以下命令,确认容器内 openclaw.json 中的 token 与你设置的一致:

docker exec openclaw-openclaw-gateway-1 cat /home/node/.openclaw/openclaw.json | grep -A 2 '"auth"'

你应该看到类似输出,确保 token 字符串完全相同(注意末尾是否有换行或空格):

  "auth": {
    "mode": "token",
    #    token已被修改,自行查阅自己的token 即可,无需在意是否一致
    "token": "5d0a45a8ea0bc5b7c5be95d9456a" 
  },

由于 CLI 默认可能不携带正确的 token,需要显式指定:

docker exec openclaw-openclaw-gateway-1 openclaw devices list --token "5d0a45a8ea0bc514e95d9456a"

我这里显示有两个个未批准的配对请求。

图片[36]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

然后依次在终端中执行下面命令,需要为每个requestid执行批准命令,下面根据自己的requestId和token 进行修改然后执行。有几个就执行几个即可

# 批准第一个请求
# 把0a052844-5703-4e56-aade-04a6a8c56a62更换成自己的Request
docker exec openclaw-openclaw-gateway-1 openclaw devices approve 0a052844-5703-4e56-aade-04a6a8c56a62 --token "换成自己的token"

# 批准第二个请求
# 把e9cbb411-2a9b-45c4-8f62-641f8566d79f更换自己的Request
docker exec openclaw-openclaw-gateway-1 openclaw devices approve e9cbb411-2a9b-45c4-8f62-641f8566d79f --token "换成自己的token"
# 有几个就执行几个即可

执行完上述操作后,我们再次执行下方命令进行验证是否都已变为Paired

docker exec openclaw-openclaw-gateway-1 openclaw devices list --token "更改成自己的token"
图片[37]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

然后重新在浏览器中使用带token 的完整URL进行打开:

http://127.0.0.1:18789/#token=使用自己的token

这个时候运气好的话,你会看到正常的状态。

图片[35]-Mac 电脑使用 Docker 部署 OpenClaw 保姆级教程-爱玩爱折腾

上面就是我自己遇到的坑,我也不是什么大佬,遇到问题只能丢给 AI 后自己再逐步进行解决。如果上述教程能够帮助到您,那么再好不过了。如未能解决您的问题,那么很抱歉,您需要自行解决啦。或者可以留下联系方式,我这边有空的话可以帮助您看一下。

本篇教程就到此结束了,码字真的不容易啊~~

© 版权声明
THE END
喜欢就支持一下吧
点赞494 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容