Skip to content

feat(agent): 左栏会话右键「进入分屏」,在右侧工作区并排打开会话 Tab - #1972

Open
wafo210715 wants to merge 2 commits into
proma-ai:mainfrom
wafo210715:feat/sidebar-session-split-tab
Open

feat(agent): 左栏会话右键「进入分屏」,在右侧工作区并排打开会话 Tab#1972
wafo210715 wants to merge 2 commits into
proma-ai:mainfrom
wafo210715:feat/sidebar-session-split-tab

Conversation

@wafo210715

Copy link
Copy Markdown
Contributor

依赖 #1971 (基于 feat/canvas-workspace-tab),请先审 #1971 ,本 PR 只需看最后一个 commit。

功能

左侧栏右键任意已有会话 →「进入分屏」,目标会话以 Chrome 式 Tab 在当前会话的右侧工作区并排打开:

  • 并排的是完整 AgentView(对话与输入可用),与探索分支/委派 Tab 同构,支持既有并排分屏
  • 打开状态按主会话维护(agentSideSessionMapAtom):切换会话再切回,并排列表保留
  • 激活并排 Tab 时同步「停止生成」快捷键目标到该会话
  • 目标会话被删除后自动清理悬空 Tab;右键当前会话自身则保持原行为(直接打开)
  • 重复进入分屏同一会话幂等(聚焦已有 Tab)

实现要点

  • 新增 session:<id> 右侧工作区 Tab 类型 + agentSideSessionMapAtom(Map<主会话, 并排会话[]>,运行期内存态)
  • 渲染分支复用 SideAgentSessionContent 过渡动画容器

截图

Screenshot 2026-09-03 at 03 29 25 Screenshot 2026-09-03 at 03 30 08

新 proma 的探索 fork 功能感觉很好用 - 自己偶尔用着用着开始双线并行了!so i thought why not.

测试

  • tsc --noEmit 通过;bun test 基线一致;vite build 通过
  • 手测:右键进入分屏 → Tab 内发送消息 → 关闭 Tab → 再次进入分屏聚焦 ✅

Made with Proma · GitHub

- 采用 JSON Canvas 开源格式(github.com/obsidianmd/jsoncanvas),与 Obsidian Canvas 互通
- CanvasView 自由画布:双击建节点、锚点拖连线、框选、成组、撤销重做、自动整理、缩放平移
- 通过右侧工作区加号菜单「打开画布」进入;作为普通可关闭 Tab,天然支持并排分屏
- 画布内容按会话持久化(session-canvas.canvas),组件内防抖自动保存 + 卸载/beforeunload 同步兜底
- 支持选中簇导出为独立 .canvas + .md 文件到 ~/.proma/canvas-exports/

Made-with: Proma
- 新增 session:<id> 右侧工作区 Tab 类型与 agentSideSessionMapAtom(按主会话维护并排列表)
- 右键任意已有会话「进入分屏」:目标会话以 Chrome 式 Tab 在当前会话的右侧工作区并排展示
- Tab 内容渲染完整 AgentView(对话与输入可用),与探索分支/委派 Tab 同构,支持并排分屏
- 激活并排 Tab 时同步「停止生成」目标;目标会话被删除后自动清理悬空 Tab

Made-with: Proma
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