跳转到主要内容
本地大语言模型 API 有两个需求是大多数通用隧道工具并未针对优化的:一是令牌流式传输(即每当生成一个令牌便立即发送,而非将所有内容缓存后一次性响应);二是长连接维持(一次生成任务的耗时可能远超代理工具的默认超时时限)。Cloudflare Tunnel、ngrok 以及 Tailscale 都是处理常规流量需求的优秀工具,不过它们的文档中均提及了在此类特殊负载下会存在的限制。Tokios 的连接器虽与这些隧道工具一样仅支持出站连接,但它从设计之初便以大语言模型流量处理为核心:无需额外配置读写超时参数,且 API 密钥的适用范围仅限定于指定的上游模型 ID,而非所有端口。

两大常见问题

流式传输内容被缓存

通过 SSE 传输的大语言模型生成内容会在每个令牌生成后立即发送;客户端理应持续接收到少量令牌而非等到最后才收到完整内容。部分反向代理为提升常规网页流量的传输效率,默认会对响应内容进行缓存,这对 SSE 而言属于错误做法:客户端会长时间处于等待状态,随后一次性收到全部内容(甚至可能在等待期间便因超时而中断连接)。
上方图表展示的是被缓存的响应内容:起初为空,随后一次性显示完整内容;下方图表展示的是流式传输效果:内容随令牌生成逐步呈现。

被缓存的情况:客户端需长时间等待,随后一次性收到完整回复;流式传输的情况:每个令牌生成后即刻发送。

请求运行时长超出允许的最大时限

在配置一般的硬件设备上运行大型模型时,完成一次长篇幅生成任务所需的时间往往会远超常规网页请求的允许时长。任何设置了固定读写超时的代理或隧道工具都会在模型生成完成前切断连接,导致客户端收到网关错误提示而非生成结果——即便此时模型仍在持续运行。

各类工具对比

上述各项限制均为厂商针对常规使用场景所设定的既定规则,并非系统故障。Cloudflare Tunnel、ngrok与Tailscale均能出色完成各自的设计使命。唯有在需要处理长时运行的LLM流式API调用时,才会出现相应使用阻碍。

Tokios的定位与适用场景

总体而言,Tokios无法替代Tailscale或Cloudflare Tunnel。若需通过SSH连接家用服务器,仍建议使用Tailscale;若需部署访问量较小的网页应用,则Cloudflare Tunnel更为合适——这些正是它们的核心适用场景。Tokios则专用于特定场景:协助编程智能体或API调用端顺利对接运行在您自有硬件上的流式LLM服务端点,且不会造成SSE数据缓存堆积或触发代理超时问题。 该 tokios-connector 通过单一出站 WebSocket 进行连接,其原理与隧道工具的方向翻转思路一致——完整请求流程请参阅工作原理。此后,每个请求均使用限定于特定部署环境的 sk-tok-… API 密钥进行身份验证,而非依赖原始端口或主机名的网络可达性。

后续步骤

快速入门

配对连接器、注册模型并发送您的首个流式请求。

Tokios 的请求路由机制

详细了解仅允许出站连接的架构及请求流程。
若想深入了解 Cloudflare 的 SSE 缓冲机制,以及非企业版套餐下约 100 至 120 秒的代理超时设置,请参阅 Tokios 与 Cloudflare Tunnel 对比。该文档详细阐述了可能出现的故障情形,并说明了边缘计算节点在何种情况下适合用于流式推理服务。
需要部署 Ollama 服务吗?请参阅 Ollama 远程访问配置 以获取针对后端环境的详细设置说明。