用途:为构建和调试 TabzChrome 本身提供参考模式,适用于修改 Terminal.tsx、xterm.js 集成、WebSocket 输入输出、resize 处理等终端实现工作。
核心架构:extension/components/Terminal.tsx 通过 WebSocket 连接 backend/modules/pty-handler.js;前端由 xterm.js 渲染,后端对应 tmux 会话。
关键文件:extension/components/Terminal.tsx 负责 xterm.js 终端与 resize;extension/hooks/useTerminalSessions.ts 负责会话生命周期;extension/background/websocket.ts 负责 WebSocket 管理;backend/modules/pty-handler.js 负责 PTY 生成与 tmux。
常用模式:初始化时创建 Terminal 实例、加载 FitAddon、open 容器并调用 fit();resize 时先 fit(),再通过 ws.send 发送 { type: 'resize', cols, rows } 同步 xterm 与 PTY;输入输出方面,term.onData 将数据以 { type: 'input', data } 发送,ws.onmessage 解析后写入终端。
参考文档:references/ 下含 xterm-patterns.md(终端设置、插件、选项)、resize-handling.md(防抖、PTY 同步)、websocket-io.md(消息协议、重连)、testing-checklist.md(手动测试场景)。
限制:资料未提供安装命令、收费、平台支持或效果数据,暂未提供。