总结从解决 .bat 关联失效到成功搭建 OpenClaw + Ollama + 飞书桥接器 全流程的经验。你可以将其收藏,作为日后的"排障手册"。

第一部分:Windows 环境基础修复
1. .bat 文件无法打开或右键无"打开方式"
- 现象:双击脚本没反应,或者右键菜单里找不到"打开方式"。
- 根源 :Windows 注册表中的脚本关联损坏,系统不认识
.bat执行引擎。 - 修复方法:
- 以管理员身份打开 CMD,运行:
assoc .bat=batfile和ftype batfile="%1" %*。 - 进阶编辑 :若想编辑代码,按住 Shift + 右键 往往能强制调出隐藏的"打开方式"。
第二部分:AI 服务一键启动配置
为了方便日后一键启动并自动对齐 Token,请保留以下优化后的脚本。
1. 自动化启动脚本 (start_ai.bat)
该脚本解决了多窗口杂乱 和 Token 不匹配的问题。
batch
@echo off
chcp 65001
:: 1. 定义安全令牌 (用于 Bridge 与 Gateway 握手)
set "MY_TOKEN=xx"
:: 2. 飞书 API 配置
set "FEISHU_APP_ID=xx"
set "FEISHU_APP_SECRET=xx"
set "GATEWAY_TOKEN=%MY_TOKEN%"
:: 3. 使用 Windows Terminal (wt) 在标签页中启动
wt -w 0 nt --title "Ollama Server" cmd /k "ollama serve"; ^
nt --title "OpenClaw Gateway" cmd /k "openclaw gateway --token %MY_TOKEN%"; ^
nt --title "Feishu Bridge" --startingDirectory "C:\Users\an\.openclaw\workspace\skills\feishu-bridge-1.0.0" cmd /k "node bridge.mjs"
第三部分:飞书机器人排障指南
当你发现飞书机器人不回消息或报错时,请按顺序检查:
1. 错误代码速查表
| 错误代码 / 提示 | 含义 | 解决方法 |
|---|---|---|
1000040345 (System Busy) |
握手失败 | 1. 确认后台开启了"长连接"模式;2. 确认 App ID/Secret 正确。 |
unauthorized: token mismatch |
暗号对不上 | 脚本中的 MY_TOKEN 必须同时传递给 openclaw 参数和 GATEWAY_TOKEN 变量。 |
AxiosError: 400 Bad Request |
鉴权失败 | 飞书后台修改权限后,必须创建新版本并点击"申请发布",配置才会生效。 |
2. 飞书后台必看设置
- 订阅方式 :必须在"事件订阅"中选择 "长连接"。
- 应用能力 :必须启用 "机器人" 功能。
- 权限范围 :必须包含
im:resource(获取资源)、im:message(消息相关)等权限。
第四部分:功能验证流程
- 链路测试 :在飞书私聊机器人发送
/ping,收到pong代表整条链路(飞书 -> 桥接器 -> 网关)已通
如果没通:查看C:\Users\an.clawdbot里面的配置文件中的appID,appSecret,gatewayToken是否配置正确
bash
如果链路测试发送 `/ping` 后没有收到 `pong` 响应,请按照从外到内的顺序排查以下关键点:
### 1. 飞书云端与桥接器(Bridge)的连接
* **长连接状态**:检查飞书开放平台"事件订阅"页面,确认订阅方式已切换为"长连接"并显示为"已启用"。
* **版本发布情况**:确认在修改权限或配置后,已在"版本管理与发布"中创建并上线了新版本,否则云端配置不会生效。
* **错误代码 1000040345**:若桥接器日志出现此代码,通常代表 App ID 或 App Secret 填错,或者机器人能力未在"应用能力"中开启。
* **权限范围**:确认已在权限管理中搜索并启用了"获取机器人信息"或类似的机器人基本信息权限。
### 2. 桥接器(Bridge)与网关(Gateway)的通信
* **Token 匹配验证**:检查日志中是否出现"unauthorized: gateway token mismatch"错误。
* **变量对齐**:确保启动脚本中 `openclaw gateway` 后的 `--token` 参数值与 `set GATEWAY_TOKEN` 的变量值完全一致。
* **网关地址配置**:检查 `bridge.mjs` 或其配置文件,确认其指向的 OpenClaw 网关地址和端口(默认通常为 `http://127.0.0.1:11451` 或 `18789`)是否正确。
### 3. OpenClaw 网关自身状态
* **端口监听**:查看 OpenClaw 启动日志,确认其显示"listening on ws://127.0.0.1:18789"或指定的端口。
* **插件冲突**:检查日志开头是否有"duplicate plugin id detected"警告,若有则需删除重复的扩展目录(如 `C:\Users\an\.openclaw\extensions\feishu`),只保留工作空间内的版本。
* **认证模式**:观察日志中"Browser control listening"后是否显示"(auth=token)",若有则必须提供 Token 才能连接。
### 4. 系统环境排查
* **环境变量继承**:在 Windows Terminal 的标签页中输入 `echo %GATEWAY_TOKEN%`,确认变量已成功注入当前会话。
* **防火墙与拦截**:确认本地杀毒软件或防火墙未拦截端口通信,或尝试暂时关闭第三方安全软件进行测试。
如果您完成了上述检查仍无法收到响应,您希望我为您编写一段专门用于诊断 App ID 有效性的测试脚本吗?
- 模型测试 :直接发送任意问题,观察 OpenClaw 窗口是否有
agent model: qwen...的推理日志。 - 冲突处理 :若日志提示
duplicate plugin id,请删除C:\Users\an\.openclaw\extensions\feishu,只保留workspace\skills下的桥接器。