feat: add independent conversation branching
Local conversations can now continue in a new branch after stable content is persisted. Each branch uses new conversation and message IDs, keeps its source visible, and remains independent without copying Tasks, queue items, runs, memories, or artifact ownership. Conversation Task rows are also denser, align status markers at the right edge, and use an accessible checked success marker without redundant completion text. Release note: 本地会话现在可从“在新会话中继续”创建独立分支并显示来源;Task 子项布局更紧凑,状态统一显示在右侧。
This commit is contained in:
@@ -298,7 +298,7 @@
|
||||
|
||||
#### 功能项
|
||||
|
||||
- 新建、重命名、置顶、搜索、删除会话。
|
||||
- 新建、重命名、置顶、搜索、删除会话,以及从稳定的本地会话复制当前聊天内容到独立分支。
|
||||
- 多轮上下文和会话级模型选择。
|
||||
- 流式输出、停止生成、重新生成、编辑后重发。
|
||||
- Markdown、表格、代码块、公式和引用渲染。
|
||||
@@ -315,6 +315,8 @@
|
||||
3. 工具调用显示为独立步骤卡片,不与普通文本混合隐藏。
|
||||
4. 用户停止后立即中断网络请求和后续工具步骤。
|
||||
5. 引用标记可打开原始文件、页码或文本片段。
|
||||
6. 创建会话分支前先保存当前稳定内容;分支使用新会话与消息 ID,显示来源徽标,不继承
|
||||
Task、队列、运行或成果归属。
|
||||
|
||||
#### 异常与边界
|
||||
|
||||
@@ -627,8 +629,8 @@ Task 身份和左侧行首展开入口,不改变 Conversation 类型或复制
|
||||
|
||||
- 系统通知和应用内通知。
|
||||
- 保留 Task Center 作为 Task 入口,显示范围、状态、最近进展和需要关注信息。
|
||||
- 左侧会话列表对关联 Task 显示行首展开按钮,展开后的 Task 子项使用任务图标,父行不重复
|
||||
任务标签,展开层级只到 Task。
|
||||
- 左侧会话列表对关联 Task 显示行首展开按钮,展开后的 Task 子项左侧显示名称、右侧显示
|
||||
状态标记,父行不重复任务标签,展开层级只到 Task。
|
||||
- 普通 Conversation、Job、Run、工具步骤和智能心跳记录不作为顶层 Task。
|
||||
- 生成完成、任务完成、任务失败和等待确认。
|
||||
- 未读数量、全部已读和按类别过滤。
|
||||
|
||||
@@ -256,18 +256,17 @@ Conversation
|
||||
```text
|
||||
▾ 产品发布讨论 10:24
|
||||
|
||||
▣ 每周进度总结
|
||||
每周五 17:00 · Execute · 下次 8 月 21 日
|
||||
|
||||
▣ 发布前检查
|
||||
单次 · Execute · 等待确认
|
||||
每周进度总结 每周 · Execute · 等待中 ●
|
||||
发布前检查 单次 · Execute ✓
|
||||
```
|
||||
|
||||
- 父会话行不重复显示任务标签或数量;Task 身份只在展开后的子项中使用稳定任务图标表达。
|
||||
- 父会话行不重复显示任务标签或数量;Task 子项名称在左,模式、计划和状态标记收在右侧,
|
||||
与父会话的更新时间位置一致。
|
||||
- 点击 Conversation 标题打开聊天;点击 Task 子项打开同一 Conversation 并定位到该 Task。
|
||||
- 新建 Task 成功后首次自动展开。用户手动折叠后持久化其选择,后台运行不强制展开。
|
||||
- 默认最多直接显示 3 个 Task;“查看全部 N 个任务”打开该 Conversation 的完整 Task 区。
|
||||
- Task 子项显示本地化的模式、计划和状态文字;状态不能只靠任务图标颜色表达。
|
||||
- Task 子项显示本地化的模式、计划和非完成态状态文字;状态标记固定在行尾。已完成使用
|
||||
带勾成功点,并将完成文案保留给辅助技术,避免在紧凑元数据中重复显示且不只靠颜色表达。
|
||||
- 左侧只展开 Task;当前产品 UI 的其他区域也不提供 Job/Run 树或独立导航。
|
||||
|
||||
## 10. Conversation 内呈现
|
||||
|
||||
@@ -37,8 +37,11 @@ Conversation 是用户消息、助手消息和面向用户结果的内容容器
|
||||
- 多个 Task 可以共享同一 Conversation 的可见上下文,但各自拥有独立配置、计划、权限
|
||||
快照、状态、Job、Run 和成果引用。
|
||||
- Conversation 标题与 Task 名称相互独立。创建或重命名 Task 不静默修改现有会话标题。
|
||||
- 从稳定的本地 Conversation 创建分支会生成新的 Conversation 和消息 ID,并保存直接来源
|
||||
标识;它只复制可见聊天内容与会话级 Runtime/知识检索选择,不复制 Task、发送队列、Job、
|
||||
Run、记忆或 Artifact 归属。来源与分支后续独立更新,删除来源不删除已创建的分支。
|
||||
- 左侧会话列表根据显式 Task 关联显示行首展开按钮;父会话行不重复任务标签,展开后的
|
||||
Task 子项使用任务图标,并只展开到 Task 层。
|
||||
Task 子项左侧显示名称,右侧显示状态标记,并只展开到 Task 层。
|
||||
- 并行 Job 不直接无序写入消息流;进度留在各自 Task/Job 状态中,最终文本以带来源元数据
|
||||
的完整消息写入 Conversation。
|
||||
- 删除 Conversation 前必须说明关联 Task 数量,并先停止或结算仍活动的 Job。
|
||||
@@ -193,10 +196,10 @@ waiting_approval > failed > running > paused > idle
|
||||
|
||||
- 无 Task 的 Conversation 保持现有单行样式。
|
||||
- 有 Task 的 Conversation 显示行首展开按钮,父会话行不重复任务标签或数量。
|
||||
- 展开后只显示带任务图标和本地化摘要的 Task,不继续显示 Job、Subjob 或 Run。
|
||||
- 展开后只显示名称、本地化摘要和右侧状态标记,不继续显示 Job、Subjob 或 Run。
|
||||
- 新建 Task 成功后首次自动展开;用户手动折叠后保持选择,后台状态变化不强制展开。
|
||||
- 默认最多直接显示 3 个 Task;“查看全部 N 个任务”打开该 Conversation 的完整 Task 区。
|
||||
- Task 子项的任务图标表示身份;运行、审批、失败和暂停同时使用本地化状态文字。
|
||||
- Task 子项的状态标记固定在右侧;运行、审批、失败和暂停同时使用本地化状态文字。
|
||||
- 删除最后一个关联 Task 后,Conversation 的展开按钮自动消失。
|
||||
|
||||
## 9. 兼容映射
|
||||
|
||||
@@ -70,19 +70,17 @@ Task 行只显示聚合后的用户状态,不要求用户理解内部 Job/Run
|
||||
```text
|
||||
▾ 产品发布讨论 10:24
|
||||
|
||||
▣ 每周进度总结
|
||||
每周五 17:00 · Execute · 下次 8 月 21 日
|
||||
|
||||
▣ 发布前检查
|
||||
单次 · Execute · 等待确认
|
||||
每周进度总结 每周 · Execute · 等待中 ●
|
||||
发布前检查 单次 · Execute ✓
|
||||
```
|
||||
|
||||
- 无 Task 的 Conversation 保持现有单行样式。
|
||||
- 有 Task 时在行最左侧显示独立展开按钮;父会话行不重复显示任务标签或数量。
|
||||
- 会话标题溢出时保持时间和操作区固定;悬停会话行后,标题在自身裁切区域内横向滑动展示
|
||||
完整名称。未溢出标题不滑动,减少动态效果偏好下使用完整标题提示而不产生位移。
|
||||
- 展开后每个 Task 子项使用任务图标,并显示本地化的模式、计划和状态;不显示 Job、
|
||||
Subjob、Run 或工具步骤。
|
||||
- 展开后每个 Task 子项左侧显示名称,右侧显示本地化的模式、计划和状态标记,与父会话
|
||||
更新时间对齐;已完成使用带勾成功点并将文案保留给辅助技术。列表不显示 Job、Subjob、
|
||||
Run 或工具步骤。
|
||||
- 点击 Conversation 标题打开聊天;点击 Task 打开同一 Conversation 并定位该 Task。
|
||||
- 新建 Task 后首次自动展开;用户手动折叠后保持选择。
|
||||
- 后台状态变化不强制展开;Task 状态持续显示在展开后的子项和 Task Center 中。
|
||||
|
||||
@@ -118,7 +118,8 @@ GoodBuddy 应能够:
|
||||
- 默认工作模式、Runtime、模型连接、Skills、MCP 和知识库范围。
|
||||
- 项目可归档、恢复和导出。
|
||||
|
||||
会话支持置顶、归档、重命名、删除、按项目筛选和搜索。
|
||||
会话支持置顶、归档、重命名、删除、按项目筛选和搜索;稳定的本地会话还可复制当前聊天
|
||||
内容到独立分支,并保留不依赖来源生命周期的来源标识。
|
||||
|
||||
### 4.2 工作模式
|
||||
|
||||
|
||||
Reference in New Issue
Block a user