最近把本机的 OpenClaw(一个 Node.js 的多渠道 AI 网关)重装了一遍,打算重新配置中转站模型和 Telegram Bot。结果配完之后,怎么发消息都没反应,Telegram 一直显示 typing,Dashboard 也是死的。折腾了好一阵才定位到问题,记录一下排查过程。
背景
OpenClaw 是通过 npm 全局安装的,它在本地跑一个 Gateway 服务,可以对接 Telegram Bot,让你在 Telegram 里直接和大模型对话。我的模型走的是第三方中转站(OpenAI 兼容接口),本机还常驻着 Clash Verge 做代理,默认开着 TUN 模式。
遇到的痛点
1. Clash Verge TUN 模式劫持了 API 请求
配置完中转站的 Base URL 和 API Key 之后,OpenClaw 的 Telegram Bot 能连上,但发消息后一直显示 “typing”,永远不回复。
用 curl 直接测试 API:
直接超时,exit code 28。
查 DNS 解析,发现 被解析到了 。这个 IP 段(198.18.x.x)是 Clash TUN 模式分配的虚拟地址,说明 Clash 的 TUN 接管了这个域名的流量,但没有正确转发出去。
试了 HTTP 代理(7897)和 SOCKS5 代理(7898)也都不通。关掉 Clash Verge 之后,curl 直连立刻成功返回了模型响应。
2. 关掉代理后还是不工作:Session 文件锁死
代理问题解决了,但 OpenClaw 还是没反应。用 CLI 手动测试:
GPT plus 代充 只需 145
报错:
原来是之前 API 超时的时候,Gateway 进程一直在等模型响应,持有 Session 文件锁不释放。后续所有请求(包括 Dashboard、Telegram、CLI)都要获取同一个锁,全部排队等待超时。
更坑的是,即使重启 Gateway,新的 Gateway 进程会立即接管之前卡住的请求,重新锁住 Session 文件,形成死循环。
3. 修复过程
最终的修复步骤:
GPT plus 代充 只需 145
重启后一切恢复正常。
4. 给 Clash Verge 添加直连规则
为了以后开代理也不影响 OpenClaw,需要在 Clash Verge 里给中转站域名加直连规则。
Clash Verge 的订阅配置关联了一个 Merge 文件,编辑它就能注入自定义规则:
会把规则插到订阅规则列表最前面,优先级最高。修改后在 Clash Verge 订阅页面点刷新即可生效。
总结
这次问题的核心在于两个问题叠加:代理导致 API 不通,API 不通又导致 Session 锁死。单看任何一个都不难修,但叠在一起的时候,解决了第一个问题(关掉代理),症状没变(还是不回复),很容易让人怀疑方向搞错了。
排查这类问题的思路:
- 先隔离网络层:用 curl 直接打 API,确认模型服务本身是通的。
- 再看应用层:跑 检查有没有 Session Lock、进程残留等问题。
- 最后做预防:给代理加直连规则,避免下次再踩同样的坑。
以后碰到 OpenClaw 卡在 typing 不回复,第一反应应该是查网络,第二反应是查 Session 锁。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/233978.html