☰
养小龙虾第1步-Windows10 安装 OpenClaw+飞书接入教程:把 settings 改到 TaoToken
2026/10/3 6:32:01 网站建设 项目流程

1. Windows10 下 OpenClaw 安装前,先把 nvm 和 node.js 版本理顺

很多人第一次在 Windows10 上折腾 OpenClaw,卡住的地方往往不是 OpenClaw 本身,而是 node.js 版本太乱。系统里可能之前装过 node,又装过别的工具自带的 node,node -v一查是 v16,npm -v又指向另一个目录,后面 OpenClaw 安装脚本一跑就报错。所以这一步的核心思路是:先用 nvm 把 node.js 版本管理权收回来,再固定一个 OpenClaw 能稳定跑的版本。

nvm 是什么?你可以把它理解成「node.js 的版本切换器」。同一台 Windows10 上可以同时存在 v18、v20、v22 多个版本,用一条命令切换当前用哪个。OpenClaw 这类工具对 node 版本有要求,统一用 nvm 管理,后面升级、回退都不会把系统环境搞脏。适合谁?适合所有在 Windows 上做 AI 工具接入、又不想每次重装系统的开发者。

我试过在一台老 Win10 机器上直接装 node,结果 OpenClaw 的安装脚本跑到一半提示npm ERR! engine,查了半天是 node 版本不匹配。后来改用 nvm 重装,问题直接消失。所以下面这套流程,建议你从头跟着走,不要跳步。

先确认你的 Windows10 是 64 位,然后去 nvm-windows 的 Releases 页面下载nvm-setup.exe。安装过程一路 Next,注意安装路径不要带中文和空格,比如默认的C:\Users\你的名字\AppData\Roaming\nvm就行。装完之后,一定要用管理员权限打开 PowerShell:按 Win 键 + S,搜索 PowerShell,右键选择「以管理员身份运行」。普通权限下 nvm 切换版本有时会写不进系统路径。

在管理员 PowerShell 里依次执行:

nvm version nvm install 22 nvm use 22 node -v npm -v

nvm install 22会拉取 node.js 22 系列的最新版。执行nvm use 22后,如果看到类似Now using node v22.x.x (64-bit)的提示,说明切换成功。再跑node -v和npm -v确认版本号能正常输出。如果nvm use报「exit status 1」或者提示权限不足,八成是没用管理员权限,关掉重开一次即可。

这里有个细节:nvm 安装时会问你要不要把已有的 node 版本纳入管理,如果你之前装过 node,建议选「是」,这样旧版本也能被 nvm 接管,不会出现两个 node 打架。装完 node 22 之后,npm 会随 node 一起带上,不需要单独装。

到这一步,你的 Windows10 就有了一个干净的 node.js 22 环境。接下来 OpenClaw 的安装脚本才能顺利跑起来。记住,node 版本是后面所有步骤的地基,地基不稳,飞书接入和 API 配置都会跟着出问题。

2. OpenClaw 一键安装与飞书机器人接入的完整链路

node 环境就绪后,就可以装 OpenClaw 了。OpenClaw 是一个面向 AI 工具链的本地运行框架,能帮你把模型调用、机器人接入、配置管理串起来。在 Windows10 上它提供了一键安装脚本,直接在管理员 PowerShell 里执行:

iwr -useb https://openclaw.ai/install.ps1 | iex

这条命令的意思是:用iwr(Invoke-WebRequest)下载安装脚本,再用iex(Invoke-Expression)执行。如果执行时窗口一闪就没了,或者报「无法加载文件,因为在此系统上禁止运行脚本」,那是 PowerShell 的执行策略在拦。先跑这一条:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

然后输入Y确认,再重新执行安装脚本。安装完成后,用openclaw --version验证是否装好。如果提示找不到命令,检查一下 npm 全局路径有没有加到系统 PATH,通常重开一个 PowerShell 窗口就能识别。

OpenClaw 装好后,下一步是接入飞书机器人。飞书这边需要你先在飞书开放平台创建一个「企业自建应用」,拿到三个关键参数:App ID、App Secret,以及配置好事件订阅后的Verification Token。创建应用的入口在飞书开放平台后台,选「创建企业自建应用」,填个名字比如「OpenClaw助手」,然后进入应用详情页。

在「凭证与基础信息」里能看到 App ID 和 App Secret。接着去「事件订阅」页面,配置请求地址。这个地址需要指向你本地 OpenClaw 暴露的 webhook 端口,比如http://你的公网地址:3000/feishu/event。本地开发时可以用内网穿透工具把端口映射出去,但注意不要用任何违规的网络工具,用正规的端口映射服务即可。配置事件时,勾选「接收消息」相关的事件,比如im.message.receive_v1。

然后在「权限管理」里开通机器人发消息、读消息的权限,比如im:message、im:message:send_as_bot。开通后记得点「创建版本并发布」,否则权限不生效。

回到 OpenClaw 这边,它的配置文件通常在用户目录下的.openclaw文件夹里,文件名可能是config.json或settings.json。你需要把飞书的参数填进去。一个典型的配置片段长这样:

{ "feishu": { "appId": "cli_xxxxxxxxxxxx", "appSecret": "xxxxxxxxxxxxxxxxxxxxxxxx", "verificationToken": "xxxxxxxxxxxxxxxx", "encryptKey": "", "port": 3000, "path": "/feishu/event" } }

appId和appSecret就是飞书后台那两串,verificationToken在事件订阅页面能找到。port和path要和你在飞书后台填的请求地址保持一致。填完后重启 OpenClaw 服务,让配置生效。

飞书接入最容易踩的坑是「请求地址校验失败」。飞书在保存事件订阅地址时会发一个 challenge 请求,你的 OpenClaw 必须能正确返回 challenge 值。如果 OpenClaw 没启动、端口没通、或者路径写错,飞书后台就会提示校验不通过。所以配置顺序建议是:先启动 OpenClaw,确认本地端口能访问,再去飞书后台填地址。

3. 把 settings 改到 TaoToken 统一 Key/API 通道

飞书接入通了之后,OpenClaw 还需要一个模型通道来真正干活。默认情况下它可能指向某些公共接口,但为了统一管理和稳定调用,建议把 settings 里的 API 通道改到 TaoToken。TaoToken 提供统一的 Key 和 API 入口,你只需要在配置里改 Base URL 和 Key,就能让 OpenClaw 走这条通道。

先到 TaoToken 官网注册并创建一个 API Key。拿到 Key 之后,打开 OpenClaw 的 settings 配置文件。不同版本的 OpenClaw 配置字段名可能略有差异,但核心就三个:baseUrl、apiKey、model。下面是一个可复制的配置片段,路径和字段名按你本地实际文件为准:

{ "model": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "modelId": "claude-sonnet-4-20250514", "timeout": 60000 } }

如果你用的是 TOML 格式的配置,等价写法是:

[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model_id = "claude-sonnet-4-20250514" timeout = 60000

这里三个要素必须齐全:Base URL 填https://taotoken.net/api,API Key 填你申请到的密钥,Model ID 填你要调用的模型标识。少一个都会导致请求失败。改完配置后,重启 OpenClaw,让它重新加载 settings。

如果你同时用 Claude Code 或者 Cline 这类工具,也可以把它们的配置指向同一个 TaoToken 通道。比如 Claude Code 的 settings 里,把ANTHROPIC_BASE_URL设成 TaoToken 的 API 地址,ANTHROPIC_API_KEY设成你的 Key。这样多个工具共用一个 Key,额度和管理都集中在一处,不用每个工具单独配。

改配置的时候有个小技巧:先把原来的 settings 文件备份一份,改坏了能快速回滚。另外,Key 不要直接提交到 Git 仓库,放在本地配置文件里就行。如果 OpenClaw 支持环境变量读取,优先用环境变量注入 Key,比明文写在文件里更安全。

配置改完后,别急着跑飞书消息,先用一条简单的 API 请求验证通道是否通。下一节会给出具体的验证命令和预期返回。

4. 验证 API 连通性与飞书消息回环测试

配置改完,最重要的一步是验证。很多人改完 settings 就直接去飞书发消息,结果机器人没反应,也不知道是 API 通道的问题还是飞书接入的问题。所以先单独验证 API 通道,再验证飞书回环,把问题隔离出来。

验证 API 通道,用 curl 或者 PowerShell 的Invoke-RestMethod都行。在 PowerShell 里执行:

$headers = @{ "Authorization" = "Bearer sk-你的TaoToken密钥" "Content-Type" = "application/json" } $body = @{ "model" = "claude-sonnet-4-20250514" "messages" = @( @{ "role" = "user"; "content" = "你好,请回复ok" } ) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri "https://taotoken.net/api/v1/chat/completions" -Method Post -Headers $headers -Body $body

如果通道正常,你会看到返回的 JSON 里包含choices字段,里面有模型回复的内容。预期返回结构大致是:

{ "id": "chatcmpl-xxxx", "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "ok" }, "finish_reason": "stop" } ] }

看到choices里有内容,说明 Base URL、Key、Model ID 三件套都对了。如果返回 401,说明 Key 不对或者没带上Bearer前缀;如果返回 404,检查 Base URL 是不是写成了https://taotoken.net/api而不是别的路径;如果报reading choices之类的解析错误,通常是返回体不是预期的 JSON 结构,可能是 Base URL 指错了地方。

API 通道验证通过后,再测飞书回环。在飞书里给你的机器人发一条消息,比如「测试」。OpenClaw 收到飞书事件后,会调用模型通道生成回复,再通过飞书 API 发回给你。如果几秒内收到回复,说明整条链路通了:飞书 → OpenClaw → TaoToken → 模型 → OpenClaw → 飞书。

如果飞书没反应,先看 OpenClaw 的日志。日志里通常会打印收到的事件和调用模型的结果。如果日志显示收到了飞书事件但调用模型失败,那就是 settings 里的 API 配置还有问题;如果日志里根本没有飞书事件,那就是飞书后台的请求地址或权限没配对。

还有一个常见情况:飞书消息发出去了,但机器人回复很慢或者超时。这可能是timeout设得太短,模型还没返回就被掐断了。把 timeout 调到 60000 毫秒以上试试。另外,飞书对机器人回复有频率限制,短时间内发太多消息可能被限流,测试时一条一条来。

5. 本篇常见报错排查:401、local proxy failed、reading choices、OAuth

这一节把几个高频报错集中拆解一下,方便你对照日志快速定位。

401 Unauthorized:这个最直接,就是 Key 的问题。检查三处:Key 有没有复制完整(前后不要有空格)、请求头里有没有Bearer前缀、Key 有没有过期或被禁用。如果你用的是环境变量注入,确认环境变量名和配置文件里读的名字一致。有时候在 PowerShell 里设了环境变量,但 OpenClaw 是以服务方式启动的,读不到当前会话的环境变量,这种情况把 Key 直接写进配置文件更稳。

local proxy failed:这个报错通常出现在 OpenClaw 尝试通过本地代理转发请求时。如果你系统里设过 HTTP 代理,OpenClaw 可能会去连一个不存在的本地端口。解决办法是检查系统代理设置,或者在 OpenClaw 配置里显式关闭代理,比如加一个"proxy": ""或者设置NO_PROXY环境变量。注意,这里说的是本地网络配置层面的代理设置,不要使用任何违规的网络工具,用直连方式访问 API 即可。

reading choices 报错:完整报错可能是Cannot read properties of undefined (reading 'choices')。这说明代码期望返回体里有choices字段,但实际返回的不是预期结构。常见原因有两个:一是 Base URL 指错了,请求打到了某个返回 HTML 的地址;二是 Model ID 写错了,服务端返回了错误信息而不是正常的 completion 结构。先用上一节的 curl 命令单独测一下,确认返回体里确实有choices。

OAuth 相关报错:如果你在配置里用了 OAuth 方式认证,可能会遇到 token 过期或 scope 不足的问题。OpenClaw 如果支持 API Key 方式,优先用 API Key,比 OAuth 少一层刷新逻辑。如果必须用 OAuth,检查 token 的有效期和权限范围,确保包含了调用模型所需的 scope。

排查顺序建议是:先看 OpenClaw 日志的最后几行,找到具体报错关键词;再用 curl 单独测 API 通道;最后检查飞书后台的事件订阅和权限。把问题分层隔离,比盲目改配置高效得多。

另外,如果你同时用了 Claude Code 或者 Cline,它们的报错信息可能和 OpenClaw 不一样,但排查思路一致:先确认 Base URL、Key、Model ID 三件套,再看网络连通性,最后看权限和配额。

6. 跑通之后:把 TaoToken 通道固定下来,后续少折腾

整条链路跑通之后,建议做两件事让环境更稳定。第一,把 OpenClaw 的 settings 文件纳入版本管理(Key 用占位符),这样换机器或者重装时能快速恢复配置。第二,把 TaoToken 的 API Key 和 Base URL 记在一个安全的地方,后面接其他工具时直接复用。

如果你后面还要接 Claude Code、Cline 或者 Codex 这类编码工具,它们的配置逻辑和 OpenClaw 类似,都是填 Base URL、Key、Model ID。你可以到 TaoToken 的控制台创建不同的 Key 给不同工具用,方便按工具维度看用量。需要看模型对话效果的话,可以直接在模型对话页面测试;长期做编码和 Agent 任务的话,Coding Plan 会更合适。

飞书这边,如果机器人要上生产,记得把事件订阅的请求地址换成稳定的公网地址,并且开启签名校验。本地测试用的临时地址不要长期挂着。OpenClaw 的日志建议保留一段时间,出问题时能回溯。

最后提醒一句:node 版本、OpenClaw 配置、飞书参数、TaoToken 通道,这四块任何一块变动,都建议重新跑一遍验证请求。环境这东西,改完就测,比事后猜要省时间。

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

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

立即咨询