+ 飞书接入 + 2026.3.x 权限修复:用 TaoToken 统一 Key 打通模型调用)
1. 从零部署 OpenClaw 的真实场景与 2026.3.x 权限坑OpenClaw 是一个跑在服务器上的 AI 运维助手能通过飞书、Web UI 等通道接收自然语言指令帮你查磁盘、看日志、写备份脚本。它适合手里有一台 Ubuntu 云服务器、想让 AI 直接操作系统的开发者和小团队。我这次用的是阿里云海外版 ECSUbuntu 22.04目标是把 OpenClaw 从零装好、接上飞书机器人并且把模型调用统一走 TaoToken 的 Key 通道。真正卡人的不是安装而是 2026.3.x 版本对权限体系做了大改。默认配置下AI 只能陪你聊天你让它「检查磁盘空间」它只会回你一段文字说明不会真的执行命令。原因是新版本把tools.profile默认设成了受限模式agents.tools.allow列表也只保留了最基础的项。很多人装完以为成功了结果发现机器人是个「嘴炮」这就是权限没修。另一个高频问题是外网访问。OpenClaw 网关默认只监听127.0.0.1:18789你在本地浏览器打不开阿里云服务器的公网 IP。需要把绑定模式改成lan再去阿里云安全组放行端口。这两步缺一不可只改一个照样连不上。飞书接入这块2026.3.x 推荐用 WebSocket 长连接模式不用配公网回调地址省掉域名和证书的麻烦。但飞书后台的权限清单和事件订阅必须配对少一个im:message.receive_v1事件机器人就收不到消息。模型调用我统一改到了 TaoToken 的 API 通道一个 Key 管所有模型请求省得在 OpenClaw 里到处填不同厂商的 Key。下面按部署顺序一步步来每段配置都能直接复制。2. TaoToken 前置准备统一 Key 与 API 通道在动手装 OpenClaw 之前先把模型调用的通道准备好。OpenClaw 本身不绑定任何模型厂商它通过配置里的 provider 和 API Key 去请求模型。如果你在 onboard 阶段随便选一个提供商填 Key后面想换模型就得改配置文件比较麻烦。我的做法是统一走 TaoToken一个 Key 覆盖多个模型。TaoToken 的定位是模型 API 聚合通道你拿到一个 Key 之后把 Base URL 指向它的 API 地址就能在 OpenClaw 里调用不同模型。对 OpenClaw 这种需要频繁切换模型做运维任务的场景很实用——查日志用便宜快的模型写脚本用推理强的模型改一行配置就行。先去控制台创建 API Key。打开 https://taotoken.net/console 登录后进 API Keys 页面点创建复制生成的 Key。这个 Key 只显示一次存好。如果你还没有账号从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 进官网注册流程很快。拿到 Key 之后记下两个东西Base URL 是https://taotoken.net/apiModel ID 用你需要的模型名。OpenClaw 的配置里模型相关的字段就是这三件套Base URL、API Key、Model ID。后面在openclaw.json里会用到。这里有个细节要注意TaoToken 的 API 地址不带 UTM 参数就是干净的https://taotoken.net/api。你在配置文件里填的时候别把推广参数带进去否则请求可能异常。官网链接带参数是为了统计来源API 端点不需要。如果你打算长期跑编码类或 Agent 类任务可以了解下 Coding Plan在 https://taotoken.net/coding-plan 有说明。不过 OpenClaw 的运维场景用按量 API Key 就够了先跑通再说。准备好 Key 之后回到服务器开始装 OpenClaw。整个链路是装 OpenClaw → 初始化配置 → 改网关绑定 → 配飞书 → 修权限 → 把模型请求指向 TaoToken。顺序别乱尤其是权限修复要在飞书接入之后做因为改配置文件会重启网关。3. 可复制配置Ubuntu 安装、阿里云安全组与 settings 片段先确认服务器环境。SSH 登录你的阿里云海外版 ECS执行版本检查# 检查是否已安装 OpenClaw openclaw --version显示版本号比如2026.3.8就跳过安装提示command not found就继续。一键安装脚本会自动装 Node.js 依赖并配置全局命令curl -fsSL https://openclaw.ai/install.sh | bash装完执行初始化向导openclaw onboard向导里几个关键项配置目录权限选 Yes 创建~/.openclaw网关认证 Token 选自动生成AI 模型配置这一步先随便选一个提供商填占位 Key后面我们统一改成 TaoToken聊天通道跳过技能至少勾clawhub和github钩子勾command-logger和session-memory运行时选 Node启动方式选 Hatch in TUI 立即测试。初始化完成后 OpenClaw 会注册为系统服务。先看状态openclaw gateway status正常显示Runtime: running和RPC probe: ok。接下来改网关绑定让它监听所有网络接口openclaw config set gateway.bind lan openclaw gateway restart netstat -ntlp | grep 18789最后一行应该显示0.0.0.0:18789。然后配 CORS只允许你的服务器公网 IPopenclaw config set gateway.controlUi.allowedOrigins [http://你的服务器公网IP:18789] openclaw gateway restart阿里云安全组这一步在控制台做ECS → 安全组 → 配置规则 → 入方向 → 添加。协议 TCP端口18789/18789授权对象测试用0.0.0.0/0生产建议限制你的本地公网 IP。现在改模型配置把请求指向 TaoToken。编辑~/.openclaw/openclaw.json找到 models 节点改成这样models: { default: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的TaoToken Key, model: 你的Model ID } }这里provider用openai-compatible因为 TaoToken 的 API 兼容 OpenAI 格式。baseUrl填https://taotoken.net/apiapiKey填你在控制台创建的 Keymodel填你要用的模型 ID。三件套齐了OpenClaw 就会把模型请求发到 TaoToken。改完重启网关openclaw gateway restart openclaw logs --follow日志里看到模型请求成功的记录就说明通道通了。如果报 401检查 Key 有没有复制完整如果报连接超时检查baseUrl是不是写成了带 UTM 的官网地址——必须是https://taotoken.net/api。飞书接入的配置也在这个文件里用命令行设置更稳openclaw config set channels.feishu.appId 你的App ID openclaw config set channels.feishu.appSecret 你的App Secret openclaw config set channels.feishu.enabled true openclaw config set channels.feishu.connectionMode websocket openclaw config set channels.feishu.dmPolicy pairing openclaw gateway restart飞书后台的权限清单用这段 JSON 批量导入{ scopes: { tenant: [ contact:user.base:readonly, im:message, im:message.p2p_msg:readonly, im:message.group_at_msg:readonly, im:message:send_as_bot, im:resource ], user: [] } }事件订阅里加上im.message.receive_v1订阅方式选「长连接接收事件」。然后创建版本并发布。最后是 2026.3.x 的权限修复这是让 AI 真正能干活的关键。编辑~/.openclaw/openclaw.json改 tools 节点tools: { profile: full, sessions: { visibility: all }, web: { search: { provider: brave } } }再把 agents 的工具权限扩展agents: [ { name: default, tools: { allow: [ exec, file, system, process ] } } ]profile从coding改成fullallow列表加上file、system、process。改完重启openclaw gateway restart4. 验证请求飞书消息收发与模型调用成功结果配置改完必须验证不然你不知道是通道没通还是权限没生效。先验证模型调用。在服务器上直接发一条测试消息openclaw message send --channel feishu --target open_id:你的open_id --message 检查服务器磁盘空间如果飞书收到回复并且内容是真实的磁盘信息比如df -h的输出说明模型调用和工具权限都通了。如果只收到一段文字说明而没有实际执行说明权限修复没生效回去检查tools.profile和agents.tools.allow。飞书客户端的配对流程也要走一遍。在飞书里搜索你的应用名称发一条「你好」。机器人会回复配对指令类似OpenClaw: access not configured. Your Feishu user id: ou_5d7c5686547bec79 Pairing code: TP9TLJ5Q Ask the bot owner to approve with: openclaw pairing approve feishu TP9TLJ5Q在服务器执行openclaw pairing approve feishu TP9TLJ5Q配对成功后在飞书里发「查看内存使用情况」机器人应该返回free -h的真实输出。这一步能过说明整条链路——飞书消息 → OpenClaw 网关 → TaoToken API → 模型 → 工具执行 → 飞书回复——全部打通。Web UI 验证也做一下。本地终端开 SSH 隧道ssh -L 18789:127.0.0.1:18789 root你的服务器IP本地浏览器访问http://127.0.0.1:18789粘贴网关 Token 登录。Token 这样拿grep -A 2 auth ~/.openclaw/openclaw.json登录后在 Web UI 里发「列出最近10条系统日志」看是否返回真实日志。如果 Web UI 能执行但飞书不能问题在飞书权限或事件订阅如果两个都不能执行问题在tools.profile权限配置。验证模型请求确实走了 TaoToken可以看日志openclaw logs --follow日志里会有模型请求的 URL 记录确认是https://taotoken.net/api而不是其他厂商地址。如果看到请求发到了别的地方说明models.default.baseUrl没改对。5. 本篇常见错排查401、local proxy failed 与权限不生效部署过程中最容易撞的几个报错我按实际遇到的整理。401 Unauthorized模型请求被拒。先检查openclaw.json里models.default.apiKey是不是完整的 TaoToken Key有没有多余空格。然后确认baseUrl是https://taotoken.net/api不是官网首页。如果 Key 没问题还是 401去 TaoToken 控制台看 Key 是否被禁用或额度耗尽。local proxy failed / connection refused网关没监听或端口没放行。先netstat -ntlp | grep 18789看是不是0.0.0.0:18789。如果是127.0.0.1:18789说明gateway.bind没改成lan。如果监听对了但外网连不上检查阿里云安全组入方向规则有没有放行 18789。reading choices 报错模型返回格式不符合预期。这种情况通常是 Model ID 填错了或者用了 TaoToken 不支持的模型名。去控制台确认可用的 Model ID填到models.default.model里。另外确认provider是openai-compatible不是其他值。OAuth 相关报错如果你在 onboard 阶段选了需要 OAuth 的提供商后面又改成 TaoToken残留的 OAuth 配置可能干扰。直接编辑openclaw.json把 models 节点整个替换成上面给的 TaoToken 配置别留旧字段。权限修复不生效改了tools.profile和agents.tools.allow但 AI 还是只聊天。检查 JSON 格式有没有语法错误用python -m json.tool ~/.openclaw/openclaw.json验证。然后确认重启了网关openclaw gateway restart。如果还不行看openclaw logs --follow里有没有权限拒绝的记录可能是某个工具名写错了。飞书收不到消息检查飞书后台事件订阅有没有加im.message.receive_v1订阅方式是不是「长连接接收事件」。权限清单有没有导入完整特别是im:message和im:message:send_as_bot。应用版本有没有发布没发布的话配置不生效。设备身份错误Web UI 登录提示设备未授权。用openclaw devices list看待授权设备然后openclaw devices approve 请求ID。或者直接用 SSH 隧道访问绕过设备配对。Token 重置网关 Token 忘了或泄露执行openclaw doctor --generate-gateway-token重新生成然后更新你本地保存的 Token。排查顺序建议先确认网关状态openclaw gateway status再看日志openclaw logs --follow最后对照配置文件逐项检查。大部分问题出在baseUrl写错、bind没改、权限列表漏项这三个地方。6. 长期编码与 Agent 场景的 Key 管理建议OpenClaw 跑起来之后模型调用会越来越频繁。如果你用它做长期运维或 Agent 任务Key 管理要注意几点。一个 TaoToken Key 可以覆盖 OpenClaw 里所有模型请求不用每个模型单独配 Key。但如果你同时跑多个 OpenClaw 实例建议每个实例用不同的 Key方便在控制台看用量和排查问题。控制台的 API Keys 页面可以创建多个 Key给每个实例打标签。模型选择上日常查日志、看状态用响应快的模型写脚本、做复杂推理用能力强的模型。在openclaw.json里改models.default.model就行不用动 Key 和 Base URL。这种切换成本很低你可以根据任务类型灵活调整。如果你打算把 OpenClaw 接入更多通道比如 Slack、Discord模型调用还是走同一个 TaoToken Key只需要在 channels 节点加配置。Key 和模型通道是独立的通道扩展不影响模型调用。长期跑的话定期去 https://taotoken.net/api-keys 检查 Key 状态和用量。如果发现某个 Key 请求异常及时禁用重建。OpenClaw 的日志里也会记录模型请求的响应时间可以用来判断通道是否稳定。最后提醒一点openclaw.json里存了 API Key注意文件权限。chmod 600 ~/.openclaw/openclaw.json别让其他用户读到。服务器如果多人使用这点很重要。