1. 先搞清楚 OpenClaw 到底跑起来需要什么
OpenClaw 是一个开源的 AI 智能体工具,你可以把它理解成一个“能自己动手干活的助手”:整理本地文件、抓取网页内容、按计划发邮件这类重复劳动,都能交给它。它由四个核心模块组成——Gateway 网关负责连接各模块,Agent 是执行单元,Skills 是技能库,Memory 负责记住你的使用习惯。这套东西全部跑在你自己的机器上,所以第一步就是把运行环境搭对。
很多人卡在“环境搭建”这一步,不是因为步骤多,而是因为版本不对、依赖没装全、路径切错。这篇就按“从零到本地实例跑通”的顺序走一遍,覆盖 Node.js、Git 的安装与校验,给出可复制的config.toml骨架,再把 TaoToken 的统一 Key 接进去,最后用一条请求验证整条链路是否通。适合没接触过开源工具、看不懂复杂代码的新手,跟着做就行。
需要提前说明的是:OpenClaw 本身是本地服务,它要调用大模型能力时,需要一个稳定的 API 通道。TaoToken 在这里扮演的就是“统一 Key + 统一入口”的角色——你不用在多个模型供应商之间来回切换配置,一个 Key 就能把对话、编码等能力接进 OpenClaw。官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end ,API 入口是 https://taotoken.net/api ,后面配置里会用到。
2. 部署前的三件套:Node.js、Git、编辑器
2.1 Node.js 装 18.x,别追新
OpenClaw 基于 Node.js 运行,版本选不对会直接报错。实测下来 18.x 最稳,比如 18.17.0,别装太高或太低。去 Node.js 官网下载对应系统的安装包:Windows 选.msi,Mac 选.pkg,认准 18.x 稳定版。
安装过程一路 Next,唯一要留意的是第四步——确认勾选了 “Add to PATH”(添加到环境变量)。如果这一步漏了,后面输入node -v会提示“不是内部或外部命令”。装完打开终端验证:
# 验证 Node.js 版本 node -v # 验证 npm 版本(Node.js 自带) npm -v正常会输出v18.17.0和对应的 npm 版本号(比如 9.6.7)。如果报“不是内部或外部命令”,重新运行安装包,在组件选择那一步手动勾上 “Add to PATH”,重装一次即可。
2.2 Git 用来克隆源码
OpenClaw 是开源项目,源码要通过 Git 拉到本地。去 Git 官网下载对应系统版本,安装时有个关键选项:选择 “Use Git from Git Bash only”,其余步骤全部 Next。装完验证:
# 验证 Git 版本 git --version输出类似git version 2.42.0就说明成功了。
2.3 VS Code 可选但强烈建议装
后面要改config.toml,用系统记事本也能改,但 VS Code 有语法高亮和缩进提示,不容易把 TOML 格式写错。装完后在左侧插件栏搜 “Node.js” 装上,新建一个test.js写一行console.log("OpenClaw 环境准备完成!"),能看到语法高亮就说明插件生效了。
3. 克隆源码并安装依赖
前置工具齐了,进入部署环节。打开终端,逐条执行,别跳步:
# 克隆 OpenClaw 源码到本地 git clone https://github.com/openclaw/openclaw.git # 进入项目根目录(后续操作都在这个目录下) cd openclaw # 安装项目依赖,npm 会自动读取 package.json npm installnpm install大概跑 2 到 5 分钟,取决于网络。终端出现added xxx packages就说明依赖装完了。这一步最常见的坑是网络抖动导致某个包下载失败,如果中途报错,先清缓存再重装:
# 清除 npm 缓存 npm cache clean --force # 强制重新安装依赖 npm install --force依赖装完后,先别急着npm start,因为默认配置还没接上模型通道,直接启动虽然能起来,但 Agent 调用模型时会失败。下一步先把config.toml配好。
4. 可复制的 config.toml 骨架与 TaoToken 接入
在项目根目录下找到(或新建)config.toml。OpenClaw 的配置分几块:Gateway 监听端口、Agent 的模型通道、Skills 目录、Memory 存储路径。下面是一份可以直接抄的骨架,重点是把base_url和api_key指向 TaoToken:
# OpenClaw 本地配置骨架 [gateway] host = "127.0.0.1" port = 3000 [agent] # 模型通道统一走 TaoToken provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "claude-3-5-sonnet" [skills] dir = "./skills" [memory] path = "./data/memory.db"几个参数说明一下。provider填openai-compatible,因为 TaoToken 的 API 兼容 OpenAI 的调用格式,OpenClaw 里凡是支持自定义base_url的通道都能直接对接。base_url填https://taotoken.net/api,注意这里不带任何多余路径。api_key就是你在 TaoToken 控制台生成的密钥,后面会讲怎么拿。model按你实际要用的模型名填,改这一行就能切换模型,不用动其他配置。
注意:
api_key不要提交到 Git 仓库,也不要在截图里露出完整密钥。建议本地用环境变量注入,或者把config.toml加进.gitignore。
4.1 拿 TaoToken 统一 Key 的步骤
打开 https://taotoken.net/api-keys ,登录后创建一个新的 API Key,复制出来。这个 Key 就是上面配置里的sk-...。TaoToken 的好处是一个 Key 覆盖多种模型能力,OpenClaw 里切换模型只需要改model字段,不用重新申请别家的密钥。
如果你后面要长期跑编码类 Agent 任务,可以了解下 Coding Plan( https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ),它针对高频编码场景做了额度优化。只是想先验证模型通不通,用模型对话页面( https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite )手动发一条消息就能确认 Key 是否有效。
5. 启动验证:一条请求确认整条链路
配置写好后,回到终端启动:
# 启动 OpenClaw,默认端口 3000 npm start终端出现OpenClaw started successfully就说明本地实例起来了。打开浏览器访问http://localhost:3000,能看到操作界面。
但“服务起来”不等于“模型通道通”。真正要验证的是 Agent 能不能通过 TaoToken 拿到模型回复。最直接的办法是用 curl 打一条请求,模拟 OpenClaw 内部的调用:
# 验证 TaoToken 通道是否可用 curl https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的TaoToken密钥" \ -d '{ "model": "claude-3-5-sonnet", "messages": [{"role": "user", "content": "回复:通道正常"}] }'如果返回的 JSON 里choices[0].message.content有内容,说明 Key 和通道都没问题。这时候再回到 OpenClaw 界面,让 Agent 执行一个简单任务(比如“列出当前目录文件”),能正常返回结果,就证明 Gateway、Agent、TaoToken 通道三者串通了。
如果启动时报错,先看日志:
# 查看 OpenClaw 启动日志 npm run start:log日志里通常会直接指出是端口占用、配置格式错误还是依赖缺失。
6. 本篇常见报错排查
报错一:node 不是内部或外部命令Node.js 安装时没勾 “Add to PATH”。重跑安装包,在组件选择页手动勾上,重装后重开终端。
报错二:npm install卡住或报ETIMEDOUT网络问题导致包下载失败。先npm cache clean --force,再npm install --force。如果反复失败,检查是否配了不可用的 registry。
报错三:启动后访问localhost:3000打不开端口被占用。改config.toml里[gateway]的port为 3001 或其他空闲端口,重启服务。
报错四:Agent 调用模型返回 401api_key填错或过期。去 https://taotoken.net/api-keys 重新生成一个,替换配置后重启。注意 Key 前后不要有多余空格。
报错五:config.toml解析失败TOML 对格式敏感,字符串必须用双引号,布尔值小写。用 VS Code 打开,看有没有红色波浪线提示。常见错误是把base_url写成了带引号但引号不配对。
报错六:模型名不存在model字段填的模型名和 TaoToken 支持的列表对不上。去模型对话页面确认可用模型名,再回填到配置里。
排查顺序建议:先确认 Node.js 和 Git 版本,再确认依赖装全,然后确认config.toml格式,最后用 curl 单独验证 TaoToken 通道。这样能把“环境问题”和“通道问题”分开定位,不用一报错就从头重装。
接入相关的完整参数说明可以对照接入文档( https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ),里面有各语言 SDK 的调用示例。如果你用的是 Claude Code 这类编码工具,Anthropic 兼容通道的配置方式在 ClaudeCodeAnthropic 页面( https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude_code&utm_campaign=rewrite )有单独说明,和 OpenClaw 的openai-compatible通道是两套配法,别混用。
环境搭好、通道验证通过之后,下一篇就可以在这个本地实例上装技能、接多渠道了。先把这一篇的每一步跑通,后面加功能才不会因为基础环境不稳而反复返工。