## 问题描述 使用 CPA 中的 GPT 模型时,调用失败直接报错,没有重试机制。用户需要手动重新发送消息。 ## 复现步骤 1. 配置使用 CPA 中的 GPT 模型 2. 发送消息触发 API 调用 3. 调用失败后直接报错,无自动重试 ## 期望行为 调用失败时应提供自动重试机制(如指数退避重试 2-3 次),并在所有重试失败后给出友好的错误提示,允许用户一键重试。
Activity
github-actions commentedon Apr 22, 2026
感谢反馈,问题描述很清楚。根据当前代码,默认生成链路下你说的现象是可以成立的:调用失败后可能直接进入错误态,没有做通用的指数退避重试。
已核实到两条不同调用路径行为不一致:
completeWithRetry默认最多 3 次(指数退避 + jitter),并处理 429/5xx/网络错误。401时做一次 token 刷新后重试,不包含 429/5xx/网络退避重试。Relevant code:
packages/providers/src/retry.ts:205—completeWithRetry,默认maxRetries为 3,带指数退避packages/core/src/index.ts:320— 旧生成链路调用completeWithRetryapps/desktop/src/main/index.ts:85—USE_AGENT_RUNTIME默认开启apps/desktop/src/main/index.ts:264— 默认走generateViaAgent()packages/core/src/agent.ts:767— Agent 路径单次agent.prompt(),失败直接走错误处理packages/providers/src/codex/client.ts:84— Codex 仅对401做一次刷新后重试apps/desktop/src/renderer/src/components/PreviewPane.tsx:491— 失败后前端有“重试”按钮(手动重试)website/roadmap.md:10— 当前仍处于v0.1阶段(pre-alpha 迭代中)Need more info:
v0.1.x)?open-codesign Bot
fix(core): retry first-turn agent generation on transient errors (#125)
fix(core): only retry first-turn send before any tool side effect (#125)
fix(core): retry first-turn agent generation on transient errors (#125)…