Skip to content

feat: 折叠已完成回复的思考与工具过程(适配上游 #1483) - #189

Merged
1 commit merged into
devfrom
feat/collapse-completed-response-process
Nov 10, 2026
Merged

1 commit merged into
devfrom
feat/collapse-completed-response-process

Conversation

@3316891527

Copy link
Copy Markdown
Owner

变更说明 / Description

背景与动机 / Context and motivation

较长的聊天回复会留下多轮思考、工具调用和过程说明。此改动在输出结束后提供一个带耗时的总折叠标题,收起最终答复之前的过程,完整保留后续答复的标题、段落和代码;点击可展开查看原文。

改动范围 / Changes

  • 识别最后一个思考、搜索或工具活动块及其后的非空答复,按节点边界收起过程;输出期间、关闭设置、普通无活动回复及没有非空收尾答复时保持原显示。
  • 主聊天直接复用现有惰性时间线,保留原节点索引、工具卡状态和长消息分块;支持气泡、Cursor 和浮窗。
  • 增加“显示与行为 → 消息组织 → 折叠回复过程”开关,默认开启,并接入既有 DataStore 与显示设置重置。
  • 展开选择按聊天、消息和选中变体隔离;切换聊天后保留进程内展开选择,定位时先展开,删除聊天后清理。
  • 增加中英文资源、8 项策略回归和设备验收步骤。标题耗时读取已有等待与输出时长。

兼容性与风险 / Compatibility and risks

适配 上游 #1483,固定来源为 6af18584f4213b4c53b3dd4c9b443deab2f8c0bd。本仓库一轮回复的过程和正文保存在同一条消息,本次同步其单消息活动边界、总折叠标题与显示开关,并适配现有渲染架构。上游累计分支依赖的跨消息中间回复、消息引导、子代理及协作事件没有引入,也没有数据库迁移。

底层聊天内容、模型上下文、用量数据与 waifu 显示保持原有行为。展开选择保存在当前进程;设置通过 DataStore 持久化。是否完成依据输出阶段和标记边界,不表示语义上判定用户任务成功。

关联 Issue / Related issue

Refs AAswordman#1483。当前仓库无对应独立 Issue。

验证方式 / Verification

  • Kotlin 2.2.21 独立编译真实折叠策略和真实 ChatMarkupRegex,JUnit 4.13.2 实际执行 8 项测试,全部通过。Markdown 枚举和节点声明从生产源码提取,仅省略 Compose 标记注解。
  • 覆盖多轮工具后全部最终正文、普通/工具-only 回复、思考后有无答复、尾随空白/元数据、可见 XML 答复、关闭/流式不折叠、分组边界及变体身份。
  • Kotlin 编译器自身的 PSI 解析器检查全部 14 个变更 Kotlin 文件:语法错误 0。此项不等于应用类型检查或编译。
  • git diff --check:通过。仓库原有整洁、本地化、文档链接检查各 0 错误、0 警告,忽略 8 个基准已有坏链接。Markdown blob 批量供给原校验器,仓库检查脚本未修改。
  • 本地没有 Android SDK 和 Gradle 依赖缓存,未执行完整 Android 编译、Compose/DataStore 集成测试或设备验收。独立核心测试不覆盖这些层面。
  • 交付时为本分支各提交一次现有 Build(assembleDebug)与 Android Tests 的启动请求;远端结果待查看。

证据 / Evidence

提交:af2e4deaf9c6117200dbb1fd25ccd690e926bf33。

实现与设备验收步骤:docs/TODO/feat/collapse-completed-response-process/01-implementation.md。

工作流入口:Build · Android Tests。这些是分支列表入口,不是运行结果或通过证明。

检查清单 / Checklist

  • 验证结果与未运行项已分别记录
  • 目标分支为 dev
  • 使用现有 Candidate checks,未修改 CI
  • 最终 diff 已审阅,无无关、临时、生成、二进制或敏感内容
  • 已提供核心回归、双语字符串和设备验收步骤

@3316891527 3316891527 closed this pull request by merging all changes into dev in 954b067 Nov 10, 2026
@3316891527
3316891527 deleted the feat/collapse-completed-response-process branch November 10, 2026 04:27
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