☰
OpenClaw Windows 部署记录:从 npm 到飞书接入的完整链路与 TaoToken 统一 Key 配置
2026/10/2 18:28:46 网站建设 项目流程

1. Windows 下 OpenClaw 部署到底卡在哪:npm 全局安装与飞书接入的完整链路

OpenClaw 是一个可以在本地跑起来的 Agent 运行框架,能接飞书、接模型、跑命令,适合想把 AI 助手落到自己工作流里的人。但它在 Windows 上的部署体验,说实话不算顺滑——npm 全局装完找不到命令、插件安装报 spawn npm ENOENT、飞书事件订阅选不了长连接,这几个坑我基本都踩过一遍。这篇就把从 Node.js 环境准备、npm 安装 OpenClaw、配置模型通道,到飞书机器人创建、事件订阅、消息收发闭环的完整过程写清楚,重点放在可复制的命令和配置片段上。

适合谁看:手上有一台 Windows 机器,想用 OpenClaw 搭一个能收发飞书消息的本地 Agent,并且希望模型调用走统一 Key 管理、不想在多个平台之间来回切的人。整条链路跑通之后,你在飞书里给机器人发一句话,它会经过本地 OpenClaw 网关、调用你配置的模型通道、再把结果回传到飞书会话里。

先说清楚整体结构,避免你装到一半不知道自己在哪一步。整条链路分四层:最底层是 Node.js 运行时和 npm 包管理;往上是 OpenClaw 本体,通过 npm 全局安装,带一个 gateway 网关进程;再往上是模型通道,OpenClaw 需要知道去哪里调模型、用什么 Key;最上层是飞书,通过插件把飞书的消息事件接到 OpenClaw 的 channel 上。四层任何一层断了,表现都是"发消息没反应"或者"启动就报错",所以排查时要从下往上逐层确认。

我实测下来,最容易出问题的不是 OpenClaw 本身,而是两个地方:一是 Windows 的权限和路径,二是模型通道的 Key 配置。前者会导致 npm 全局安装后命令不可用,后者会导致网关起来了但一发消息就 401。这篇会把这两块单独拎出来讲,尤其是用 TaoToken 统一管理模型 Key 的部分,能省掉你在多个模型平台之间反复申请和切换的麻烦。

下面按顺序来:先装环境,再装 OpenClaw,然后配模型通道,接着装飞书插件、建飞书应用、配事件订阅,最后验证消息闭环。每一步都给命令和预期结果,你照着敲就行。

2. Node.js 与 npm 环境准备:Windows 上 OpenClaw 安装前的依赖检查

OpenClaw 要求 Node.js 22 及以上版本,这个不是随便写的,低版本会在安装依赖时直接报引擎不匹配。先去 Node.js 官网下载对应版本,Windows 选 msi 安装包,一路下一步即可。安装时注意勾选"Add to PATH",否则后面 npm 命令在 cmd 里找不到。

装完 Node.js 之后还要装 Git,OpenClaw 的部分依赖会从 Git 仓库拉取,没有 Git 会报 spawn git ENOENT。Git 官网下载 Windows 版,默认选项安装就行。

两个都装完,打开一个新的 cmd 窗口(一定要新开,让 PATH 生效),依次执行:

node -v npm -v git -v

预期输出类似:

v22.14.0 10.9.2 git version 2.47.1.windows.1

三个版本号都能打出来,环境就算齐了。如果 node -v 报"不是内部或外部命令",说明 PATH 没配好,重装 Node.js 并确认勾选 Add to PATH,或者手动把 Node 安装目录加进系统环境变量。

接下来有个 Windows 特有的注意点:安装和配置 OpenClaw 建议放在用户目录下,也就是 C:\Users\你的用户名,不要放在 C:\Program Files 这类需要管理员权限的目录。原因是 OpenClaw 运行时会写配置文件、装插件、生成日志,放在受保护目录里会频繁触发权限问题。所以先切到用户目录:

cd C:\Users\你的用户名

这里的"你的用户名"换成你实际的 Windows 登录名,可以在 cmd 里输入 echo %USERNAME% 查看。切过去之后,后面所有命令都在这个目录下执行。

还有一个容易被忽略的点:cmd 建议以管理员身份运行。不是所有步骤都需要管理员权限,但 OpenClaw 安装系统服务(daemon)那一步会用到,提前用管理员身份打开能少一次重启终端的麻烦。右键"命令提示符"选择"以管理员身份运行"即可。

环境这块总结一下就是三件事:Node.js 22+、Git、用户目录 + 管理员 cmd。这三样准备好,后面 npm 安装基本不会因为环境问题失败。我见过不少人卡在第一步就是因为用了旧版 Node,或者把项目放在了需要权限的目录,结果 npm install 报一堆 EPERM 错误,其实换个目录就好了。

3. npm 全局安装 OpenClaw 与模型通道配置:用 TaoToken 统一 Key 管理

环境齐了就开始装 OpenClaw。用 npm 全局安装是最省事的方式,失败率也低:

npm install -g openclaw@latest

装完验证一下:

openclaw --version

能打出类似 0.x.x 的版本号就说明装好了。如果报"不是内部或外部命令",多半是 npm 全局 bin 目录没在 PATH 里,执行 npm config get prefix 看看全局目录在哪,把它加进 PATH。

接着跑初始化向导。首次安装建议带上 --install-daemon,顺便把系统服务装上,这样 OpenClaw 网关能后台常驻:

openclaw onboard --install-daemon

如果只是改配置,后面单独跑 openclaw onboard 就行。向导会依次问你几个问题:安全权限提示选 yes;运行模式如果只是快速看效果选 QuickStart,要接自己的模型通道就选 Manual;模型选择这一步先随便选一个能过的,重点是后面把通道换成统一 Key。

这里就是本篇的核心配置环节。OpenClaw 的模型通道配置写在用户目录下的 openclaw.json 里,路径是 C:\Users\你的用户名.openclaw\openclaw.json(不同版本可能略有差异,以向导生成的为准)。你要做的是把模型调用的 Base URL 和 Key 指向 TaoToken 的统一通道,这样不管后面换哪个模型,都只改 Model ID,不用重新申请 Key。

TaoToken 的 API 地址是 https://taotoken.net/api,Key 在控制台的 API Keys 页面创建。配置片段长这样,直接替换进 openclaw.json 对应位置:

{ "models": { "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "model": "claude-sonnet-4-5", "type": "anthropic" } }, "default": "taotoken" } }

三个关键字段对齐一下:Base URL 填 https://taotoken.net/api,Key 填你在控制台创建的 sk- 开头的密钥,Model ID 填你要用的模型标识。这三个就是接入任何 OpenAI/Anthropic 兼容通道的"三件套",缺一个都会在发请求时报错。

如果你用的是 Claude Code 这类工具,配置思路一样,只是文件位置不同。Claude Code 的配置在 settings.json 里,把 env 段的 ANTHROPIC_BASE_URL 指向 https://taotoken.net/api,ANTHROPIC_API_KEY 填 TaoToken 的 Key 即可。Codex 的话看 auth.json,同样是 Base URL + Key + Model ID 三件套。

配完保存,重启网关让配置生效:

openclaw gateway restart

这一步做完,OpenClaw 就已经能通过 TaoToken 统一通道调模型了。你可以先在 Web UI 里发一句话测试,能正常回复就说明模型通道通了。如果报 401,八成是 Key 填错或者没重启网关;如果报连接超时,检查 baseUrl 是不是写成了带路径的完整地址。

4. 飞书插件安装与机器人创建:openclaw plugins install feishu 报错处理

模型通道通了,接下来把飞书接进来。先装飞书插件:

openclaw plugins install feishu

这一步我遇到过好几次报错,最常见的是:

Error: spawn npm ENOENT

原因是 OpenClaw 调 npm 时找不到可执行文件,Windows 上路径解析有问题。解决办法是手动下载插件包再本地安装。先下载:

curl -O https://registry.npmjs.org/@m1heng-clawd/feishu/-/feishu-0.1.1.tgz

然后本地安装:

openclaw plugins install ./feishu-0.1.1.tgz

如果安装过程中报缺库,补一个飞书官方 SDK:

npm install @larksuiteoapi/node-sdk

装完后去用户目录下的 .openclaw\extensions 里看,能看到一个 feishu 文件夹就说明插件装好了。

插件就位后,去飞书开放平台创建应用。地址是 https://open.feishu.cn/app,点"创建企业自建应用",填应用名称和描述,创建完进入应用详情页。

第一步,添加机器人能力:左侧菜单"添加应用能力",找到"机器人"点添加。

第二步,配权限。左侧"权限管理",点"批量导入/导出权限",把需要的权限 JSON 粘进去申请开通。权限范围按你实际要用的功能来,消息收发至少要包含 im:message、im:message:send_as_bot、im:message.p2p_msg:readonly 这几项。权限给多了审核慢,给少了功能跑不起来,按需勾选。

第三步,拿凭证。左侧"凭证与基础信息",能看到 App ID 和 App Secret,这两个就是 OpenClaw 配置飞书 channel 要用的。

回到终端,跑配置命令:

openclaw config

依次选 Local → 配置 Channel → 飞书,然后把 App ID 和 App Secret 填进去。填完检查一下 openclaw.json 里的 channels 段,确认配置写进去了:

{ "channels": { "feishu": { "enabled": true, "connectionMode": "websocket", "domain": "feishu", "groupPolicy": "open", "accounts": { "main": { "appId": "cli_xxxxxxxxxxxxx", "appSecret": "your_app_secret_here" } } } } }

connectionMode 一定要是 websocket,这是长连接模式,飞书事件订阅那边也要对应选长连接,两边不一致会收不到消息。配完重启网关:

openclaw gateway restart

5. 飞书事件订阅与消息闭环验证:长连接收不到消息怎么排查

网关重启后,回到飞书开放平台配事件订阅。左侧"事件与回调",订阅方式选"长连接",保存。然后点"添加事件",至少启用这两个:

im.message.receive_v1 接收消息 im.message.message_read_v1 消息已读

加完事件,去"版本管理与发布"创建版本,填版本号和说明,提交发布。企业自建应用一般需要管理员审核,审核通过后应用才生效。

发布通过后,在飞书左上角搜索框输入你给应用起的名字,找到机器人,发一条消息试试。第一次发消息,机器人可能会回一段提示,让你去终端激活,把提示里最后一行命令粘到终端跑一下就行。激活后再发消息,就能正常对话了。

到这里,从 npm 安装到飞书消息收发的闭环就跑通了。下面把这一路最常见的几个报错集中列一下,方便你对号入座。

401 未授权:模型通道的 Key 填错,或者网关没重启。检查 openclaw.json 里 apiKey 字段,确认是 TaoToken 控制台创建的 sk- 开头的 Key,然后 openclaw gateway restart。

local proxy failed:本地代理连接失败,通常是 baseUrl 写错或者网络不通。确认 baseUrl 是 https://taotoken.net/api,不要多加路径,也不要用 http。

reading choices 相关报错:模型返回格式和 OpenClaw 预期不一致,多半是 Model ID 填错,或者通道类型(type 字段)和实际模型不匹配。Anthropic 系模型 type 填 anthropic,OpenAI 系填 openai。

OAuth 相关报错:飞书侧鉴权问题,检查 App ID 和 App Secret 是否和开放平台一致,权限是否审核通过,事件订阅是否选了长连接。

spawn npm ENOENT:前面讲过的插件安装报错,用手动下载 tgz 再本地安装的方式绕过。

飞书发消息没反应:按顺序查——网关是否在跑(openclaw gateway status)、channel 是否 enabled、connectionMode 是否 websocket、事件是否订阅、版本是否发布。这五步任何一步没做,消息都进不来。

6. 把模型调用收口到 TaoToken:长期跑 Agent 的 Key 管理建议

整条链路跑通之后,你会发现真正需要长期维护的其实就两件事:飞书侧的权限和事件,以及模型侧的 Key 和通道。飞书侧配好基本不用动,模型侧才是会频繁调整的地方——今天想换更强的模型,明天想加一个备用通道,如果每个平台都单独申请 Key、单独配一遍,维护成本很快就上来了。

用 TaoToken 统一 Key 的好处就在这里:Base URL 固定是 https://taotoken.net/api,Key 在控制台统一管理,换模型只改 Model ID 一个字段。OpenClaw 的 openclaw.json、Claude Code 的 settings.json、Codex 的 auth.json,三件套都是 Base URL + Key + Model ID,配一次就能在多个工具之间复用同一套凭证。

如果你打算长期跑 Agent,建议把 Key 按用途分开建,比如一个专门给 OpenClaw 用,一个给编码工具用,这样哪个 Key 出问题或者要轮换,影响范围可控。控制台里可以随时创建和吊销,不用改代码。

需要看模型通道当前支持哪些模型、或者验证 Key 是否可用,可以直接在模型对话页面发一条测试消息,比在终端里反复试快得多。接入文档里有各工具的完整配置示例,OpenClaw、Claude Code、Codex 都有对应章节,照着改字段就行。

最后给一个实用建议:OpenClaw 涉及命令执行和网络访问,跑起来之后注意别把网关暴露到公网,飞书侧权限也按最小必要给。配置文件和 Key 不要提交到 Git 仓库,openclaw.json 里是有明文密钥的。这些细节做好,这套本地 Agent 就能稳定跑下去了。

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

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

立即咨询