Skip to content

fix(chat): instant 失败不重试,并支持停止当前回复 - #699

Merged
Tosd0 merged 4 commits into
masterfrom
codex/instant-chat-cancellation
Sep 30, 2026
Merged

Tosd0 merged 4 commits into
masterfrom
codex/instant-chat-cancellation

Conversation

@Tosd0

@Tosd0 Tosd0 commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

用户主动触发 instant 回复后,模型接口报错曾进入后台任务的重试流程,余额不足也可能等十多分钟才提示失败。此次将 instant 的生成重试次数设为 0,并让本地与云端回复都能从原生成入口停止。

停止后保留已上屏内容,流式预览保存为普通文字;未显示内容、迟到推送和补收结果不再进入聊天。不新增“已停止”消息。取消信号传到模型请求和 MCP 等工具,终止可取消的请求并阻止后续动作;已经完成的外部副作用不回滚。按任务 UUID 保存停止记录,并校正云端 self_log,防止下一轮把丢弃内容当成已经说过。

  • 接入已发布的 @rei-standard/amsg-server@2.6.0-next.32 与 @rei-standard/amsg-shared@0.4.0-next.11,同步 Worker bundle 和设置页版本检查。上游:功能 PR #90、发版 PR #91。
  • 新增可复测的本机假 LLM/MCP 服务与实际 Chat 页面夹具:scripts/chat-stop-qa-server.mjs、test/fixtures/chat-stop.html。

验证:

  • pnpm vitest run:6,039 项通过。
  • 前端 Vite 构建、Worker bundle 构建通过。
  • 浏览器实际验证:等待时停止、流式保留半句并刷新、执行中的本地/云端 MCP 取消、第二条落库期间停止后放行旧事务及再次补收、停止后立即续聊、余额不足只调用一次并正常显示失败。
  • 实测本机 instant 取消后约 0.7~1 秒断开模型/工具连接。运行实际 Worker bundle,D1 使用 SQLite 适配,推送服务模拟;未在真实 Cloudflare 部署验证。
  • tsc --noEmit 仍被仓库原有 chibi 素材脚本的 17 项错误阻挡,本次没有新增类型错误。

用户自部署的 Worker 需要更新 bundle 才能取消正在执行的云端请求。

@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sully-os Ready Ready Preview Sep 30, 2026 5:33pm UTC

@github-actions github-actions Bot added scope: sw 与 Service Worker 相关 scope: amsg 与主动消息(AMSG / 后台消息)相关 🟠 ■■■■□ 改动规模 1001 ~ 2500 行 labels Sep 30, 2026
@Tosd0
Tosd0 merged commit a3fee3f into master Sep 30, 2026
5 checks passed
@Tosd0
Tosd0 deleted the codex/instant-chat-cancellation branch September 30, 2026 17:39

This branch was successfully deployed

1 active deployment
Preview — 8f2b9dc4 Deployed Sep 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: amsg 与主动消息(AMSG / 后台消息)相关 scope: sw 与 Service Worker 相关 🟠 ■■■■□ 改动规模 1001 ~ 2500 行

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant