ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

openclaw在ubuntu系统的安装:从Node.js环境到飞书接入的TaoToken配置实录

2026/10/7 14:50:58 拓冰建站 浏览量
openclaw在ubuntu系统的安装:从Node.js环境到飞书接入的TaoToken配置实录 1. Ubuntu 上跑 openclaw 到底卡在哪Node.js 版本与飞书接入的真实场景openclaw 是一个可以自托管的 AI 助手网关它能把你常用的聊天工具飞书、Telegram 等和任意兼容 OpenAI 协议的大模型服务串起来适合想在自己服务器上搭一套私有 AI 助手的开发者。它的核心检索词就是 openclaw、ubuntu、安装、Node.js、飞书接入这几个本文会把这条链路完整走一遍。我在一台 Ubuntu 24.04 的机器上从零开始装踩过的坑主要集中在三块Node.js 版本不对导致安装脚本中途报错、网关默认只绑定 127.0.0.1 导致局域网和飞书回调连不上、以及模型通道默认指向官方端点而国内访问不稳定。前两个是 openclaw 自身配置问题第三个就是本文要重点解决的——把模型调用通道切到 TaoToken。先说清楚整体路径避免你装到一半不知道自己在哪一步第一步确认系统环境装好 Node.js 22 以上推荐 24 LTS和基础依赖第二步用一键脚本安装 openclaw 本体第三步跑初始化配置生成~/.openclaw/openclaw.json第四步把模型供应商改成 TaoToken填 Base URL、API Key、Model ID 三件套第五步配置网关绑定和飞书机器人让消息能从飞书进来、经模型处理、再回传。这套流程在无图形界面的服务器上也能跑通只是仪表盘要通过 SSH 隧道访问。下面每一步我都会给出可直接复制的命令和配置片段你照着敲就行。如果你只是想先验证模型通道通不通可以跳过飞书部分先把第四步做完用命令行测一次对话。需要提前说明的是openclaw 的安装脚本会在检测到 Node 缺失时自动装 Node 24但如果你系统里已经有一个低版本 Node比如 18脚本可能不会覆盖导致后续运行时报语法或模块错误。所以第一步手动确认版本比什么都重要。2. 装 Node.js 与依赖openclaw 安装前的环境准备openclaw 对运行时的要求写得很明确Node.js 22 或更高推荐 Node 24 LTS。Ubuntu 24.04 自带的 apt 源里 Node 版本通常偏低直接用apt install nodejs大概率装到 18 或 20所以要走 NodeSource 的源或者 nvm。我习惯用 NodeSource因为它是系统级的systemd 服务调用时不会找不到 node 路径。如果你用 nvm后面配 systemd user service 时可能要额外指定 node 的绝对路径麻烦一点。先更新系统并装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl git build-essentialbuild-essential别省openclaw 部分依赖带原生模块缺 gcc/make 会在 npm 安装阶段报 node-gyp 错误。接着装 Node 24curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt install -y nodejs装完验证node -v npm -v正常应该输出v24.x.x和对应的 npm 版本。如果node -v还是旧版本说明 PATH 里有别的 node用which node查一下把旧的删掉或调整 PATH 顺序。如果你更倾向 nvm可以这样curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash source ~/.bashrc nvm install 24 nvm use 24 nvm alias default 24nvm 装完后记得nvm alias default 24否则新开终端又回到系统默认版本。还有一个容易被忽略的点时区和 locale。飞书回调对时间戳敏感如果服务器时区不对消息签名校验可能失败。检查一下timedatectl如果时区不是 Asia/Shanghai执行sudo timedatectl set-timezone Asia/Shanghai。环境准备好之后建议先给系统拍个快照如果你在虚拟机或云主机上。openclaw 安装脚本会改动一些系统配置出问题回滚比排查快。到这里 Node.js 环境就绪可以进入 openclaw 本体安装了。这一步的核心检索词就是 openclaw 在 ubuntu 的安装环境对了后面基本不会卡。3. 安装 openclaw 并接入 TaoToken可复制的配置文件片段openclaw 官方提供了一键安装脚本curl -fsSL https://openclaw.ai/install.sh | bash脚本会检测 Node 版本、下载 openclaw 包、注册命令行工具。装完后验证openclaw --version能输出版本号类似OpenClaw 2026.5.20就说明本体装好了。接下来跑初始化openclaw configure交互过程里几个关键选择个人单用户使用选 Yes配置模式选 QuickStart它会生成一套安全的默认配置AI 模型提供商这一步先随便选一个或跳过因为我们马上要手动改成 TaoToken聊天对接通道可以选飞书也可以先跳过后面单独配Skills 先选 No后续随时加。配置完成后所有设置都存在~/.openclaw/openclaw.json。这个文件是核心模型通道、网关绑定、飞书凭证都在里面。你可以直接编辑它也可以用openclaw config set命令改。现在把模型通道切到 TaoToken。TaoToken 提供兼容 OpenAI 协议的接口所以 openclaw 里选 openai 类型的 provider 即可只是把 Base URL 换掉。先拿到 API Key访问 https://taotoken.net/api-keys 创建然后编辑配置文件。用命令改的方式openclaw config set providers.taotoken.type openai openclaw config set providers.taotoken.baseUrl https://taotoken.net/api openclaw config set providers.taotoken.apiKey sk-你的Key openclaw config set providers.taotoken.model claude-sonnet-4-5 openclaw config set agent.defaultProvider taotoken如果你更喜欢直接编辑 JSON打开~/.openclaw/openclaw.json找到 providers 段改成这样{ providers: { taotoken: { type: openai, baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, model: claude-sonnet-4-5 } }, agent: { defaultProvider: taotoken } }注意 Base URL 结尾不要带/v1openclaw 会自己拼/v1/chat/completions。如果你填成https://taotoken.net/api/v1请求路径会变成/api/v1/v1/chat/completions直接 404。Model ID 要写 TaoToken 支持的模型名比如claude-sonnet-4-5、gpt-4o这类。写错模型名会返回 model not found排查时先确认这一项。改完配置重启网关openclaw gateway restart如果你在容器里跑systemd 不可用就直接前台启动openclaw gateway run这一步做完模型通道就指向 TaoToken 了。三件套Base URL API Key Model ID缺一不可任何一项错都会在下一步验证时暴露。4. 验证一条消息从飞书到模型再回传完整链路测试配置改完别急着接飞书先用命令行验证模型通道通不通这样出问题能快速定位是模型侧还是飞书侧。openclaw 提供了直接对话的命令openclaw chat 你好用一句话介绍你自己如果配置正确几秒内会返回模型输出。如果报 401说明 API Key 错了或没生效如果报 connection refused 或超时检查 Base URL 和网络如果报 model not found检查 Model ID。命令行通了之后再配飞书。先去飞书开放平台 https://open.feishu.cn/ 的开发者后台创建应用拿到 App ID 和 App Secret。然后在 openclaw 里配置openclaw config set channels.feishu.enabled true openclaw config set channels.feishu.appId 你的AppID openclaw config set channels.feishu.appSecret 你的AppSecret openclaw gateway restart飞书后台还需要配置事件订阅和权限。在「事件与回调」里把请求地址填成你的网关公网地址加回调路径通常是http://你的域名或IP:18789/channels/feishu/events。权限方面至少开im:message和im:message:send_as_bot否则机器人收不到也发不出消息。网关默认只绑定 127.0.0.1飞书回调进不来所以要改成 lanopenclaw config set gateway.bind lan openclaw gateway restart验证监听netstat -tulnp | grep 18789看到0.0.0.0:18789就对了。如果还是127.0.0.1:18789说明配置没生效检查~/.openclaw/openclaw.json里 gateway.bind 的值。现在在飞书里给机器人发一条消息比如「今天天气怎么样」。完整链路是飞书服务器把消息推到你网关的/channels/feishu/eventsopenclaw 解析后调用 TaoToken 的/v1/chat/completions拿到模型回复再通过飞书 API 发回给你。第一次发消息时openclaw 可能会要求配对批准。看日志或执行openclaw devices list openclaw pairing approve feishu 配对码批准后机器人就能正常对话了。如果消息发出去没反应按这个顺序查网关有没有收到请求看日志/tmp/openclaw/openclaw-*.log、模型调用有没有报错、飞书发送权限够不够。无图形界面时想看仪表盘用 SSH 隧道ssh -N -L 18789:127.0.0.1:18789 root你的服务器IP -p 你的SSH端口然后本地浏览器开http://localhost:18789/token 从cat ~/.openclaw/openclaw.json | grep token拿拼到 URL 后面。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节把几个高频报错对照着说都是我在实际部署里遇到的。401 Unauthorized最常见。原因通常是 API Key 没填对、Key 前后有空格、或者配置文件改了但没重启网关。先确认~/.openclaw/openclaw.json里providers.taotoken.apiKey的值然后openclaw gateway restart。如果还报 401用 curl 直接测一下 Key 是否有效curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d {model:claude-sonnet-4-5,messages:[{role:user,content:hi}]}curl 通了说明 Key 没问题那就是 openclaw 配置没加载。local proxy failed / ECONNREFUSED网关没起来或者绑定地址不对。先openclaw gateway status看服务状态。如果显示systemd user services unavailable说明你在无 systemd 的环境容器、某些精简系统直接openclaw gateway run前台跑。如果提示Loopback-only gateway就是 bind 还是 loopback改成 lan 重启。reading choices of undefined这个报错说明 openclaw 拿到了响应但结构不对通常是 Base URL 填错导致返回了 HTML 错误页而不是 JSON。检查 baseUrl 是不是https://taotoken.net/api结尾别多/v1。也可能是模型名写错服务端返回了错误对象openclaw 解析choices时拿到 undefined。OAuth 相关报错如果你在配置里选了需要 OAuth 的 provider比如某些官方直连但没走完授权流程就会卡在 OAuth。解决办法是确认agent.defaultProvider指向的是taotoken而不是别的。检查openclaw config get agent.defaultProvider不是 taotoken 就改回来。飞书回调 404 或签名失败回调地址路径写错或者 App Secret 不对。飞书后台的请求地址要和你网关实际路径一致。签名失败多半是 App Secret 填错或服务器时间偏差太大用timedatectl确认时间同步。网关起来了但飞书收不到消息检查飞书后台事件订阅有没有开、权限有没有加、机器人有没有被拉进群或开启单聊。openclaw 侧看日志确认有没有收到 POST 请求。排查的核心思路是分层先确认模型通道curl 直测再确认网关netstat 看监听最后确认飞书后台配置 日志。哪一层断了就修哪层别一上来就改配置。6. 把通道固定下来TaoToken 在 openclaw 里的长期用法模型通道切到 TaoToken 之后日常使用基本不用再动配置。但有几个习惯能让它更稳。第一把 API Key 和 Base URL 记在一个地方比如你自己的密码管理器。openclaw 的配置文件是明文存的服务器如果多人用注意文件权限chmod 600 ~/.openclaw/openclaw.json第二模型 ID 可以按任务切换。openclaw 支持在对话里指定 provider你也可以在配置里配多个 provider 然后切默认。比如日常对话用便宜快的模型复杂任务切到能力强的。TaoToken 的模型列表在 https://taotoken.net/models 可以查选一个适合你场景的填进providers.taotoken.model。第三如果你要长期跑 coding 或 Agent 类任务可以考虑 TaoToken 的 Coding Plan它在长上下文和连续调用上更划算配置方式一样只是 Key 和套餐不同。具体在 https://taotoken.net/coding-plan 看。第四网关建议用 systemd 托管这样重启服务器后自动拉起。无 systemd 的环境可以用 supervisor 或 nohup。systemd 方式sudo loginctl enable-linger $(whoami) export XDG_RUNTIME_DIR/run/user/$(id -u) openclaw gateway install装完systemctl --user status openclaw看状态。第五飞书机器人配好后建议在群里先小范围测确认消息收发、多轮对话、图片消息都正常再放开给更多人用。openclaw 的 Skills 可以后续按需加比如让它能查天气、读文档这些在openclaw configure里随时补。整套跑下来你得到的是一个跑在自己 Ubuntu 服务器上的 AI 助手模型通道走 TaoToken聊天入口是飞书。配置文件和命令都在上面照着做基本一次能通。真遇到卡住的地方优先看/tmp/openclaw/openclaw-*.log里的日志报错信息比猜有用得多。