ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenClaw+飞书接入TaoToken:10分钟最简安装配置教程

OpenClaw+飞书接入TaoToken:10分钟最简安装配置教程 1. OpenClaw 接入飞书到底解决什么问题OpenClaw 是一个能自动规划并执行任务的 Agent 项目圈内人叫它“小龙虾”。它和普通聊天机器人的区别在于你给它一个目标它会自己拆步骤、调工具、跑流程而不是只回你一段文字。飞书则是很多团队日常协作的主阵地消息、文档、审批、日历都在里面。把 OpenClaw 接进飞书本质上是给飞书装了一个能动手的助手——你在群里 它它就能读消息、整理内容、触发后续动作。适合谁看这篇手里有一台能跑 Docker 的云服务器、想在飞书里快速验证 OpenClaw 能力的开发者。不需要你提前懂 Agent 框架也不需要你从源码编译跟着下面的步骤走10 分钟内能让机器人在飞书里回你第一条消息。核心链路其实就三段OpenClaw 服务跑起来 → 飞书机器人把消息回调到 OpenClaw → OpenClaw 调用大模型生成回复再发回飞书。中间最容易卡住的是两处一是模型调用的 Key 和 Base URL 没配对二是飞书事件订阅的回调地址没填对。这篇会把这两处拆开讲清楚并且给出可直接复制的配置片段。我试过用统一 Key 的方式接多个模型省掉了在 OpenClaw 里反复改环境变量的麻烦。下面先从 TaoToken 的前置准备说起再进入 OpenClaw 的安装和飞书配置。2. TaoToken 统一 Key 前置准备与 OpenClaw 环境搭建OpenClaw 要能思考必须接一个大模型。TaoToken 提供的是 OpenAI 兼容接口也就是说你拿到的 Key 和 Base URL 可以直接填进 OpenClaw 的模型配置里不用改代码。这一步先把 Key 拿到手再装 OpenClaw。2.1 获取 TaoToken API Key打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。创建时给它起个能认出来的名字比如openclaw-feishu方便后面排查是哪个应用在用。复制出来的 Key 形如sk-xxxxxxxx只显示一次先存到安全的地方。Base URL 固定用https://taotoken.net/api注意结尾不要多加/v1OpenClaw 的 OpenAI 兼容层会自己拼路径。模型 ID 按你实际要用的填比如claude-sonnet-4-20250514或gpt-4o具体可用列表在模型对话页面能看到。注意Key 不要写进会提交到 Git 的文件里。下面配置里我用环境变量占位你替换成自己的真实值即可。2.2 服务器与 Docker 环境准备一台能访问公网的 Linux 服务器2 核 4G 起步就够跑通验证。装好 Docker 和 Docker Composecurl -fsSL https://get.docker.com | sh sudo systemctl enable --now docker docker --version docker compose version两条命令都能输出版本号说明环境就绪。如果docker compose报 command not found装一下 compose 插件sudo apt-get install -y docker-compose-plugin2.3 拉取并启动 OpenClawOpenClaw 官方提供了容器镜像直接拉最新版docker pull openclaw/openclaw:latest建一个工作目录把配置和数据挂进去避免容器重建后丢状态mkdir -p ~/openclaw/data cd ~/openclaw先别急着docker run模型配置和飞书配置要一起写进环境变量下一节给完整片段。这里先把目录结构定下来~/openclaw/data放会话数据~/openclaw/.env放密钥。2.4 为什么用统一 Key 而不是每个模型单独配OpenClaw 支持在配置里指定多个模型供应商。如果你每个供应商都单独填一套 Key 和地址改起来很碎。TaoToken 的兼容接口把模型收敛到一个 Base URL 下你只需要换 Model ID 就能切换底层模型。对调试阶段特别有用——飞书里发同一句话换个 Model ID 就能对比不同模型的执行效果而不用动其他配置。这一步做完你手里应该有三样东西一个sk-开头的 Key、Base URLhttps://taotoken.net/api、一个确定可用的 Model ID。下一节把它们写进 OpenClaw 配置。3. 可复制的 OpenClaw 配置片段与飞书机器人创建这一节是全文最关键的部分配置写错后面全白搭。我按“先写 OpenClaw 配置 → 再建飞书应用 → 最后把两者对接”的顺序来每一步都给可复制的片段。3.1 OpenClaw 的 .env 配置在~/openclaw下新建.env文件内容如下。路径和字段名保持和官方一致你只替换尖括号里的值# ~/openclaw/.env OPENCLAW_MODEL_PROVIDERopenai OPENAI_API_KEYsk-你的TaoTokenKey OPENAI_BASE_URLhttps://taotoken.net/api OPENCLAW_MODEL_IDclaude-sonnet-4-20250514 OPENCLAW_PORT8080 OPENCLAW_DATA_DIR/app/data FEISHU_APP_IDcli_你的飞书AppID FEISHU_APP_SECRET你的飞书AppSecret FEISHU_VERIFICATION_TOKEN你的VerificationToken FEISHU_ENCRYPT_KEY你的EncryptKey几个字段说明一下。OPENCLAW_MODEL_PROVIDER填openai表示走 OpenAI 兼容协议TaoToken 正好是这个协议。OPENCLAW_MODEL_ID就是你要用的模型换成模型对话页面里列出的任意一个都行。飞书那四个字段下一小节拿到后再回填。3.2 docker-compose.yml 启动文件同目录下建docker-compose.ymlversion: 3.8 services: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: unless-stopped env_file: - .env ports: - 8080:8080 volumes: - ./data:/app/data启动docker compose up -d docker compose logs -f openclaw日志里出现OpenClaw server listening on :8080就说明服务起来了。如果看到invalid api key或401回去检查.env里的 Key 有没有多余空格。3.3 创建飞书自建应用打开飞书开放平台进入开发者后台创建一个“企业自建应用”。填好名称和图标后进入应用详情页在“凭证与基础信息”里能看到App ID和App Secret把这两个回填到.env的FEISHU_APP_ID和FEISHU_APP_SECRET。接着在“事件与回调”页面找到Verification Token和Encrypt Key同样回填。这两个值用于校验飞书发过来的请求确实来自飞书别跳过。3.4 配置权限与事件订阅在“权限管理”里开通机器人收发消息相关权限至少要有权限标识用途im:message读取与发送单聊消息im:message.group_at_msg接收群里 机器人的消息im:message:send_as_bot以机器人身份发消息开通后在“事件订阅”里添加接收消息事件。回调地址填你的服务器公网地址加路径http://你的服务器IP:8080/feishu/event如果服务器没有公网 IP用内网穿透工具把 8080 映射出去回调地址换成映射后的域名。填完点保存飞书会发一个 challenge 请求过来OpenClaw 会自动应答页面显示“验证通过”即可。3.5 发布版本并启用机器人权限和事件配好后去“版本管理与发布”创建一个版本申请发布。企业自建应用通常需要管理员审批审批通过后机器人才能正式收发消息。发布完成后在飞书里搜索你的应用名把它拉进一个测试群或者直接和它单聊。到这里配置全部写完。下一节发消息验证。4. 发送测试消息验证 OpenClaw 与飞书连通性配置对不对发一条消息就知道。这一节给具体的验证动作和预期结果。4.1 先验证 OpenClaw 服务本身在服务器上直接打 OpenClaw 的健康检查接口curl -s http://localhost:8080/health返回{status:ok}说明服务活着。再验证模型调用链路直接问一句curl -s http://localhost:8080/v1/chat/completions \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role:user,content:用一句话说明你是什么}] }如果返回里choices[0].message.content有正常文字说明 TaoToken 的 Key、Base URL、Model ID 三件套全部正确。这一步过了飞书那边基本不会因为模型问题失败。4.2 在飞书里发第一条消息打开飞书找到你的机器人发一句“你好帮我列一下今天要做的事”。预期是机器人先回一个“正在处理”之类的状态几秒后给出结构化回复。如果机器人没反应先看 OpenClaw 日志docker compose logs -f openclaw | grep -i feishu日志里会打印收到的飞书事件。如果完全没有日志说明飞书的事件没回调过来回去检查回调地址和事件订阅是否保存成功。如果有事件但报错看具体错误码。4.3 群里 机器人测试把机器人拉进一个群在群里发你的机器人 总结一下刚才大家聊的重点。机器人应该能读到群消息上下文并给出总结。这一步验证的是im:message.group_at_msg权限是否生效。4.4 验证成功的样子成功的标志有三个单聊能回、群里 能回、日志里能看到完整的“收到事件 → 调用模型 → 发送回复”链路。三个都满足说明 OpenClaw 飞书 TaoToken 整条链路打通。这时候你可以试着让它做点实际的事比如“把这条消息整理成待办发给我”看它能不能自动执行。5. 常见报错排查401、local proxy failed 与回调失败接入过程里报错集中在几个地方这一节按真实错误信息对照排查。5.1 401 Unauthorized日志里出现Error: 401 Unauthorized - invalid api key原因基本是.env里的OPENAI_API_KEY不对。检查三点Key 有没有复制完整、有没有多余空格或换行、Key 是不是已经被删除。改完.env后必须重启容器才生效docker compose down docker compose up -d5.2 local proxy failed 或 connection refused日志里出现local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused这是 OpenClaw 容器里残留了代理环境变量指向了一个不存在的本地端口。检查.env和服务器环境里有没有HTTP_PROXY、HTTPS_PROXY之类的变量有就删掉。容器内不需要额外代理TaoToken 的地址直接可达。5.3 reading choices 报错日志里出现json: cannot unmarshal ... reading choices说明模型返回的结构和 OpenClaw 预期的不一致。常见原因是 Base URL 写成了https://taotoken.net/api/v1多了一层路径导致返回的是错误页而不是标准响应。把OPENAI_BASE_URL改回https://taotoken.net/api即可。5.4 飞书回调验证失败飞书后台保存回调地址时报“请求失败”或“challenge 校验不通过”。排查顺序服务器 8080 端口是否对公网开放、回调路径是否写成/feishu/event、FEISHU_VERIFICATION_TOKEN是否和后台一致。用 curl 从外网打一下curl -X POST http://你的公网IP:8080/feishu/event \ -H Content-Type: application/json \ -d {challenge:test,type:url_verification}正常应返回包含test的 JSON。返回连接拒绝就是端口没通返回 404 就是路径写错。5.5 OAuth 相关报错如果日志里出现OAuth或token expired多半是飞书App Secret填错或者应用还没发布就调用了需要审批的接口。回开放平台确认应用状态是“已发布”并重新复制一次App Secret回填。5.6 配置三件套速查不管哪种报错先对照这张表确认三件套配置项正确值Base URLhttps://taotoken.net/apiAPI Keysk-开头的 TaoToken KeyModel ID模型对话页面列出的可用模型三件套对了模型侧的问题基本能排除剩下的就是飞书侧权限和回调。6. 后续玩法与接入入口跑通之后OpenClaw 能做的事取决于你给它什么工具和权限。比较实用的方向有几个让它定时读某个飞书群的消息做日报汇总、把飞书文档里的待办同步到日历、在群里做知识库问答。这些都不需要改 OpenClaw 核心代码通过配置工具和提示词就能扩展。如果你要长期跑编码类或 Agent 类任务建议用 Coding Plan额度更稳适合持续调用。只是验证模型效果的话模型对话页面直接试就行不用部署。接入过程中卡在配置或报错去接入文档对照字段说明或者到 API Keys 页面重新生成一个 Key 排除 Key 本身的问题。部署时有个小技巧把.env和docker-compose.yml放在同一个目录用docker compose config先校验一遍语法能提前发现缩进和字段名错误比启动后看日志快得多。
返回列表