一个窗口跑 dev server ,一个窗口跑 test ,一个窗口开 Claude Code ,一个窗口开 Codex ,还有日志、git 、临时 shell 。
这些东西不是简单的“开几个 tab”就能解决的,因为很多任务是同时在动的:有的在编译,有的在等输入,有的跑挂了,有的只是暂时不用看但不能关。
我想要的其实是一个可以“一心二用”的终端工作台:
主窗口里专注当前任务,但旁边还能留一点余光,看别的 session 有没有变化;暂时不用看的任务可以挂起到后台,但进程继续跑。
这个想法很大程度上受到了 NekoApocalypse/Vibe99 的启发。Vibe99 里那个“一个主 pane + 多个侧边预览”的感觉我很喜欢,但是当时的技术栈是 Electron (PS:现在也改成了 tauri) 感觉太重,所以我做了一个自己的 GUI multiplexer ,叫 Vibemux 。同时增加了更多对 Keyboard 和 基础 AI 功能的支持。

https://github.com/yoko19191/vibemux
它和普通 Terminal / tmux / zellij 的区别大概是:
普通 Terminal 更关注 window / tab / pane 。
tmux 、zellij 这类工具很强,但很多状态还是藏在编号、status line 、命令和肌肉记忆里。
Vibemux 想把终端当成一组“活着的任务”来管理。每个 session 都有名字、颜色、工作目录、进程状态和注意力状态。它不是 tmux 的 GUI 套壳,而是一个面向本地多任务 / 多 agent 场景的 GUI multiplexer 。
目前已经有这些功能:
选择 Tauri 主要是想让它轻一点,不想为了一个终端工作台再塞一个完整 Chromium 大包。PTY 和 session 生命周期这块在 Rust 侧做,前端使用成熟的 xterm.js 完成终端渲染。
后面 roadmap 里我比较想做的是和各种 Code CLI 更深一点的集成。比如 Claude Code / Codex 这类工具有时候会进入交互式状态,问你要不要继续、要不要确认命令。未来希望 Vibemux 能识别到这些状态,然后让对应 session 闪一下,或者在 detached bar 里显示“需要处理”,这样就不用每个窗口来回扫了。
现在还是早期版本,很多地方肯定粗糙。
欢迎试用、提 issue ,尤其想听听大家在多终端 / 多 agent / Vibe Coding 场景下到底怎么管理注意力。大家在使用 Terminal 时还有什么痛点。

