Skip to content

fix: 完善 Carbon 长回答的自动续写 - #139

Merged
Mag1cFall merged 1 commit into
mainfrom
fix/carbon-continuation
Nov 11, 2026
Merged

Mag1cFall merged 1 commit into
mainfrom
fix/carbon-continuation

Conversation

@Mag1cFall

Copy link
Copy Markdown
Owner

改动 / Changes

  • 回答超过一轮输出上限、自动续写下一轮时,续写请求沿用第一轮的 WAA proof,与官网的续写请求一致;WAA_BACKEND=camoufox 时续写轮沿用页面为第一轮写入的 proof 直接发送,不再在页面上重新运行
  • 续写轮被上游以 403、429 或 5xx 拒绝时换到其他账户,用同一续写位置接着写,已经输出的内容保留;被额度拒绝的账户进入冷却,用量明细记为最后生成回答的账户
  • 读取账户运行状态时一直等到其他进程释放锁,直到请求超时为止
  • docs/protocol.md、docs/development.md 与 docs/logging.md 说明续写轮的 proof、换账户与对应日志

验证 / Verification

  • 用 Gemini 4 Carbon 生成 40000 token 的长回答,只让续写轮被上游拒绝一次(403,本地模拟上游):修改前写到 32768 token 后返回 403;修改后换到另一个账户写完 40000 token,1022 行编号连续
  • 同一提示在官网与服务上都分两轮写到第 1022 行,编号没有断档
  • 另一个进程持有账户运行状态锁 6 秒时发起请求:修改前 2.00 s 返回 504;修改后 5.96 s 返回 200

- 续写轮沿用首轮写入的 proof,Camoufox 后端沿用页面为首轮写入的 proof 直接发送
- 续写轮遇到可换账户的错误时换到其他账户,以同一续写 token 重发该轮,额度失败的账户进入冷却
- 换账户后转发、认证检查与用量明细跟随当前账户,被换下的账户立即释放
- 账户运行状态锁在请求期限内等到释放
- 协议、开发与日志文档说明续写轮的 proof、换账户与锁等待
@Mag1cFall
Mag1cFall force-pushed the fix/carbon-continuation branch from c718f08 to 549b539 Compare November 11, 2026 19:41
@Mag1cFall
Mag1cFall merged commit 72a2861 into main Nov 11, 2026
2 checks passed
@Mag1cFall
Mag1cFall deleted the fix/carbon-continuation branch November 11, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant