Skip to content
FunCoding

Search

Search docs, Skills and MCP

SDK 排障与错误处理

定位认证、模型、集成、并发和运行时问题,保留可追踪的错误信息。

This page has not been translated into English yet. The original Chinese version is shown below.

先记录错误 code、status、request ID 和实际运行时,再决定修配置或重试。无限重试无法解决缺权限、模型无效或 Agent 正忙。

常见问题

错误或症状检查与处理
AuthenticationError用户/服务账号 key、过期和管理员禁用;Team Admin key 不支持
ConfigurationError模型 ID/参数、文件路径、平台 helper 与配置组合
IntegrationNotConnectedError用 provider 与 helpUrl(Python help_url)打开对应源码集成重连
AgentBusyError云端同一 Agent 已有 CREATING/RUNNING,等待或取消后再发
AgentNotFoundErrorID、cwd 和 local.store 是否与创建时一致
UnsupportedRunOperationError接口能力与当前 Run 状态
RateLimitError区分瞬时限流和月度用量上限
NetworkError代理、连接、服务可用性,按可重试标记退避

TypeScript 的 agent_busy 标记 isRetryable: false,Python 同样为 False;立即重发不会解除忙状态。其他 409,例如 agent_archived,可能映射 ConfigurationError,不能把所有冲突都按忙处理。本地不返回同样的 AgentBusyError;force 用于过期卡住的轮,使用前确认状态。

不要丢掉错误元数据

TypeScript 错误继承 CursorSdkError,旧名 CursorAgentError 为兼容导出;检查 isRetryable、code、status、cause、endpoint、requestId、operation。helpUrl 不一定出现在默认 message 中,需要显式记录。

Python 以 CursorAgentError/CursorSDKError 捕获,使用 is_retryable 和 retry_after;retry_after 可以是秒数字符串或 HTTP 日期,不能一律 float 转换。官方简例只展示数值处理,完整客户端应按实际返回格式解析。

Python 日志与 Bridge

CURSOR_SDK_LOG=debug python my_script.py
cursor-sdk-bridge --help

CURSOR_SDK_LOG 支持 debug/info,仅配置 cursor_sdk logger,不接管宿主整体日志。Bridge 层问题再使用Bridge 诊断,区分 Python HTTP client 与嵌入运行时错误。

看似状态丢失的情况

  • 再次 create 是新 Agent,继续旧对话使用 resume。
  • inline MCP 与工具限制不自动跨恢复保留,重新传入必要选项。
  • SDK 云端任务在界面中需要 Filter > Source > SDK。
  • 本地默认 SQLite 不可用时必须配置其他 store,不能等待自动回退。
  • 本地账单查询 feature_unavailable 是账号逐步开放,不代表本次没有 token 消耗。
  • Python 流已消费不能再从另一 iterator 重放,读取 Run 的最终结果。

本地调用能访问文件但模型仍需 Cursor 服务,离线网络问题不会因为选择 local 消失。