尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

WSL2 部署 OpenClaw 报 LLM request timed out:把 endpoint 改到 TaoToken 的排查清单

WSL2 部署 OpenClaw 报 LLM request timed out:把 endpoint 改到 TaoToken 的排查清单 1. WSL2 里 OpenClaw 报 LLM request timed out 到底卡在哪你在 WSL2 里装好 OpenClawopenclaw gateway也起来了结果一对话就甩给你一句LLM request timed out。这个报错最坑的地方在于它看起来像模型服务挂了实际上十有八九是 WSL2 的网络层或者 endpoint 配置层出了问题。OpenClaw 本身只是个客户端它把请求发出去之后等不到响应超时时间一到就抛这个错至于请求到底有没有出 WSL2、有没有到目标服务器、目标服务器有没有回包它一概不告诉你。所以排查的核心思路是把「WSL2 能不能出网」和「OpenClaw 的 endpoint 配得对不对」这两件事拆开验证。前者用curl和 DNS 命令测后者看配置文件里的 Base URL、Key、Model ID 三件套。我试过在同一个 WSL2 实例里curl能通但 OpenClaw 超时最后发现是 endpoint 写成了localhost而不是宿主机可达的地址也遇到过curl直接卡住那是 WSL2 的 DNS 解析没配好。这篇按排查顺序走一遍先确认 WSL2 网络模式再测 DNS 和连通性然后改 OpenClaw 的 endpoint 和超时参数最后用 curl 验证请求真的能拿到响应。每一步都有可复制的命令和配置片段你照着敲就能定位到底是哪一层断的。适合谁看已经在 WSL2 里跑 OpenClaw、被LLM request timed out卡住、想快速区分是网络问题还是配置问题的人。如果你还没装 OpenClaw这篇的排查逻辑同样适用于任何在 WSL2 里调用远程 LLM API 的工具。先明确一个概念WSL2 是一个跑在 Hyper-V 轻量虚拟机里的 Linux 环境它有自己的虚拟网卡和 IP 段和 Windows 宿主机的网络是 NAT 关系。这意味着 WSL2 里的localhost指的是 WSL2 自己不是 WindowsWSL2 访问外网要经过 Windows 的 NAT 转发Windows 防火墙的入站规则如果没放行外部请求进不来。这三个特性叠加就是LLM request timed out的高发区。2. 先把 TaoToken 的 endpoint 和 Key 准备好在动 OpenClaw 配置之前先把要连的目标服务信息确认清楚。TaoToken 的 API 入口是https://taotoken.net/api这个地址是给程序调用的 Base URL不要带任何多余路径。你需要准备三样东西Base URL、API Key、Model ID。Base URL 就是上面那个https://taotoken.net/api。API Key 需要你去控制台生成地址是https://taotoken.net/console登录后在 API Keys 页面创建一个新的 Key复制出来保存好这个 Key 只在创建时完整显示一次。Model ID 取决于你要调哪个模型可以在模型对话页面先试一下确认模型名称拼写正确。如果你只是想在浏览器里先验证模型能不能正常回话可以直接打开https://taotoken.net/models用对话界面测一句确认账号和模型都没问题再回到 WSL2 里配 OpenClaw。这一步能帮你排除「账号欠费」「模型名写错」这类和网络无关的问题。对于长期在 WSL2 里跑编码 Agent 的场景可以考虑用 Coding Plan入口在https://taotoken.net/coding-plan它更适合高频调用。但排查超时的阶段先用按量调用的 Key 把链路跑通再说。拿到三件套之后先别急着写进 OpenClaw 配置。在 WSL2 终端里用 curl 直接打一次 API看能不能拿到响应。这一步是整个排查的分水岭curl 通了问题在 OpenClaw 配置curl 不通问题在 WSL2 网络。下一节先讲 WSL2 网络怎么确认和修。3. WSL2 网络配置与 OpenClaw endpoint 可复制片段3.1 确认 WSL2 网络模式和 DNS先在 WSL2 终端里看网络模式。执行cat /etc/resolv.conf ip addr show eth0/etc/resolv.conf里的nameserver就是 WSL2 用的 DNS。默认情况下 WSL2 会自动生成这个文件指向一个虚拟 DNS 地址。如果你发现nameserver是一个不可达的地址或者curl域名时卡住很久那就是 DNS 解析问题。测试 DNS 解析nslookup taotoken.net getent hosts taotoken.net如果nslookup超时或返回错误先修 DNS。可以在/etc/wsl.conf里关掉自动生成 resolv.conf手动指定[network] generateResolvConf false然后在/etc/resolv.conf里写nameserver 223.5.5.5 nameserver 119.29.29.29改完在 Windows 侧执行wsl --shutdown重启 WSL2 生效。注意这个操作会关闭所有 WSL2 实例先保存工作。3.2 测 endpoint 连通性DNS 通了之后直接 curl 测 API 入口curl -v --max-time 15 https://taotoken.net/api-v会打印握手过程--max-time 15限制 15 秒超时。如果看到Connected to taotoken.net和 TLS 握手信息说明网络层通了。如果卡在Trying xxx...不动那是 TCP 层没通检查 WSL2 的出网和 Windows 防火墙出站规则。再测一次带鉴权的真实请求curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的API_KEY \ -H Content-Type: application/json \ -d { model: 你的Model_ID, messages: [{role: user, content: ping}], max_tokens: 16 }如果这条命令能返回 JSON说明 endpoint、Key、Model 三件套全对问题一定在 OpenClaw 的配置或超时参数上。如果返回 401是 Key 错了返回 404是路径或模型名错了卡住不动回到网络层继续查。3.3 OpenClaw 的 endpoint 与超时配置OpenClaw 的配置文件通常在~/.openclaw/config.json或项目目录下的openclaw.config.json具体路径看你的安装方式。核心是把 LLM 的 Base URL 指向 TaoToken并设置合理的超时和重试。一个可复制的配置片段JSON 格式{ llm: { baseUrl: https://taotoken.net/api, apiKey: 你的API_KEY, model: 你的Model_ID, timeoutMs: 60000, maxRetries: 3, retryDelayMs: 2000 } }如果你用的是 TOML 格式的配置[llm] base_url https://taotoken.net/api api_key 你的API_KEY model 你的Model_ID timeout_ms 60000 max_retries 3 retry_delay_ms 2000关键参数说明timeoutMs默认可能只有 10000 或 30000对于长回复或者网络抖动的情况太短建议调到 60000。maxRetries设 3 次配合retryDelayMs2000 毫秒能扛住偶发的瞬时超时。注意 Base URL 结尾不要带/v1OpenClaw 内部会自己拼路径带了会变成/api/v1/v1/...导致 404。如果你在 WSL2 里同时用 Claude Code 这类工具它的配置在~/.claude/settings.json同样需要 Base URL、Key、Model ID 三件套{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的API_KEY, ANTHROPIC_MODEL: 你的Model_ID } }Codex 的配置在~/.codex/auth.json格式类似把 base URL 和 key 填对即可。这三个工具的排查逻辑完全一致先 curl 通再改配置再重启。3.4 防火墙入站规则如果 curl 在 WSL2 里通但 OpenClaw 的 gateway 端口从 Windows 侧访问不到或者 OpenClaw 需要监听某个端口被外部调用那要检查 Windows 防火墙。先看 OpenClaw 用的端口sudo netstat -tulpn | grep openclaw如果没装 net-toolssudo apt update sudo apt install -y net-tools拿到端口后在 Windows 侧按WinR输入wf.msc打开高级安全防火墙新建入站规则选端口类型填 OpenClaw 的端口号TCP 协议允许连接命名保存。这一步主要影响的是「外部访问 WSL2 内服务」的场景如果你只是 WSL2 主动往外调 API出站规则默认是放行的不需要额外配。4. 验证请求从 curl 到 OpenClaw 对话成功配置改完之后按顺序验证。第一步重启 OpenClaw gatewayopenclaw gateway第二步在另一个 WSL2 终端里再跑一次 curl 确认 endpoint 仍然通curl -s -o /dev/null -w %{http_code}\n --max-time 15 https://taotoken.net/api返回 200 或 401 都说明网络通401 只是没带 Key返回 000 说明连接失败。第三步在 OpenClaw 里发一句对话观察是否还报LLM request timed out。如果成功返回说明配置生效。如果还超时看 OpenClaw 的日志输出通常会打印实际请求的 URL 和超时时间对照检查 Base URL 有没有拼错。第四步如果 OpenClaw 支持详细日志打开 debug 模式再发一次请求看它实际请求的完整 URL。常见错误是 Base URL 多写了/v1或者少写了/api导致请求打到了错误路径。正确的完整请求 URL 应该是https://taotoken.net/api/v1/chat/completions这种形式OpenClaw 负责拼/v1/chat/completions你只提供到/api。验证成功的标志OpenClaw 对话正常返回内容日志里没有 timeout 关键字curl 请求在 1-2 秒内返回。如果 curl 快但 OpenClaw 慢检查 OpenClaw 的超时参数是不是设得太短或者它有没有走系统代理。WSL2 里如果设了http_proxy环境变量OpenClaw 可能会走代理导致超时用env | grep -i proxy检查并清掉。5. 本篇常见错排查对照报错一LLM request timed out但 curl 能通。这是最常见的情况说明网络层没问题问题在 OpenClaw 配置。检查三点Base URL 是否写成了localhost或127.0.0.1WSL2 里这指向自己不是外部服务Base URL 是否多带了/v1超时参数是否太短。把 Base URL 改成https://taotoken.net/api超时调到 60000重启 gateway。报错二401 Unauthorized。Key 错了或者没带上。检查Authorization: Bearer后面的 Key 有没有多余空格Key 是否已过期或被删除。去https://taotoken.net/api-keys重新生成一个复制时注意不要漏字符。报错三local proxy failed或连接被拒绝。WSL2 里设了代理环境变量但代理不可达。执行unset http_proxy https_proxy all_proxy清掉或者在 OpenClaw 配置里显式禁用代理。这个报错和LLM request timed out经常一起出现因为代理卡住也会导致超时。报错四reading choices相关错误。请求发出去了返回的 JSON 里没有choices字段通常是模型名写错或者返回了错误结构。用 curl 单独测一次看返回的完整 JSON确认model字段拼写和 TaoToken 支持的模型 ID 一致。报错五OAuth 相关报错。如果你用的是需要 OAuth 的工具比如某些 Claude Code 配置检查 token 是否过期。OAuth 流程和 API Key 不同需要重新走授权。在 WSL2 里 OAuth 回调可能因为端口映射问题失败确认回调端口在 Windows 防火墙放行。报错六DNS 解析超时。curl卡在Trying之前nslookup也超时。按 3.1 节改/etc/wsl.conf和/etc/resolv.conf重启 WSL2。这个问题的典型表现是 curl 域名超时但 curl IP 能通。排查顺序建议先 curl 测通不通再查 DNS再查防火墙最后查 OpenClaw 配置。每一步都有明确的成功/失败信号不要跳步。6. 把链路跑通之后链路跑通之后日常使用中如果偶尔再遇到超时先看是不是网络抖动OpenClaw 的重试参数会帮你扛过去。如果频繁超时把timeoutMs再往上调或者检查 WSL2 的内存和 CPU 占用资源紧张时请求处理也会变慢。需要长期在 WSL2 里跑编码 Agent 的话Coding Plan 的入口在https://taotoken.net/coding-plan适合高频调用场景。API Key 管理在https://taotoken.net/api-keys接入文档在https://taotoken.net/doc遇到配置问题可以先翻文档对照参数名。模型对话验证在https://taotoken.net/models改完配置先用对话界面测一句比直接跑 Agent 更快定位问题。最后提醒一个容易忽略的点WSL2 的时钟漂移会导致 TLS 握手失败表现也是超时。执行date看时间是否准不准的话在 WSL2 里同步一下。这个坑不常见但一旦踩到很难往网络配置上想。
返回列表