
1. 闲置 Mac 跑 OpenClaw卡点其实不在安装OpenClaw 是一个能在本地执行 Shell 命令、读写文件、控制浏览器的 AI Agent你可以把它理解成「住在你电脑里的自动化助手」——一句话让它整理下载目录、批量重命名文件、跑一段脚本它都能接。它适合谁手里有台吃灰的旧 Mac、想折腾本地 AI 工具、又不想把数据全丢云端的开发者。我这次用的就是一台 2017 款 MacBook Air8G 内存macOS 12跑起来虽然不飞快但完全够用。真正让人卡住的往往不是git clone那一步而是三件事一是环境版本对不上Docker 装完启动就报错二是模型通道没配好UI 打开了却一直转圈三是config.toml/openclaw.json里的 token 和 gateway 对不上报unauthorized: gateway token missing。这篇就按「环境准备 → TaoToken 统一 Key 接入 → config 骨架 → 连通性验证 → 排错」的顺序走一遍重点给你一份能直接抄的配置骨架让你在本地复现一个可运行的接入配置。先说清楚OpenClaw 本身不绑定任何一家模型它通过 provider 配置去调外部 API。所以「统一 Key」这件事就很关键——你不想每换一个模型就改一遍配置文件。TaoToken 在这里扮演的就是统一入口的角色一个 Key 走通多个模型通道配置里只改baseUrl和api字段就行。2. 环境准备docker、git、nodejs 三件套旧 Mac 最容易翻车的就是版本。先确认你的 macOS 版本sw_vers看一眼低于 11 的话 Docker Desktop 新版可能装不上得去翻历史 release。我实测下来macOS 12 配 Docker Desktop 4.26 是稳的。Node.js 直接去官网下.pkg安装包选 LTS 稳定版别追最新版旧机器上最新版偶尔会有兼容问题。装完node -v确认一下建议 18 或 20。Git 同理官网下.dmg装完git --version验证。Docker 装完记得在设置里把 Resources 的内存调到至少 4G不然 OpenClaw 的 gateway 容器起来就 OOM。# 验证三件套 node -v # v20.x.x git --version # git version 2.4x.x docker --version # Docker version 2x.x.x docker compose version # v2.x.x这里有个坑旧 Mac 上 Docker Desktop 默认用的是 x86 镜像如果你机器是 Intel 芯片没问题Apple Silicon 的话注意拉镜像时选对架构。另外docker compose和老的docker-compose是两回事OpenClaw 的脚本用的是前者确认你的 Docker Desktop 版本自带 compose v2。环境齐了之后把仓库拉下来git clone https://github.com/openclaw/openclaw cd openclaw ./docker-setup.sh脚本跑完会进交互式配置选 QuickStart模型那一步先随便选一个后面我们会用 TaoToken 覆盖掉聊天工具那步直接跳过。这时候 gateway 容器已经起来了但 UI 大概率会报disconnected (1008): unauthorized别慌这是 token 没同步下一节解决。3. TaoToken 统一 Key 接入与 config 骨架OpenClaw 的配置核心是openclaw.json有些版本叫config.toml字段逻辑一致。它的结构分几块gateway管本地网关和鉴权models.providers管模型通道auth.profiles管凭证引用。我们要做的就是把 provider 的baseUrl指向 TaoToken 的 API 通道把 Key 通过环境变量或配置注入。先去 TaoToken 控制台拿 Key。打开 https://taotoken.net/api-keys 登录后创建一个 API Key复制出来。这个 Key 就是你后面所有模型调用的统一凭证。如果你还没账号从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 进去注册流程很快。拿到 Key 之后先别急着写死进配置文件用环境变量更安全。在openclaw目录下建一个.env# .env TAOTOKEN_API_KEYsk-你的TaoToken密钥 GATEWAY_TOKEN自己生成一串32位随机字符串GATEWAY_TOKEN用openssl rand -hex 16生成就行这是本地网关的鉴权 token跟模型 Key 是两码事别搞混。然后是配置骨架。下面这份openclaw.json是我实测能跑通的版本关键字段我都标了注释你替换掉 Key 和 token 就能用{ gateway: { mode: local, auth: { mode: token, token: 你的GATEWAY_TOKEN }, controlUi: { dangerouslyDisableDeviceAuth: true }, port: 18789, bind: loopback }, models: { mode: merge, providers: { taotoken: { baseUrl: https://taotoken.net/api, api: anthropic-messages, apiKey: 你的TAOTOKEN_API_KEY, models: [ { id: claude-sonnet-4-5, name: Claude Sonnet 4.5, reasoning: false, input: [text], contextWindow: 200000, maxTokens: 8192 } ] } } }, agents: { defaults: { maxConcurrent: 4, workspace: /home/node/.openclaw/workspace, model: { primary: taotoken/claude-sonnet-4-5 } } }, auth: { profiles: { taotoken:default: { provider: taotoken, mode: api_key } } } }几个关键点解释一下。baseUrl填https://taotoken.net/api注意不要带 UTM 参数那是给网页用的。api字段填anthropic-messages因为 TaoToken 的通道兼容 Anthropic 消息格式这样 OpenClaw 发出去的请求结构不用改。models[].id是你实际要调的模型标识具体支持哪些模型去 https://taotoken.net/doc 查文档别自己瞎猜。配置写好后把它拷进容器docker cp ./openclaw.json openclaw-openclaw-gateway-1:/home/node/.openclaw/openclaw.json docker compose restart openclaw-gateway容器名可能因版本不同略有差异用docker ps看一眼实际的 gateway 容器名再替换。4. 连通性验证发一条消息看回复配置生效后访问 UIhttp://127.0.0.1:18789/?token你的GATEWAY_TOKEN能进页面说明 gateway 鉴权过了。如果还是unauthorized检查gateway.auth.token和 URL 里的 token 是否完全一致一个字符都不能差。进页面后在对话框发一句「你好帮我列一下当前工作目录的文件」。如果模型有回复说明整条链路通了UI → gateway → TaoToken 通道 → 模型 → 返回。这一步成功你的统一 Key 接入就算完成了。想更直接地验证 API 通道本身可以绕过 UI 用 curl 打一发curl https://taotoken.net/api/v1/messages \ -H x-api-key: 你的TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-5, max_tokens: 100, messages: [{role: user, content: 说一句你好}] }返回里有content字段和文本就说明 Key 和通道都没问题。这一步能帮你快速区分「是 OpenClaw 配置问题」还是「是 Key/通道问题」——如果 curl 通但 UI 不通那问题一定在 gateway 配置如果 curl 也不通先检查 Key 是否有效、额度是否够。5. 本篇常见错排查报错一unauthorized: gateway token missing这是最高频的。原因是openclaw.json里的gateway.auth.token和 UI 访问时带的 token 不一致。解决两边用同一个值改完docker compose restart openclaw-gateway。注意controlUi.dangerouslyDisableDeviceAuth设为true能跳过设备鉴权本地用方便但别暴露到公网。报错二模型调用返回 401 或 403大概率是 TaoToken 的 Key 没填对或者baseUrl写成了带 UTM 的网页地址。记住 API 地址是https://taotoken.net/api不带任何参数。另外确认api字段是anthropic-messages填错格式服务端会拒。报错三容器起来就退出日志显示 OOM旧 Mac 内存小Docker 默认分配不够。打开 Docker Desktop → Settings → Resources把 Memory 调到 4G 以上Apply Restart。报错四docker compose命令找不到你的 Docker Desktop 版本太老不带 compose v2。升级 Docker Desktop或者单独装 compose 插件。别用老的docker-compose带横杠OpenClaw 脚本不认。报错五UI 能开但发消息一直转圈先看 gateway 容器日志docker logs openclaw-openclaw-gateway-1如果卡在请求模型那一步多半是网络出口问题或模型 id 写错。用上面那条 curl 单独验证通道能快速定位。6. 后续怎么走按你的场景选入口配置跑通之后接下来看你主要拿 OpenClaw 干什么。如果只是想让本地 Agent 能稳定调模型、验证不同模型的效果可以直接在模型对话里试 https://taotoken.net/model-chat 换模型不用改配置对比起来快。如果你打算长期用它跑编码任务、接 Agent 工作流那 Coding Plan 更划算https://taotoken.net/coding-plan 里有额度说明适合高频调用。日常管理 Key、看用量、加额度都在控制台 https://taotoken.net/console 里操作。有一点提醒OpenClaw 的 gateway 默认 bind 在loopback只允许本机访问这是对的别为了图方便改成0.0.0.0暴露出去。本地 Agent 能执行 Shell 命令权限很大安全边界要守住。旧 Mac 跑起来风扇会响属正常把maxConcurrent调小一点能缓解。整套流程走下来最花时间的其实是环境版本对齐配置本身十分钟就能搞定。