故障排查与性能读数
先判断问题发生在输入准备、认证、网络、工具、界面还是存储,再选择对应排查路径。
| 现象 | 先检查 | 深入说明 |
|---|---|---|
| 登录失败或要求重新登录 | 浏览器授权、套餐范围、回调是否属于当前登录 | 认证 |
| 模型不存在或无权调用 | 选中模型 ID、服务地址、账号资格 | 提供商 |
| 长时间等待、连接中断 | 等待提示、代理、错误日志、是否已有输出 | 失败恢复 |
| 没有 WebSocket 复用 | 是否官方 Responses 地址,模型/令牌/输入是否变化 | 连接复用 |
| 上下文或请求过大 | token 和媒体字节分别检查,尝试压缩或减少当前附件 | 上下文 |
| 文件编辑失败 | 目标文本、外部修改、文件类型、当前 cwd | 工具 |
| 插件已打开但旧任务没有对应能力 | 首次发送时的插件快照、服务启用状态与凭据 | 插件生效范围 |
| 任务历史打不开 | 数据 generation、schema 和原始日志错误 | 存储 |
| 界面卡顿或搜索慢 | 主进程/renderer 性能摘要、历史规模、动态内容 | 渲染 |
日志
错误日志在数据根 agent/logs/error.log,达到 5 MB 轮转为 .1。记录来源、错误和关联会话/运行 ID,屏蔽常见凭据,不记录完整聊天和请求参数。
model.responses_transport 记录连接、复用、全量/增量请求和降级原因。计数属于当前连接管理器,切换模型可能重置,不能把某个计数理解为整个应用的终身累计。
renderer.performance、main.performance、无响应和恢复事件帮助区分卡顿所在层。定时器延迟不是某个函数精确耗时,需要进一步分析时采集目标流程的 profile。
等待和重试
模型连续 15 秒没有有效输出时显示等待。点击重试可以取消当前模型请求或跳过退避,已完成工具保留。停止优先于重试。
鉴权、额度、证书和服务端明确拒绝重试等错误不会当成普通瞬时网络错误无限恢复。已经输出后断线由会话恢复层处理,传输层不静默重放整个生成。
性能与用量口径
轮数对应至少结束过一次模型请求的用户交互,步骤对应模型调用。工具时间是每次调用耗时之和,并行执行时可能大于墙钟时间。
TTFT 是有效首段输出等待;输出速度使用首段内容到响应结束区间,失败/取消/截断样本不用于速度。Token 使用服务端报告,思考 token 不重复相加。没有有效计量时不显示猜测值。
详情与回归入口:日志、错误呈现和统计。