Skip to content

feat(sidebar): 构建工作空间会话树并支持独立置顶排序 - #770

Open
yovinchen wants to merge 2 commits into
mainfrom
feat/workspace-session-tree
Open

feat(sidebar): 构建工作空间会话树并支持独立置顶排序#770
yovinchen wants to merge 2 commits into
mainfrom
feat/workspace-session-tree

Conversation

@yovinchen

@yovinchen yovinchen commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Linked issue

Closes #769

Summary

将 Desktop 与 WebUI 的侧栏改为工作空间会话树:可以同时展开多个工作空间浏览历史,置顶会话与置顶工作空间归入独立区域,并按用户拖拽顺序持久化展示。

  • 每个工作空间默认显示 10 条会话并可继续加载;全局搜索会展开并定位超出会话分页或工作空间显示上限的结果。
  • 支持置顶内容混合排序、普通工作空间同组排序、会话归档与恢复;后端确认删除后清理归档记录,删除失败仍可恢复。首次点击可收起工作空间,多选按钮再次点击可退出。
  • 拖拽显示蓝色插入线与标题预览;Desktop 目录导入与侧栏排序分开处理,避免 WKWebView 将排序识别为文件导入。
  • 保留直接打开文件夹与完整 Git 克隆表单的新建工作空间弹框,两端共用实现。

Change scope

  • Modules: agent-ui / agent-gui / Gateway WebUI / Tauri 系统设置持久化。
  • Key paths:
    • crates/agent-ui/src/components/chat/ChatHistorySidebar*.tsxWorkspaceCloneModal.tsx
    • crates/agent-ui/src/lib/sidebar/、设置类型与规范化、工作空间排序及翻译。
    • Desktop / WebUI 侧栏容器、历史适配器,以及 useTauriFileDrop.ts
    • crates/agent-gui/src-tauri/src/commands/config/settings/
    • docs/features/history-compaction.md 与对应回归测试。

Screenshots / preview

共享侧栏组件的交互预览(使用演示数据):独立置顶区域、工作空间行、拖拽标题和蓝色插入线。Desktop 与 WebUI 均已实际打开验证;以下截图分别展示深色和浅色主题。

工作空间会话树与拖拽排序:深色

工作空间会话树与拖拽排序:浅色

Verification

  • 仓库固定 Node 22.19.0:Desktop 前端全量 3074 项测试通过。
  • WebUI 全量 714 项测试通过;侧栏、搜索和拖放相关 143 项回归测试通过,另补充 5 项归档删除回归测试并纳入 Desktop 全量套件。
  • Shared UI / Desktop / WebUI TypeScript 检查及两端 Vite 生产构建通过。
  • 三个前端模块 Biome 检查、共享 UI 边界检查、git diff --check 通过。现有未修改文件仍有非阻断 lint 提示,GUI 大 chunk 提示保留。
  • cargo test -p liveagent save_system --lib7 项通过,覆盖排序与归档元数据保存、关闭数据库后重新打开,以及修改无关设置后保留排序。
  • 回归覆盖独立分页、200 条 Gateway 请求上限、异步删除/重命名、重连、置顶混合排序、多选开关、首次折叠、搜索定位与原生目录拖放。

Pre-submit checklist

  • A requirement issue is linked (or this is a trivial fix that needs no issue, as explained in the summary).
  • Synced with the target branch; no merge conflicts.
  • The change is focused, with no unrelated modifications.
  • No secrets, tokens, or personal data included.
  • Docs are updated for changes affecting user behavior, deployment, or configuration.

统一 Desktop 与 WebUI 的工作空间会话树、独立置顶、分页和归档交互。
支持同组工作空间与置顶混合排序,并持久化排序和归档元数据。
修复首次折叠、搜索定位与目录拖放冲突,保留原有新建工作空间表单。

Refs #769
归档会话未加载到侧栏缓存时,补齐摘要后走统一删除流程。
仅在后端确认删除后移除归档元数据,失败时保留恢复入口,并阻止重复删除回填。
Desktop 与 WebUI 的单条和批量删除共用同一逻辑,补充五项回归测试。

Refs #769
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.

[Feature] 工作空间会话树与独立置顶侧栏

1 participant