OpenClaw 安装总结:从 Node.js 到 Gateway 的飞书接入实践
1. 为什么我建议你先搞清 OpenClaw 的安装链路OpenClaw 是一个 AI 个人助手框架能接入飞书、Telegram、Discord 等渠道帮你做日程管理、消息转发、浏览器操控甚至执行代码。它本身不绑定某个大模型而是通过 Gateway 这个守护进程把「渠道消息」和「模型能力」串起来。适合谁适合想在自己机器上跑一个可控助手、又不想从零写消息路由的开发者。我实测下来整条链路最容易被卡住的不是 OpenClaw 本身而是 Node.js 版本、npm 全局权限、Gateway 端口占用以及飞书回调地址这四件事。这篇按「Node.js → npm 全局安装 → 初始化工作区 → 启动 Gateway → 飞书接入 → 验证收发」的顺序走一遍每一步都给可复制的命令和配置片段。你跟着做本地跑通消息收发大概 20 分钟。核心检索词先记住OpenClaw 安装、Node.js 环境、npm 全局包、Gateway 启动、飞书接入配置。下面从环境准备开始把每个坑都摊开讲。2. 前置环境Node.js 与 npm 版本怎么选才不返工OpenClaw 要求 Node.js v18 或以上、npm v8 或以上。别用系统自带的旧版本Ubuntu 22.04 默认可能是 v12直接装会报engine不匹配。我推荐用 nvm 管理版本切换干净。# 安装 nvm脚本方式 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 让当前 shell 生效 export NVM_DIR$HOME/.nvm [ -s $NVM_DIR/nvm.sh ] \. $NVM_DIR/nvm.sh # 安装并锁定 Node.js 18 nvm install 18 nvm use 18 nvm alias default 18验证node -v # 期望 v18.x.x npm -v # 期望 8.x 或更高如果你在 Windows 上建议走 WSL2操作和 Linux 完全一致。WSL2 里如果 npm 拉包慢可以换国内镜像源但注意别把镜像源和后面的模型 API 地址搞混npm config set registry https://registry.npmmirror.com这一步做完环境就算齐了。很多人跳过 nvm 直接用apt install nodejs结果 npm 全局目录权限出问题后面装 OpenClaw 报EACCES回头再修更费时间。3. 安装 OpenClaw 并初始化工作区含 npm 权限修复全局安装 OpenClawnpm install -g openclaw openclaw --version如果报EACCES: permission denied别急着sudo把 npm 全局目录挪到用户目录更安全mkdir -p ~/.npm-global npm config set prefix ~/.npm-global echo export PATH~/.npm-global/bin:$PATH ~/.bashrc source ~/.bashrc npm install -g openclaw装完初始化工作区openclaw init它会在~/.openclaw/workspace下生成SOUL.md、USER.md等配置文件。SOUL.md定义助手人格USER.md描述你的偏好后面调教助手主要改这两个。接下来是 Gateway 配置。Gateway 是消息路由核心配置文件在~/.openclaw/config.yaml。这里给你一份可复制的片段注意把模型接入部分换成你自己的地址和 Key# ~/.openclaw/config.yaml gateway: host: 127.0.0.1 port: 18789 logLevel: info model: provider: openai-compatible baseUrl: https://taotoken.net/api apiKey: sk-你的Key modelId: claude-sonnet-4-20250514 channels: feishu: appId: cli_xxxxxxxx appSecret: your_app_secret verificationToken: your_verification_token encryptKey: your_encrypt_key这里有个关键点OpenClaw 走的是 OpenAI 兼容协议所以baseUrl填https://taotoken.net/apimodelId填你要用的模型 ID。Key 在控制台生成地址是https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content生成后填进apiKey。如果你还没决定用哪个模型可以先在模型对话页试一下https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。配置写完后启动 Gatewayopenclaw gateway start openclaw gateway statusstatus显示running就说明守护进程起来了。如果起不来先看日志openclaw gateway logs4. 飞书接入配置与回调验证把消息真正跑通飞书接入分两步飞书开放平台建应用OpenClaw 填凭证。先去飞书开放平台创建企业自建应用拿到App ID和App Secret然后在「事件订阅」里配置Verification Token和Encrypt Key。这三个值对应上面config.yaml里的字段。飞书要求回调地址可访问。本地调试可以用内网穿透工具把127.0.0.1:18789暴露出去回调路径填https://你的域名/feishu/events在飞书后台「事件订阅」里填这个地址飞书会发一个challenge验证请求。OpenClaw 的 Gateway 会自动响应验证通过后订阅im.message.receive_v1事件。配置完重启 Gatewayopenclaw gateway restart openclaw gateway logs日志里看到feishu channel connected就说明渠道通了。然后在飞书里给机器人发一条消息比如「你好」观察日志是否出现message received和model response sent。如果消息发出去了但没回复八成是模型那一段的baseUrl或apiKey有问题。验证模型请求是否正常可以单独发一条 curlcurl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}] }返回里有choices字段就说明模型侧通了。这一步能帮你把「飞书问题」和「模型问题」分开定位。5. 常见报错排查401、local proxy failed、reading choices、OAuth401 UnauthorizedKey 错了或没带Bearer前缀。检查config.yaml里apiKey是否完整以及baseUrl是不是https://taotoken.net/api注意不要多加/v1OpenClaw 会自己拼。local proxy failedGateway 端口被占用或 host 写错。用lsof -i :18789看谁占了改config.yaml里的port再重启。reading choices 报错模型返回体里没有choices通常是modelId写错或模型不支持该协议。去模型对话页确认模型 ID 拼写再回填。OAuth 相关报错如果你用的是需要 OAuth 的渠道比如某些企业应用检查appId/appSecret是否和飞书后台一致以及应用是否发布了版本。飞书自建应用要「创建版本并发布」后事件才生效。npm 装完命令找不到~/.npm-global/bin没进 PATH重新source ~/.bashrc或新开终端。WSL2 下回调不通WSL2 的网络和 Windows 宿主是隔离的内网穿透工具要跑在能访问 WSL2 的那一侧或者直接在 WSL2 里跑穿透客户端。排查顺序建议先 curl 模型接口 → 再看 Gateway 日志 → 最后查飞书后台事件订阅状态。这样能快速定位是模型、Gateway 还是渠道的问题。6. 跑通之后把 OpenClaw 接进你的日常编码流消息收发跑通只是起点。OpenClaw 的 Gateway 支持多渠道路由你可以同时接飞书和 Telegram用同一套模型配置。如果你打算长期用它做编码助手或 Agent 任务建议把模型接入换成 Coding Plan额度和稳定性更适合持续调用https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。接入文档里有完整的渠道配置示例和事件说明遇到新渠道不会配时直接查https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。Key 管理在控制台https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。最后给一个实用技巧把~/.openclaw/workspace用 git 管起来SOUL.md和USER.md的每次调整都留 commit换机器时直接 clone 回来Gateway 配置单独用.env注入敏感字段别把 Key 写进版本库。这样你的 OpenClaw 助手就能稳定跟着你走而不是每次重装都从零调教。

相关新闻

AI编程工具插件开发指南:plugin.json与TypeScript SDK实战

AI编程工具插件开发指南:plugin.json与TypeScript SDK实战

1. 从“plugins”这个词说起:为什么它值得单独拎出来聊“plugins”这个词,放在任何技术栈里都不算新鲜,但放在 Cursor、Codex CLI、Zcode CLI 这一批新一代 AI 编程工具身上,它的分量完全不一样了。过去我们讲插件,脑子…

2026/10/4 19:55:48 阅读更多 →
BERT+CNN文本分类:原理、PyTorch实现与避坑指南

BERT+CNN文本分类:原理、PyTorch实现与避坑指南

简介:面向自然语言处理初学者与文本分类任务开发者,这份源码基于BERT预训练模型与text_cnn卷积网络实现文本分类能力,适合情感分析、新闻分类等场景,界面友好,可直接开展实验,亦可作为课程设计与项目原型参…

2026/10/4 19:55:48 阅读更多 →
从零搭建AI应用:提示词、RAG与Agent全链路工程实践

从零搭建AI应用:提示词、RAG与Agent全链路工程实践

我记得第一次接触“AI工程”这个概念时,以为就是用Python调一个大模型接口,把用户的问题扔进去,再把返回结果展示到网页上,仅此而已。真正上手做实际项目后才发现,那只是整个AI工程链条里最末端的一小截。真正的“ai-e…

2026/10/4 19:54:47 阅读更多 →

最新新闻

配置光猫的上网与IPTV通过LAN1口单线复用

配置光猫的上网与IPTV通过LAN1口单线复用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 22:02:09 阅读更多 →
STM32F745VG驱动MR25H40CDF MRAM:SPI配置与工业存储实战

STM32F745VG驱动MR25H40CDF MRAM:SPI配置与工业存储实战

1. 为什么工业现场还在用 MRAM,而不是继续堆 Flash如果你拆过工业网关、PLC 扩展模块或者电力监测终端,大概率会在板子上看到一颗 8 脚的小芯片,旁边紧挨着一颗 STM32 或者类似的 MCU。过去十年,这个位置基本被 SPI Flash 和 EEPR…

2026/10/5 22:02:09 阅读更多 →
STM32L496ZG 与 MR25H40CDF MRAM 高速存储方案实战

STM32L496ZG 与 MR25H40CDF MRAM 高速存储方案实战

1. 为什么偏偏是 MRAM 加 STM32L496ZG 这个组合搞嵌入式存储选型这些年,我经手的方案从 24C02 这种 I2C EEPROM 到 W25Q 系列 SPI Flash,再到铁电存储器 FRAM,几乎把能踩的坑都踩了一遍。直到项目里开始频繁出现“高频写入、掉电不能丢、还要…

2026/10/5 22:01:08 阅读更多 →
工业嵌入式存储方案:SPI MRAM与8位MCU的实战配置与掉电保护

工业嵌入式存储方案:SPI MRAM与8位MCU的实战配置与掉电保护

嵌入式存储方案里,SPI接口的MRAM和8位MCU的组合,算是工业场景里一个相当务实的搭配。MR25H40CDF这颗4Mb的磁性随机存储器,配合PIC18F96J94这颗带自编程能力的8位微控制器,能解决不少传统方案里掉电丢数据、写入寿命不够、写入速度…

2026/10/5 22:01:08 阅读更多 →
STM32L496ZG驱动MR25H40CDF:MRAM嵌入式存储实战

STM32L496ZG驱动MR25H40CDF:MRAM嵌入式存储实战

1. 为什么 MRAM 在嵌入式存储里越来越受关注搞过工业设备或者数据采集终端的朋友应该都有体会,选存储芯片这件事,看着简单,实际上坑特别多。EEPROM 写入慢、寿命有限;NOR Flash 擦除块大、写入前必须擦除;FRAM 速度快但…

2026/10/5 22:00:06 阅读更多 →
软考-系统架构师论文(一)

软考-系统架构师论文(一)

一、论文考试规则考试规则:120 分钟,4 道题目选 1 道写;总分 75,≥45 分及格;全文一般要求2000 字左右 摘要 300 字,机考(打字)二、核心考察目标不是作文,考架构落地经验…

2026/10/5 21:58:05 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →