性能分析

第三方工具调用速度问题分析与解答

客户反馈使用 paseo 时"API 慢",实测为工具层问题。API 响应正常,体感慢的根因是 Paseo Relay 中继在国内网络环境下连通性极差,叠加黑盒体验与权限阻塞。

日期:2026-05-18
事由:客户反馈使用 paseo 时"API 慢",实测为工具层问题
结论:API 响应正常,体感慢的原因是工具层的权限阻塞和黑盒体验

一、现象

使用第三方工具 paseo 执行任务,等待 4 分 8 秒仍未完成,且全程无思考/执行过程可见,完全黑盒。

我方运维人员使用原生 Claude Code CLI 接入同一套 API,执行相同任务,速度明显更快,且有完整的思考和执行过程输出。

二、服务端日志实证

我方运维人员使用原生 Claude Code CLI 接入同一套 API,同一时段的调用记录(Vibe API 后台):

时间输入 tokensTTFT(首字)总用时输出 tokens
02:00:1540,6363.4s11s326
02:00:0439,9237.1s24s740
01:59:4039,3024.5s10s614
01:59:3038,0423.6s18s1,319
01:59:0237,7953.6s10s270
01:58:4934,9674.0s44s3,089
01:57:5934,9605.2s6s510
01:57:5332,1485.3s26s1,142

关键数据:

对于 3-4 万 token 的输入上下文,TTFT 3-7 秒属于正常范围。API 本身没有问题。

三、Paseo 架构分析(基于源码)

Paseo 是一个移动端 AI 编程助手,通过本地 daemon 管理 Claude Code 进程:

手机 App(Expo)
→WebSocket
Relay 中继relay.paseo.sh
Cloudflare
→WebSocket
本地 Daemon(Node.js)
→Agent SDK
Claude Code(子进程)
→HTTPS
Vibe API

源码关键发现

  1. Paseo 使用 @anthropic-ai/claude-agent-sdk,通过 spawnClaudeCodeProcess 启动 Claude Code 作为子进程
  2. 会话是持久的 — ensureQuery() 方法会复用已有的 Claude Code 进程,不是每次都冷启动
  3. Skill 执行会触发权限弹窗 — 截图中可见 "How would you like to proceed? Deny / ✓" 的权限确认
  4. Relay 中继部署在 Cloudflare — 默认连接 relay.paseo.sh:443(Cloudflare Durable Objects),国内用户每条 WebSocket 消息都要经过 Cloudflare 中转,延迟显著增加

4 分 8 秒的真正原因

从客户截图分析时间线:

时间事件
01:46上一个任务完成(Write chicken_rabbit.md,耗时 32s)
01:48用户发送新指令"做成网页版的,UI是Claude官网的风格"
01:48触发 Skill frontend-design
01:50截图显示已等待 1m 45s,出现权限弹窗
01:52截图显示已等待 4m 8s,仍卡在权限弹窗

主要原因:Relay 中继连接不畅(大概率连不上)

Paseo 的手机 App 通过 Cloudflare 部署的 Relay(relay.paseo.sh)与本地 Daemon 通信。国内网络环境下,Cloudflare 节点连接极不稳定甚至完全不可达。一旦 Relay 连接中断或超时,整个交互链路就断了 — App 发不出指令、收不到响应,用户只能看着黑屏干等。

这不是"慢"的问题,而是根本连不上的问题。

次要原因:权限弹窗阻塞 + 黑盒体验

即使 Relay 连通,Skill 执行触发了权限确认(Permission Request),用户可能未及时注意或响应,导致流程阻塞在等待用户操作上。加上没有中间过程输出,用户完全无法判断当前状态。

四、体感慢的三个层面

层面原生 CLIPaseo影响
Relay 连通性无中继,本地直接运行必须经 Cloudflare 中转(relay.paseo.sh)国内大概率连不上或极慢,整个链路断裂
过程可见性实时显示思考、代码编写、文件操作黑盒,只显示最终结果同样等 30 秒,CLI 感觉在工作,paseo 感觉在卡
权限交互终端内直接 y/n 确认,显眼弹窗可能被忽略,阻塞整个流程用户不知道在等自己操作
版本未知我方运维使用最新 v2.1.143客户使用的 paseo 版本及其内置 CC 版本未知旧版本可能有性能问题或 bug

核心结论

不是 API 慢。主因是 Paseo 的 Relay 中继在国内网络环境下连通性极差(Cloudflare 节点),叠加黑盒体验和权限阻塞,让用户误判为"API 慢"。且客户使用的 paseo 版本未知,无法排除旧版本自身的问题。

五、对比验证

同一任务、同一 API(Vibe API + Opus 4.7 1M):

工具使用者体验耗时过程可见性
paseo(第三方)客户黑盒等待,卡在权限弹窗4m 8s+(未完成就退出了)无
Claude Code CLI(原生)我方运维完整思考+执行过程正常完成全程可见

客户自己的结论:

"不论用哪家的模型都一样,用第三方工具接入 API,一定要用原生的 Claude Code 工具对比验证测试。否则,都是靠感觉判断模型的速度和质量。"

六、结论

  1. API 响应速度正常 — 日志证明 TTFT 3-7 秒(3-4 万 token 输入),属于正常范围
  2. Relay 连不上是主因 — Paseo 强制通过 Cloudflare Relay(relay.paseo.sh)中转所有通信,国内网络环境下 Cloudflare 节点连通性极差甚至不可达,整个链路直接断裂。这不是"慢",是"连不上"
  3. Paseo 并非每次冷启动(源码证实会复用进程),但权限弹窗阻塞和黑盒体验进一步恶化了体感
  4. 客户 paseo 版本未知 — 无法排除旧版本自身的 bug 或性能问题
  5. 用户无法区分 — 看不到中间过程,不知道是网络断了、等 API、还是等自己操作,直接归因为"API 慢"
  6. 建议用原生 CLI 对比 — 任何速度/质量判断都应在原生 Claude Code 中验证,排除工具和网络变量

七、Paseo 优势与致命缺陷

优势

优势说明
多 Agent 统一管理Claude Code、Codex、OpenCode 一个界面切换
手机远程监控出门也能看 Agent 进度、批准权限
多设备协同手机看进度、电脑写代码、CLI 做自动化
断线恢复App 重连自动恢复状态,不丢上下文
开源可审计AGPL-3.0,代码透明
BYOK用自己的 API Key,零加价

致命缺陷(对国内用户)

缺陷说明严重程度
Relay 依赖 Cloudflare没公网 IP 时必须走 relay.paseo.sh(Cloudflare Workers),国内基本连不上致命
无法自建 Relay 到国内Relay 只能部署在 Cloudflare,不支持部署到国内服务器致命
黑盒体验看不到思考过程和执行细节,只有最终结果严重
权限弹窗易忽略Skill/工具调用触发权限确认,用户不注意就一直卡着严重
额外封装层App → Relay/WebSocket → Daemon → Agent SDK → Claude Code,链路长中等
版本碎片化内置的 Claude Code 版本可能落后,用户无感知中等

适用场景

场景是否适合推荐方案
有公网 IP 的云服务器 + 手机监控适合Paseo 直连模式(不走 Relay)
多台机器统一管理适合Paseo 多 Daemon
需要手机批准权限、出门看进度适合Paseo
国内家用电脑(无公网 IP)不适合Relay 连不上,体验极差
日常本地编码开发没必要直接用 Claude Desktop 或 Claude Code CLI
对速度/质量敏感的评测不适合必须用原生 CLI 排除工具变量

八、客户端选型建议

对于接入 Vibe API 的用户,推荐方案:

场景推荐工具理由
本地日常开发Claude Desktop(桌面客户端)官方客户端,直接配置 inferenceGatewayBaseUrl 接入 Vibe API,无中间层,体验最佳
终端/命令行开发Claude Code CLI原生体验,完整思考过程可见,速度最快
远程服务器开发Claude Code CLI(SSH)直接在服务器上跑,无网络中转
需要手机监控Paseo 直连模式前提是服务器有公网 IP,不走 Relay
第三方 IDE 集成VSCode、Cursor、Antigravity 等可以用,但速度/质量评判请用原生工具对比

手机端开发:以远程桌面回归原生环境

如果一定要在手机上推进开发,更稳妥的做法不是寻找一款"手机原生 IDE",而是把手机作为远程入口,把真正的开发环境留在桌面。

01 手机端 网易 UU 远程桌面 App
iOS / Android
02 桌面电脑 UU 远程桌面服务端
Windows / macOS
03 Claude Code CLI 或桌面端
原生体验、零中转

手机上看到的是完整的桌面操作系统,可以通过语音输入下达指令,并保留电脑端全部工具链与文件 —— 速度、质量、可观测性与桌面侧完全一致,不需要为手机场景做任何取舍。

桌面端:统一使用官方原生工具

在桌面端,请按模型平台选用官方原生工具;选择 CLI 还是桌面客户端按个人偏好即可。

模型命令行桌面客户端
Claude 系列Claude CodeClaude Code 桌面端
GPT 系列CodexCodex 桌面端

不推荐任何第三方封装客户端。此前反馈的"上下文频繁被压缩"等问题,对比测试后均可定位为第三方工具引入的中间层所致,与底层模型、API 平台无关。多一层封装,便多一层问题。

核心建议

本地开发直接用官方的 Claude Code CLI、Claude Desktop,官方 IDE 插件就足够。它们都能直接接入 Vibe API(配置 gateway 地址即可),不需要任何第三方工具做中间层。第三方工具本质上都是对 Claude Code 的封装,多一层封装就多一层问题。

一键接入

自研配置工具 · 替代 CCSwitch

VibeAPI 团队为 Claude Desktop 封装了开箱即用的 API Key 与模型参数配置 —— 无需手动编辑配置文件、无需了解配置语法,点击即可完成接入,常见疑难杂症已预置处理。

打开 VibeAPI Claude 配置工具