☰
OpenClaw+feishu 手机飞书访问电脑端环境配置:TaoToken 统一 Key 接入与 Ubuntu/Node.js 骨架
2026/9/26 11:53:27 网站建设 项目流程

1. 为什么要在 Ubuntu 上折腾 OpenClaw + 飞书

OpenClaw 是一个跑在本地、能接管终端与文件系统的 AI Agent 网关,飞书则是国内团队最顺手的移动端入口。把两者接起来,你就能在手机飞书里给电脑上的 OpenClaw 发消息,让它读代码、跑命令、查日志,等于把 Ubuntu 主机装进了口袋。这套组合最适合三类人:一是手里有台常开的 Ubuntu 机器或 WSL 环境,想远程指挥的开发;二是团队里已经在用飞书协作,希望把 AI 能力塞进现有工作流的人;三是想学 Agent 网关原理、准备自己写 skill 的进阶玩家。

真正卡人的地方不在 OpenClaw 本身,而在三块:Ubuntu 下 Node.js 版本与全局包路径、飞书开放平台那一长串权限与事件订阅、以及模型通道怎么统一管理。前两块是体力活,第三块如果每个模型都单独配 Key,后面换模型、加渠道会非常乱。我这次的做法是让 OpenClaw 的模型请求统一走 TaoToken 的 API 通道,一个 Key 覆盖多家模型,配置只写一份,后面换模型只改一个字段。下面按「环境准备 → TaoToken 接入 → 可复制配置 → 验证 → 排障」的顺序走一遍,命令都可以直接粘。

2. 前置准备:Ubuntu 环境与 TaoToken 统一 Key

2.1 Ubuntu 基础环境

不管你用的是原生 Ubuntu 还是 WSL 里的 Ubuntu,先确认系统信息并装齐基础工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git build-essential uname -a

WSL 用户额外确认一下 Windows 盘挂载是否正常,方便后面在 Windows 侧访问 Linux 文件:

ls -l /mnt/c/

然后在 Windows 文件资源管理器地址栏输入\\wsl$\Ubuntu\home\你的用户名,能进去就说明互通没问题。

2.2 安装 Node.js 22.x

OpenClaw 对 Node 版本有要求,直接用 NodeSource 源装 22.x:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v npm -v

node -v输出v22.x即可。如果之前装过旧版本,先sudo apt remove nodejs清掉再装,避免 npm 全局路径错乱。

2.3 安装 OpenClaw 并初始化工作区

npm install -g openclaw mkdir -p ~/openclaw-workspace cd ~/openclaw-workspace openclaw init

openclaw init会在当前目录生成配置骨架。启动网关验证一下:

openclaw gateway start

看到Gateway listening on http://localhost:18789就说明本体跑起来了。如果 Windows 浏览器访问http://localhost:18789异常,把绑定模式改成 lan:

openclaw config set gateway.bindMode lan systemctl --user restart openclaw-gateway.service

之后用http://你的局域网IP:18789访问。

2.4 拿 TaoToken 统一 Key

TaoToken 在这里的角色是「模型请求的统一出口」:OpenClaw 不直接对接各家模型,而是把 base URL 指向 TaoToken 的 API 地址,Key 也只填一个。这样后面无论用哪个模型,都只改模型名,不动通道配置。

先去控制台创建 API Key:

控制台入口:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite

在 API Keys 页面新建一个 Key,复制保存。接入文档在这里,遇到参数疑问可以对照:

接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite

API 基础地址统一用https://taotoken.net/api(注意这个地址不带 UTM 参数,配置里照写即可)。

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

OpenClaw 的配置分两层:网关级用config.toml,频道与模型相关用settings.json。下面两份骨架可以直接改。

3.1 config.toml 骨架

在~/openclaw-workspace下创建或编辑config.toml:

[gateway] host = "0.0.0.0" port = 18789 bindMode = "lan" [agent] name = "openclaw-agent" workspace = "/home/你的用户名/openclaw-workspace" model = "claude-sonnet-4-20250514" provider = "taotoken" [agent.model.provider.taotoken] baseUrl = "https://taotoken.net/api" apiKey = "${TAOTOKEN_API_KEY}" timeout = 120 [log] level = "info" follow = true

关键点:baseUrl指向 TaoToken 的 API 地址,apiKey用环境变量占位,不要把明文 Key 写进文件。

3.2 settings.json 骨架

频道配置放在settings.json,飞书相关字段如下:

{ "channels": { "feishu": { "enabled": true, "appId": "cli_xxxxxxxxxxxx", "appSecret": "${FEISHU_APP_SECRET}", "domain": "china", "groupPolicy": "allowlist", "privatePolicy": "pairing", "eventMode": "long_connection" } }, "plugins": { "feishu": { "path": "~/.openclaw/plugins/@openclaw/feishu" } } }

privatePolicy建议先用pairing,配对模式更安全,陌生人发消息不会直接触发 Agent。

3.3 环境变量

把敏感信息写进~/.bashrc或单独的 env 文件:

export TAOTOKEN_API_KEY="sk-你的TaoTokenKey" export FEISHU_APP_ID="cli_xxxxxxxxxxxx" export FEISHU_APP_SECRET="你的飞书AppSecret"

执行source ~/.bashrc生效。验证一下:

echo $TAOTOKEN_API_KEY | head -c 8

能打印出 Key 前缀就说明环境变量读到了。

4. 飞书侧配置与 OpenClaw 频道接入

4.1 飞书开放平台建应用

访问飞书开放平台,扫码登录后点「创建企业自建应用」,填名称和描述。进入「凭证与基础信息」,复制 App ID(cli_开头)和 App Secret,对应填到上面的环境变量里。

接着「添加应用能力」→ 选「机器人」→ 添加。

4.2 批量导入权限

进入「权限管理」→「批量导入/导出权限」,粘贴以下 JSON:

{ "scopes": { "tenant": [ "aily:file:read", "aily:file:write", "application:application:self_manage", "application:bot.menu:write", "cardkit:card:write", "contact:user.employee_id:readonly", "docs:document.content:read", "event:ip_list", "im:chat", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.group_msg", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:resource", "sheets:spreadsheet", "wiki:wiki:readonly" ], "user": [ "aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read" ] } }

再单独搜contact,勾选contact:contact.base:readonly(获取用户基本信息),确认添加后点「批量开通」。

4.3 事件订阅

进入「事件与回调」→ 订阅方式选「使用长连接接收事件」→ 保存。点「添加事件」→ 搜im.message.receive_v1(接收消息)→ 确认添加。长连接模式不需要公网回调地址,这也是它能跑在家庭宽带 Ubuntu 上的原因。

最后进「版本管理与发布」→ 创建版本 → 填版本号 → 保存并提交审核,企业自建应用一般自动通过。

4.4 OpenClaw 侧装插件与配频道

openclaw plugins install @openclaw/feishu openclaw channels add openclaw configure

openclaw configure会走交互式向导:是否配置聊天渠道选 Yes → 渠道类型选 Feishu → 粘贴 App ID → 粘贴 App Secret → 域名选 China → 群聊策略选 Allowlist → 私聊策略选 Pairing。

如果插件装完openclaw plugins list里看不到,手动拷到用户插件目录:

mkdir -p ~/.openclaw/plugins cp -r /usr/lib/node_modules/@openclaw/feishu ~/.openclaw/plugins/ openclaw gateway restart openclaw plugins list

重启网关并看日志:

openclaw gateway restart openclaw gateway status openclaw logs --follow

日志里出现飞书长连接建立成功的记录,就说明频道通了。

5. 验证请求:手机飞书发消息与模型通道确认

5.1 完成配对

在手机飞书里找到刚发布的机器人应用,发送任意消息(比如Hello)。机器人会回复一个配对码,形如123456。回到 Ubuntu 终端执行:

openclaw pairing approve feishu 123456

配对成功后,再发一条消息,机器人就会正常回复。

5.2 验证模型通道走的是 TaoToken

在飞书里发一句需要模型回答的话,比如「用一句话解释什么是网关」。同时观察 Ubuntu 终端日志:

openclaw logs --follow

日志里应该能看到请求发往https://taotoken.net/api,并返回模型响应。如果日志显示的是其他 base URL,说明config.toml里的baseUrl没生效,检查是否被settings.json覆盖。

想单独验证模型通道是否可用,可以用模型对话页面直接测:

模型对话:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite

在页面里选同一个模型发一条消息,能正常返回,就说明 Key 和通道没问题,问题只可能在 OpenClaw 配置层。

5.3 手机侧成功标志

手机飞书里机器人能连续对话、能响应「帮我看看当前目录有什么文件」这类需要执行本地命令的请求,且 Ubuntu 终端日志有对应的工具调用记录,就算全链路打通了。

6. 本篇常见错排查

6.1 网关启动报端口占用

Gateway listening没出现,报EADDRINUSE。先查占用:

sudo lsof -i :18789

杀掉旧进程或改config.toml里的port,然后openclaw gateway restart。

6.2 飞书机器人不回复

按顺序查三处:一是openclaw logs --follow里有没有收到im.message.receive_v1事件,没有就是事件订阅或长连接没配好;二是有事件但报权限错误,回飞书开放平台确认im:message系列权限已开通;三是配对没完成,私聊策略是pairing时未配对的用户消息会被拦。

6.3 模型请求 401 或超时

401 基本是 Key 问题:确认TAOTOKEN_API_KEY已source生效,且config.toml里写的是${TAOTOKEN_API_KEY}而不是明文。超时则把timeout从 120 调大,或检查 Ubuntu 出网是否正常:

curl -I https://taotoken.net/api

6.4 插件装了但频道里选不到 Feishu

多半是全局 npm 路径和 OpenClaw 查找路径不一致。用npm root -g看全局包位置,再按 4.4 的方式手动拷到~/.openclaw/plugins/,重启网关后openclaw plugins list确认。

6.5 WSL 下 Windows 访问不了网关

bindMode设成lan后仍访问不了,检查 Windows 防火墙是否拦了 18789 端口,以及 WSL 的网络模式。用ip addr拿到 WSL 的 IP,在 Windows 侧用这个 IP 访问,而不是localhost。

7. 后续:统一 Key 的长期价值与 Coding Plan

这套配置跑通后,最省心的是模型通道只维护一份。以后想换模型,只改config.toml里的model字段,Key 和 base URL 都不动。如果你打算把 OpenClaw 长期挂在机器上跑编码任务、写 skill、做 Agent 实验,可以了解一下 Coding Plan,它更适合高频、长期的编码场景:

Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite

需要新建或轮换 Key 时,回到 API Keys 页面操作即可:

API Keys:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite

配置过程中如果卡在某个报错,先看openclaw logs --follow的实时输出,九成问题都能从日志里定位到具体环节。

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

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

立即咨询