Pane & Tab
Hệ thống bố cục giống IDE: chia màn hình thành các pane lồng nhau, mỗi pane chứa nhiều tab thuộc 15 loại.
Cây pane
Pane được tổ chức thành cây đệ quy: nút trục (axis) là các lần split ngang/dọc, nút lá là pane thật có thanh tab riêng. Bạn split tùy ý, kéo để chỉnh kích thước, và pane tự gộp lại khi đóng tab cuối cùng.
Split ngang & dọc
Phím tắt: ⌘\ split phải, ⌘⇧\ split xuống. Có tay kéo để chỉnh tỉ lệ.
Layout được lưu
Layout lưu theo từng project trong settings.json, kèm một lastLayout toàn cục và các preset đặt tên.
15 loại tab
| Loại | Nội dung |
|---|---|
| session | Phiên chat/terminal với agent |
| file | Trình soạn thảo file (CodeMirror 6) |
| spec | Tài liệu OpenSpec của project |
| merge · diff · compare | Các chế độ xem khác biệt mã nguồn |
| gitlog | Lịch sử commit Git |
| terminal | Terminal độc lập |
| monitor | Theo dõi tiến trình & tài nguyên hệ thống |
| task | Kết quả chạy task của project |
| search | Kết quả tìm kiếm ripgrep |
| skill · skill-manager | Soạn thảo và quản lý skills |
| agent · agent-manager | Soạn thảo và quản lý agents |
Tab file hiển thị chấm “dirty” khi có thay đổi chưa lưu và tự lưu khi bạn chuyển sang tab khác. Mở/sửa file: ⌘K. Lưu: ⌘S.
Vì sao trạng thái không mất khi chuyển tab
Các container có trạng thái như terminal (xterm) hay trình soạn thảo được giữ sống bằng kỹ thuật pool ẩn và v-show thay vì hủy đi tạo lại. Nhờ vậy lịch sử terminal, vị trí cuộn và nội dung đang gõ vẫn nguyên khi bạn đổi project hay đổi loại tab.