## 当前正式路线(2026-10-28) 用户已确认**自主 C++ 终端核心+当前 Qt Widgets GUI+随包固定微软 ConPTY**,依据见 [ADR-0008](https://github.com/JavaZeroo/termforge/blob/0fd35e23095c611865c6970ba9a3b8b910ef1efa/docs/adr/0008-cpp-core-qt-widgets.md)。第一批整合由 [#115 / PR #116](https://github.com/JavaZeroo/termforge/pull/116)承接。 已关闭的有限 shell/标签/分屏交付属于原 Win32 固定配置,历史状态不变。Qt 路线需要迁移相应交互并重新验证;#115 只做最小单会话基础,完整工作区迁移由 #34/#7 后续执行项承接,不能直接继承旧UI验收。 以下原合同与固定检查点保留各自来源;路线确认不替代实现、完整R2或性能验收。 ## 用户结果 用户可启动明确支持的 cmd、PowerShell、WSL 等本地入口,配置目录/参数,并在真实分屏和标签中完成互不串扰的会话任务。 ## 工作范围 - 冻结首批 shell、启动目录/参数、profile 和启动失败/退出合同;管理员 shell 与远程会话不纳入本切片。 - 实现会话创建、重复打开、关闭与错误反馈,保证环境、工作目录、进程生命周期和回收可检查。 - 将现有两个区域的布局推进到真正可操作的通用分屏/标签工作流,明确排序、焦点、重命名和关闭目标;参考未知行为先取证。 ## 验收 - [ ] 每个声明支持的 shell 均通过真实启动、命令、交互中断、resize、退出和失败路径。 - [ ] 分屏/标签操作作用于正确会话,多会话输入输出、后台负载和关闭互不影响。 - [ ] 支持矩阵、快捷键/动作上下文和 FEATURES 已更新,R1 八会话工作流与资源回收回归通过。 父项:#7。真实前置:无;TUI 产品验收仍依赖 #28。
Activity
JavaZeroo commentedon Oct 24, 2026
#32 的固定本地 shell 启动切片已完成,本项保持 OPEN,后续工作不由此提前关闭。
实现:
ShellLaunch统一描述 id、可执行文件、参数、工作目录和 shell 命令差异;空描述保留原 cmd 行为。tf_conpty::Session::start可传工作目录,现有调用保持兼容。&,WSL helper 路径转换为/mnt/<drive>/...。ui-shells场景、Python 独立校验和负例。实际验收:
experiments/shell/results/2026-10-24-r2-local-shells/。未覆盖:启动失败 UI、任意 profile/参数、通用分屏/标签排序、完整逐 shell 退出流程、管理员 shell、SSH 和产品架构决定。#36 的完整 CTest 失败仍独立保留。待提交后本切片才能计为交付。
JavaZeroo commentedon Oct 24, 2026
#32 的生命周期切片已完成并覆盖此前的启动结果:
exit,每次退出不影响其他会话。CreateProcess: 2;失败会话可独立关闭,随后新 cmd 恢复,原 cmd 不受破坏。证据:
experiments/shell/results/2026-10-24-r2-shell-lifecycle/。两轮正常退出和两轮失败恢复均 Job active=0、desktop 删除,最终帧已查看;默认工作区回归通过。仍未完成:通用分屏/标签排序、任意 profile/参数、全部运行时错误提示、管理员 shell、SSH 和产品架构决定。本项保持 OPEN;#36 的完整 CTest 失败仍独立保留。
JavaZeroo commentedon Oct 24, 2026
#32 的主区真实分屏切片已完成:
Alt+-在主区创建真正独立的左右会话,不是只显示两个标签或复用原有主/底部布局。Alt+Left/Right切换 pane;Alt+Z隐藏/恢复而不终止进程;Alt+X只关闭当前 pane。selected/select/layout/note_focus/collect_child同步,rename/粘贴等仍指向当前 pane。证据:
experiments/shell/results/2026-10-24-r2-main-split/,包含公开split.bmp和两轮split.json。范围仍限主区一个左右 split;任意嵌套、标签拖放/搜索/颜色、分屏持久化和完整 WindTerm 工作区未完成。本项可继续后续标签工作,不能据此提前完成 #33 或产品架构决定。#36 的完整 CTest 失败仍独立保留。
JavaZeroo commentedon Oct 24, 2026
已在提交 7880c2a 交付并推送固定本地 shell 生命周期、启动失败恢复及主区一个真实左右 split。聚焦复验的 local_shell_launch、launch_failure、main_split 三项均通过;R1 workflow_sessions/workflow_resources 等也通过。完整 Release 构建成功,39 项 CTest 自然结束为 37 通过,唯一失败是 shell 内 #36 的 normal/resize 两个场景,继续独立跟踪,未冒充完整通过。任意嵌套、拖放/搜索/颜色、分屏持久化、物理输入和实际呈现不属于本次已完成证据;R2/#7 路标保持开放。