☰
OpenClaw 完全指南:从安装到飞书接入再到省 Token 秘笈(TaoToken 配置篇)
2026/9/25 16:28:44 网站建设 项目流程

1. 先把 OpenClaw 跑起来:安装、向导与本地 WebUI

OpenClaw 是一个可以自托管的 AI Agent 网关,它把模型调用、通道接入(飞书、WebUI 等)、技能插件和记忆管理收拢到一套本地服务里。你可以在自己的机器上跑一个常驻进程,通过浏览器或飞书机器人和它对话,模型走哪家、Token 怎么花,全由配置文件说了算。它适合两类人:一是想把 AI 助手接进团队 IM 又不想把数据全交出去的人,二是想量化控制 Token 成本、愿意折腾配置的开发者。

这一篇聚焦一条完整链路:从零安装 OpenClaw,接入飞书机器人,再把模型调用统一收敛到 TaoToken 的 Key/API 通道上,最后用配置和监控动作把 Token 消耗压下来。全程给可复制的配置片段,不玩虚的。

环境准备这块,Linux(Ubuntu 20.04+ / Debian 11+)或 macOS 都行,Node.js 要 v18 以上,部分功能依赖 Python 3.10+。先把基础依赖装好:

# Node.js 22.x curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs # Python 与编译工具 sudo apt update && sudo apt install -y build-essential python3

装完确认一下版本,node -v应该输出 v22 开头。接着安装 OpenClaw 本体:

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

安装脚本跑完后,用配置向导初始化:

openclaw onboard

向导里的键盘操作要记一下:单选框用上下左右方向键,多选框用空格键勾选,确认按 Enter。单用户使用选 YES,引导模式选快速启动。模型供应商这一步先随便选一个能跑通的,后面我们会把它替换成 TaoToken 通道,所以这里不用纠结。配置飞书、搜索模型、skills 这几步都可以先跳过,最后把服务装上。

完成后启动服务,浏览器打开http://127.0.0.1:18789,看到健康状态是绿灯,就说明本地 WebUI 已经活了,可以在聊天框里发一句话试试。这一步跑通,后面接飞书和换通道才有意义。

2. 用 TaoToken 统一模型通道:为什么值得先做这一步

OpenClaw 默认会让你分别去各家模型平台注册、拿 Key、配 provider。问题在于:模型一多,Key 就散落在不同平台,额度、计费、限流各管各的,想统计一个月花了多少 Token 得开好几个后台。更麻烦的是,OpenClaw 的 fallback 链一旦跨供应商,配置里就会堆一大坨 provider 节点,改起来容易漏。

TaoToken 在这里扮演的是统一入口的角色。它提供兼容主流协议的统一 API 通道,你只需要一个 Key、一个 base URL,就能在 OpenClaw 里调用多个模型。对 OpenClaw 这种支持自定义 provider 的工具来说,接入方式很直接:把 baseUrl 指向 TaoToken 的 API 地址,把 apiKey 换成 TaoToken 的 Key,模型 id 按通道支持的名称填。

这样做的好处有三个。第一,配置收敛,openclaw.json里不再需要为每个厂商写一套凭证。第二,计费口径统一,Token 消耗在一个地方看,做成本监控时不用东拼西凑。第三,切换模型只改一个 id,fallback 链维护成本大幅下降。

需要先拿到 Key。打开 TaoToken 控制台创建 API Key,地址是 https://taotoken.net/api-keys ,创建后复制保存,页面只显示一次。接入文档在 https://taotoken.net/doc ,里面有各协议的 base URL 和模型命名规则,配置前扫一眼能少踩坑。API 基础地址是 https://taotoken.net/api ,注意这个地址不带任何查询参数,直接作为 baseUrl 使用。

如果你还没决定用哪个模型,可以先去模型对话页面试一下通道是否正常:https://taotoken.net/chat 。想长期跑编码类 Agent 任务,可以了解 Coding Plan:https://taotoken.net/coding-plan 。这些页面都带来源标记,方便你从这篇指南直接跳过去。

3. 可复制的配置骨架:config.toml 与 openclaw.json

OpenClaw 的配置分两层:一层是服务级配置,习惯放在config.toml;另一层是模型、Agent、记忆等运行时配置,放在~/.openclaw/openclaw.json。下面给的是骨架,字段名以你本地版本为准,照抄后按注释替换即可。

先看config.toml,这里主要定义网关监听和默认通道:

# ~/.openclaw/config.toml [gateway] host = "127.0.0.1" port = 18789 [channels.feishu] enabled = false # 先关着,第 4 节再开 connectionMode = "websocket" [logging] level = "info"

重点是openclaw.json里的 provider 配置。把 TaoToken 作为一个自定义 provider 加进去,baseUrl 指向https://taotoken.net/api:

{ "models": { "mode": "merge", "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "models": [ { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", "reasoning": true, "input": ["text"], "contextWindow": 200000, "maxTokens": 8192 }, { "id": "gpt-4o-mini", "name": "GPT-4o mini", "reasoning": false, "input": ["text"], "contextWindow": 128000, "maxTokens": 4096 } ] } } }, "agents": { "defaults": { "model": { "primary": "taotoken/claude-sonnet-4-5", "fallbacks": [ "taotoken/gpt-4o-mini" ] } } } }

几个参数说明一下。mode: merge表示这份配置和默认配置合并,不会覆盖掉内置 provider。baseUrl必须是https://taotoken.net/api,不要加斜杠后缀或查询串。apiKey就是第 2 节拿到的 Key。模型id要按 TaoToken 文档里的命名填,写错了请求会返回模型不存在。primary和fallbacks用provider/modelId的格式引用。

改完配置后重启服务让它生效:

openclaw gateway restart

如果你更习惯用命令行改单项配置,也可以用openclaw config set,比如临时切换主模型:

openclaw config set agents.defaults.model.primary "taotoken/gpt-4o-mini" openclaw gateway restart

4. 接入飞书机器人:插件、权限与长连接

飞书接入分两半:飞书开放平台那边建应用、开权限、配回调;OpenClaw 这边装插件、填凭证、开通道。先装插件:

openclaw plugins install @m1heng-clawd/feishu

然后去飞书开放平台创建企业自建应用。左侧「添加应用能力」里选机器人并添加。接着进「权限管理」开通必要权限,至少要有接收消息、发送消息、读取用户信息这几类,具体名称以平台当前展示为准。权限配完先发布一次版本,否则后面回调配置改不动。

回到「凭证与基础信息」,复制 App ID 和 App Secret,写进 OpenClaw:

openclaw config set channels.feishu.appId "cli_xxxxxxxx" openclaw config set channels.feishu.appSecret "xxxxxxxxxxxxxxxx" openclaw config set channels.feishu.enabled true openclaw config set channels.feishu.connectionMode "websocket" openclaw gateway restart

connectionMode选websocket是关键,它走长连接,不需要你暴露公网回调地址,本地机器也能收消息。然后在飞书后台「事件与回调」里,把事件配置和回调配置的订阅方式都改成「长连接」,并添加需要订阅的事件(比如接收消息)。改完再发布一次版本,配置才会生效。

验证接入:重启服务后,在飞书搜索框搜你的应用名称,点进去发一条消息。如果 OpenClaw 日志里能看到入站事件,机器人也回了话,链路就通了。没回话的话,先看openclaw gateway logs里有没有鉴权失败或事件未订阅的报错。

5. 省 Token 的配置动作与验证:心跳本地化、QMD 与监控

Token 消耗主要来自三块:主对话、心跳(heartbeat)和记忆回填。主对话省不了太多,但心跳和记忆是可以压的。

心跳用本地模型跑。装 Ollama 并拉一个小模型:

curl -fsSL https://ollama.com/install.sh | sh ollama run qwen2.5:3b

然后在openclaw.json里加 ollama provider,并把 heartbeat 指过去:

{ "models": { "providers": { "ollama": { "baseUrl": "http://127.0.0.1:11434", "models": [ { "id": "qwen2.5", "name": "Qwen 2.5", "reasoning": true, "input": ["text"], "contextWindow": 65536, "maxTokens": 8192 } ] } } }, "agents": { "defaults": { "model": { "primary": "taotoken/claude-sonnet-4-5", "heartbeat": "ollama/qwen2.5" } } } }

心跳走本地模型后,周期性唤醒不再消耗远端 Token,这部分省下来的是实打实的。

记忆层用 QMD(Prompt Memory Delta)。它的思路是把系统提示词、历史摘要、本次输入分层处理,历史只保留压缩后的关键信息,避免每轮都把完整对话塞回去。装依赖:

npm install -g @tobilu/qmd sudo apt install -y sqlite3

在openclaw.json里启用:

{ "memory": { "backend": "qmd", "qmd": { "update": { "interval": "5m" } } } }

重启服务后,观察日志里 QMD 的压缩记录。验证省 Token 效果,最直接的办法是对比开启前后同一段多轮对话的用量:在 TaoToken 控制台的用量页面看请求数和 Token 数,或者看 OpenClaw 日志里每次请求的 usage 字段。跑同一组问题,开启 QMD 后历史回填的 Token 应该明显下降。

如果你想让 OpenClaw 执行更多本地命令,可以在配置里放开工具权限:

{ "tools": { "profile": "full" } }

改完重启。注意这只放开 OpenClaw 自身的工具调用范围,系统级 root 操作仍然需要你自己授权。

6. 常见报错排查

模型请求 401 或鉴权失败:先确认apiKey是 TaoToken 控制台新建的、没有多余空格。再确认baseUrl是https://taotoken.net/api,没有拼错或加后缀。如果 Key 刚创建,等几秒再试。

模型不存在(model not found):id字段和 TaoToken 文档里的模型名不一致。去 https://taotoken.net/doc 核对命名,注意大小写和连字符。

飞书机器人不回消息:按顺序查三处。一是channels.feishu.enabled是否为 true;二是飞书后台事件与回调的订阅方式是否都改成了长连接;三是权限是否开通并已发布版本。三者缺一都会导致消息进不来。

心跳仍然走远端模型:检查heartbeat字段是否写在agents.defaults.model下面,而不是primary同级写错位置。改完必须openclaw gateway restart。

QMD 没生效:确认memory.backend是qmd,且 sqlite3 已安装。日志里搜qmd关键字,看是否有初始化失败。

WebUI 打不开:确认服务在跑,端口 18789 没被占用。openclaw gateway status看状态,lsof -i:18789看占用。

配置改完统一重启,日志是排查的第一入口。跑通之后,把openclaw.json备份一份,后面调模型或加通道都在这个骨架上改,不用每次从头配。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询