1. OpenClaw 小龙虾从零安装到 gateway 跑通,到底卡在哪
OpenClaw 小龙虾是一个本地优先的 AI Agent 运行框架,你可以把它理解成一个「住在你电脑里的智能助手调度中心」:它负责把模型能力、工具调用、技能插件和 Web 控制台串起来,而 gateway 就是这套体系对外提供服务的入口。适合谁?适合想在本地跑通 Agent、又不想被各家模型 Key 分散管理折腾的开发者,尤其是做自动化运维、代码辅助、日常任务编排的人。
但真正动手时,问题往往不在「OpenClaw 是什么」,而在安装链路太长:Node.js 版本不对、pnpm 没装、git clone 卡住、依赖装完构建失败、onboard 初始化选错、gateway 起来了却请求不通。我见过太多人卡在pnpm build或者 gateway 启动后 401 报错,最后放弃。
这篇就按「环境准备 → 源码拉取 → 依赖构建 → 初始化 → gateway 配置 → 连通性验证 → 排错」的完整链路走一遍,重点解决一个核心问题:用 TaoToken 统一 Key 打通 gateway 配置,让你不用在多个供应商之间来回切换,一个 Key 就能把模型通道接上。
TaoToken 在这里的角色是「统一 API 通道」:它提供兼容主流协议的统一入口,你拿到一个 Key,配好 Base URL 和 Model ID,OpenClaw 的 gateway 就能通过它请求模型。官网入口在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end ,API 地址是 https://taotoken.net/api ,后面配置里会反复用到。
先说清楚整体链路,避免你装到一半不知道自己在哪一步:
| 阶段 | 关键动作 | 常见卡点 |
|---|---|---|
| 环境准备 | Node.js ≥ 22、pnpm、git | 版本过低、pnpm 未全局安装 |
| 源码拉取 | git clone openclaw | 网络慢、目录选错 |
| 依赖构建 | pnpm install / ui:build / build | 依赖冲突、构建内存不足 |
| 初始化 | onboard --install-daemon | 模型供应商选择、skill 安装 |
| gateway 配置 | 配置 Base URL + Key + Model ID | Key 写错、Model ID 不匹配 |
| 连通性验证 | 发起首个请求 | 401、local proxy failed |
这张表建议你先存下来,每完成一步打个勾。下面从环境准备开始,每一步都给可复制的命令。
2. 环境准备:Node.js、pnpm、git 三件套与 TaoToken 统一 Key 前置
这一节把地基打牢。OpenClaw 官方要求 Node.js ≥ 22.x,操作系统支持 macOS / Linux / Windows(WSL2),内存至少 2GB 可用。低于这个版本,后面pnpm build大概率报语法或依赖错误。
2.1 安装 Node.js 22
Windows 用户直接去 Node.js 官网下载安装程序,选 LTS 或 Current 里 ≥ 22 的版本,双击下一步即可。macOS / Linux 用户建议用 nvm 管理版本,避免污染系统环境:
# macOS / Linux 安装 nvm 后 nvm install 22 nvm use 22 node -v装完必须验证版本,这是第一个检查点:
node -v # 期望输出:v22.x.x 或更高 npm -v如果node -v还是旧版本,说明 PATH 没切过来,重开终端或检查 nvm 的 default 设置。
2.2 全局安装 pnpm
pnpm 是 OpenClaw 的包管理器,必须全局装:
npm install -g pnpm pnpm -v实测下来,npm install -g pnpm有时会提示 npm 自身有新版本,比如11.9.0 -> 11.11.0,这个提示不影响 pnpm 使用,可以先忽略。装完pnpm -v能输出版本号就 OK。
2.3 确认 git 可用
git --version # 期望输出:git version 2.x.x没有 git 的话,Windows 去 git-scm.com 下载,macOS 用brew install git,Linux 用apt install git或yum install git。
2.4 提前准备 TaoToken 统一 Key
在动手 clone 之前,建议先把 Key 拿到手,避免装到一半再回头找。访问 https://taotoken.net/api-keys 创建 API Key,同时记下两个关键信息:
- Base URL:
https://taotoken.net/api - Model ID:在模型列表里选一个你常用的,比如 Claude 系列或 GPT 系列的对应标识
注意:Key 只在创建时完整显示一次,复制后妥善保存。后面 gateway 配置里的
apiKey字段就填它。
为什么强调「统一 Key」?因为 OpenClaw 的 gateway 支持配置多个模型供应商,如果你每个供应商都单独配 Key,管理成本很高。用 TaoToken 的统一通道,一个 Key + 一个 Base URL 就能覆盖多个模型,切换模型时只改 Model ID,不用换 Key。这对后面做 Agent 编排特别省事。
环境检查一次性跑完:
node -v && npm -v && pnpm -v && git --version四个命令都有正常输出,环境准备就算过关。任何一项缺失,先补上再往下走,否则后面报错会更难定位。
3. 拉取源码与构建:openclaw gateway 配置片段与 settings 落地
环境 OK 后进入安装主体。建议专门建一个目录放 OpenClaw,比如E:/AiOps/openclaw或~/AiOps/openclaw,避免和别的项目混在一起。
3.1 clone 源码
mkdir -p ~/AiOps && cd ~/AiOps git clone https://github.com/openclaw/openclaw.git cd openclawclone 过程中会看到Receiving objects进度,仓库比较大(20 万+ objects),网络慢的话耐心等。如果中途断了,重新执行git clone或git fetch续传。
3.2 安装依赖与构建
进入目录后按顺序执行三条命令:
pnpm install pnpm ui:build pnpm buildpnpm install装依赖,pnpm ui:build构建前端 UI 组件,pnpm build构建项目应用。这三步顺序不能乱,ui:build 依赖 install 的结果,build 又依赖前两者。
如果pnpm build报内存不足(常见于 2GB 内存机器),可以临时加大 Node 内存:
NODE_OPTIONS=--max-old-space-size=4096 pnpm buildWindows PowerShell 用:
$env:NODE_OPTIONS="--max-old-space-size=4096"; pnpm build3.3 gateway 配置文件落地
构建完成后,gateway 的配置是打通 TaoToken 的关键。OpenClaw 的配置通常落在项目目录下的配置文件中,你需要写入 Base URL、Key 和 Model ID 三件套。下面是一个可复制的 JSON 配置片段,路径按你实际项目结构放(一般在项目根目录的配置目录下):
{ "gateway": { "host": "127.0.0.1", "port": 8787 }, "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "你的ModelID", "protocol": "openai-compatible" } }, "defaultProvider": "taotoken" }如果你更习惯 TOML 风格,等价写法:
[gateway] host = "127.0.0.1" port = 8787 [providers.taotoken] baseUrl = "https://taotoken.net/api" apiKey = "sk-你的TaoTokenKey" model = "你的ModelID" protocol = "openai-compatible" defaultProvider = "taotoken"三件套对照表,配置时逐项核对:
| 配置项 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 统一 API 入口,不加 UTM |
| API Key | sk-开头 | 在 API Keys 页面创建 |
| Model ID | 模型列表里的标识 | 决定实际调用哪个模型 |
注意:Base URL 用
https://taotoken.net/api,不要带查询参数。Key 不要提交到 git 仓库,建议用环境变量注入。
如果 OpenClaw 支持环境变量覆盖,可以这样写:
export TAOTOKEN_API_KEY="sk-你的Key" export TAOTOKEN_BASE_URL="https://taotoken.net/api" export TAOTOKEN_MODEL="你的ModelID"然后在配置里引用${TAOTOKEN_API_KEY}这类占位符,避免明文写死在文件里。这一步做完,gateway 的模型通道就指向 TaoToken 了。
4. 初始化与 gateway 启动:验证首个请求成功结果
配置写好后,进入初始化和启动阶段。
4.1 运行 onboard 初始化
pnpm openclaw onboard --install-daemon过程中会有一系列交互选择:
- 是否安装 daemon:选 Yes
- 选择默认模型:初始化阶段可以先跳过,后面再配
- 按供应商选择模型:选「所有供应商」那一项
- 默认模型:选第一个默认,后期可改
- 使用的工具:选 channel,跳过
- 选择搜索供应商:按需选
- 安装 skill 技能:选 Yes,按空格勾选,回车提交
- 是否启用 goplaces:按需
- 是否启用钩子:可以先跳过,后期在页面配置
- 选择打开 Web UI:选是
初始化完成后,配置已经写入本地。
4.2 启动 gateway
源码方式启动:
pnpm openclaw gateway其他方式(后台命令行模式):
openclaw gateway启动 Web 界面:
pnpm openclaw dashboardgateway 启动后,默认监听127.0.0.1:8787(以你配置为准)。看到类似gateway listening on ...的日志,说明服务起来了。
4.3 验证首个请求
新开一个终端,用 curl 打一个请求,验证 TaoToken 通道是否通:
curl -X POST http://127.0.0.1:8787/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "你的ModelID", "messages": [{"role": "user", "content": "你好,测试连通性"}] }'如果 gateway 做了鉴权,加上本地 token 头。期望结果是返回一段 JSON,包含choices字段和模型回复内容。看到choices里有内容,说明从 gateway → TaoToken → 模型这条链路通了。
也可以直接在 Web UI 里发一条消息,观察是否正常返回。实测下来,Web UI 验证更直观,能看到完整的请求和响应。
提示:首次请求可能稍慢,因为要建立连接。如果超过 30 秒无响应,先检查 gateway 日志,再检查 Key 和 Model ID。
到这里,OpenClaw 小龙虾从安装到 gateway 可用的完整链路就跑通了。核心就是三件套配好:Base URL 指向https://taotoken.net/api,Key 用 TaoToken 创建的,Model ID 填对。
5. 常见报错排查:401、local proxy failed、reading choices 逐个击破
这一节按真实报错来。下面这些是我和身边人踩过的坑,对照日志定位。
5.1 401 Unauthorized
最常见。日志里出现401或invalid api key,基本是 Key 问题:
- Key 复制时带了空格或换行,重新复制
- Key 已失效或被删除,去 https://taotoken.net/api-keys 确认
- 配置里
apiKey字段名写错,或引用了未定义的环境变量
排查命令:
echo $TAOTOKEN_API_KEY # 确认输出和页面上的 Key 一致5.2 local proxy failed
gateway 启动时报local proxy failed或connect ECONNREFUSED,通常是端口被占用或 host 配置不对:
# 检查端口占用 lsof -i :8787 # Windows netstat -ano | findstr 8787端口被占就改配置里的port,或杀掉占用进程。host 建议用127.0.0.1,不要用0.0.0.0除非你明确要对外暴露。
5.3 reading choices 报错
请求返回时日志出现reading 'choices'或Cannot read properties of undefined (reading 'choices'),说明响应结构不符合预期。原因通常是:
- Base URL 写错,请求打到了非兼容端点
- Model ID 不存在,供应商返回了错误结构
- 协议不匹配,配置里
protocol要设成openai-compatible
核对 Base URL 必须是https://taotoken.net/api,Model ID 从模型列表里复制,不要手打。
5.4 OAuth 相关报错
如果日志出现OAuth或token refresh failed,说明你用了需要 OAuth 的供应商配置,但没走完授权流程。用 TaoToken 统一 Key 的话,走的是 API Key 模式,不涉及 OAuth,把配置里的 provider 切到taotoken即可。
5.5 构建阶段报错
pnpm build失败常见两类:内存不足和依赖冲突。内存不足加NODE_OPTIONS,依赖冲突删掉node_modules和 lock 文件重装:
rm -rf node_modules pnpm-lock.yaml pnpm install pnpm build5.6 排错速查表
| 报错关键词 | 大概率原因 | 处理动作 |
|---|---|---|
| 401 | Key 错误/失效 | 重新创建 Key,核对配置 |
| local proxy failed | 端口占用/host 错 | 换端口,host 用 127.0.0.1 |
| reading choices | Base URL/Model ID 错 | 核对三件套 |
| OAuth | 供应商模式不对 | 切到 taotoken provider |
| 构建失败 | 内存/依赖 | 加内存参数,重装依赖 |
排错的核心思路:先看 gateway 日志定位是哪一段(本地服务、通道、模型),再对照三件套逐项核对。大部分问题都出在 Key、Base URL、Model ID 这三项上。
6. 把 gateway 用起来:TaoToken 统一 Key 的长期价值与接入入口
跑通首个请求只是开始。真正让 OpenClaw 小龙虾发挥价值的,是把它当成日常 Agent 调度中心用起来,而 TaoToken 统一 Key 在这里的优势会越来越明显。
第一,模型切换成本低。你后面想从 Claude 换到别的模型,只改配置里的 Model ID,Key 和 Base URL 不动。不用去每个供应商后台重新申请、重新配。
第二,多 Agent 场景统一管理。OpenClaw 支持 skill、钩子、channel 这些扩展,多个 Agent 共用一套通道,Key 只维护一份,审计和额度管理都集中。
第三,接入路径清晰。gateway 配置三件套(Base URL + Key + Model ID)是标准化的,换机器、换环境,复制配置改 Key 就能迁移。
如果你还没创建 Key,去 https://taotoken.net/api-keys 建一个;配置细节和协议说明看接入文档 https://taotoken.net/doc ;想先在网页里验证模型效果,用模型对话 https://taotoken.net/models 试几条;如果是长期做编码或 Agent 编排,Coding Plan https://taotoken.net/coding-plan 更适合持续使用。
回到操作层面,最后再确认一遍 gateway 配置的三件套有没有落对:
{ "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "你的ModelID" } } }配好之后重启 gateway,再发一次验证请求,看到choices返回内容,这条链路就稳定了。后面你要做的,就是在这个基础上加 skill、配钩子、接更多工具,把 OpenClaw 变成真正顺手的本地 Agent 平台。