TUIOS:让编码代理共享可持久化会话的终端窗口管理器
TUIOS给终端开发者管理窗格和编码代理,区别是daemon会话与Agent Inbox能跨机器协作。
GitHub Gaurav-Gosain/tuios 更新 2026-10-06 分支 main 星标 4.8K 分叉 213
Go 终端复用 BSP Tiling Bubble Tea v2 编码代理 SSH/Tailscale

🧭 决策指南

适合,如果你

  • 你需要BSP Tiling、workspaces和vim-like模态操作来管理多个终端窗格。
    README 的 Features 与 Quick Links 列出 BSP Tiling、workspaces、Keybindings 和 Layout Modes。
  • 你运行编码代理,并希望通过Agents的Inbox、审批或Fleets集中查看状态。
    README 的 Quick Links 中 Agents 章节明确列出 state、Inbox、approvals、fleets、grants 和 MCP。
  • 你需要让Sessions跨终端窗口存活,或用SSH访问其他机器上的会话。
    README 的 Quick Start 说明daemon-backed session会超出终端窗口存活;Machines章节提供 tuios attach --host。
  • 你想在不安装的情况下体验TUIOS的真实界面和练习Shell。
    README Documentation说明 tuios.dev/learn 提供编译为WebAssembly的真实应用,并在每个pane中提供practice shell。

不适合,如果你

  • 你的终端不支持true color,而项目Requirements明确要求true color。
    README 的 Requirements 写明:A terminal with true color support。
  • 你的构建环境低于Go 1.26.6,且计划从源码构建。
    README Installation明确写明 Building from source needs Go 1.26.6 or newer。
  • 你只需要一次性、不依赖daemon的终端运行,但仍想使用默认持久化Session行为。
    README Quick Start说明默认连接daemon;README仅将 tuios --standalone 定义为本次运行不使用daemon。
  • 你的工作流必须直接兼容驱动tmux的工具,而不准备使用TUIOS的tmux Shim。
    README将 tmux Shim 单独列为兼容层,说明其用途是运行驱动tmux的工具,例如Claude Code agent teams。

前置条件

  • 终端必须支持 true color。
  • Kitty graphics 和 sixel 支持推荐使用 Ghostty、Kitty 或 WezTerm。
  • 源码构建需要 Go 1.26.6 或更高版本。
  • 可从 GitHub Releases 获取 Linux、macOS、Windows、FreeBSD 和 OpenBSD 的预构建二进制。
  • 使用远程主机功能时,README要求通过SSH到达其他机器;Tailscale tailnet可由 tuios hosts tailnet 列出。

第一步命令(README 原文)

tuios --show-keys

要注意

  • 安装方式会影响更新命令:tuios update只覆盖quick install script或release binary安装,其他方式由包管理器负责。
    README Installation 的 Updating 章节明确说明了tuios update的适用范围。
  • Linux上选择Ghostty构建会改用libghostty-vt emulator,并需安装tuios-ghostty或运行install.sh ghostty。
    README Installation 与 Development分别说明Homebrew ghostty build和./scripts/install.sh ghostty。
  • 默认daemon会让Session脱离启动它的终端窗口继续存在;需要单次无daemon运行时必须使用--standalone。
    README Quick Start原文说明session outlives the terminal window;命令列表提供 tuios --standalone。
  • 图形显示依赖终端协议:README将Kitty graphics和sixel列为推荐,并说明Kitty passthrough使用mode 2026同步。
    README Requirements 与 Architecture 的 Kitty graphics passthrough章节。

替代方案

  • tmux:现有工具明确驱动tmux,且不需要TUIOS的Agents Inbox、BSP Tiling或daemon会话界面时,tmux兼容性路径更直接。
    README 的 tmux Shim

材料未说明

  • README未说明Agents具体支持哪些代理产品及其版本兼容范围。
  • README未说明daemon跨机器连接的认证、加密和失败恢复细节。
  • README未提供CPU、内存或启动延迟的实测数字;Performance章节只描述zero CPU at idle、style caching和viewport culling。
  • README未说明Windows、FreeBSD和OpenBSD上的功能差异及安装后的终端要求。
  • README未说明10位贡献者和5个版本对应的发布周期、维护者响应时间或支持承诺。
  • README未说明Tailscale tailnet、SSH主机策略和Agents grants的完整配置示例。

💡 深度解析

6
适合 我用 Go 和 Bubble Tea v2 开发工具,希望修改 TUIOS 的窗口管理、输入路由或渲染逻辑,并用 JSON 控制协议和 Hooks 自动化工作流;这个项目适合作为扩展基础吗?
适合读者: 熟悉 Go 和 Bubble Tea v2、希望扩展终端窗口管理器并需要自动化控制接口的开源维护者

适合,因为项目的实现语言、UI 框架、组件边界和自动化入口都与这个扩展方向直接对应。可核对的事实有:
- Architecture 说明 TUIOS 使用 Bubble Tea v2 的 Model-View-Update 模式,核心组件分为窗口管理、终端仿真、渲染和输入。
- 项目主体为 Go,README 提供可直接构建、测试、vet、lint 和 govulncheck 的开发命令。
- Control Protocol 提供 JSON verb protocol,Hooks 可响应 window、session 和 agent 事件,Tape Scripting 也用于工作流自动化。
- 但 README 没有承诺内部包 API 稳定,也没有说明协议版本化策略。可先执行:
git clone https://github.com/gaurav-gosain/tuios.git

  • Architecture:TUIOS follows the Model-View-Update pattern on Bubble Tea v2
  • Architecture:Core Components 包含 Window Manager、Terminal Emulation、Rendering、Input
  • Control Protocol:JSON verb protocol for driving the daemon
  • Hooks:Run shell commands on window, session and agent events
  • Development:go build -o tuios ./cmd/tuios;go test ./...
git clone https://github.com/gaurav-gosain/tuios.git
材料未说明:README 未说明 internal 包是否允许外部直接依赖。;README 未说明 JSON 控制协议的版本兼容策略和错误语义。;README 未提供扩展新布局或新代理适配器的完整开发指南。
适合 我同时运行多个 Claude Code agent teams,希望看到每个代理的状态、消息和审批,并且现有工具仍通过 tmux 工作,TUIOS 是否适合替代当前的终端窗口管理方式?
适合读者: 并行使用 Claude Code agent teams、需要继续兼容 tmux 驱动工具的个人开发者

适合,因为 TUIOS 同时覆盖代理状态管理和 tmux 兼容,而不是只提供普通终端分屏。具体依据包括:
- Agents 文档列出 state、Inbox、approvals、fleets、grants 和 MCP,适合集中查看多个代理的工作状态。
- tmux Shim 文档明确支持运行驱动 tmux 的工具,并特别提到 Claude Code agent teams。
- README 将 daemon 会话、代理消息和跨窗格通信放在同一工作流中,代理可在用户离开终端后继续运行。
- 但未说明 Claude Code 的所有版本、每种 agent team 操作以及审批协议的兼容边界。可先执行:
tuios --show-keys

  • Agents:state, the Inbox, approvals, fleets, other machines, grants and MCP
  • tmux Shim:Run tools that drive tmux, such as Claude Code agent teams
  • Quick Start:tuios attaches to a daemon-backed session, so the session outlives the terminal window it started in
  • 项目数据:topics 包含 claude-code、codex、coding-agents、tmux-alternative
tuios --show-keys
材料未说明:README 未说明 Claude Code 各版本与 agent teams 功能的具体兼容矩阵。;README 未说明第三方代理接入状态、审批和 MCP 所需的完整协议细节。
适合 我需要同时管理多个仓库、服务进程和测试任务,已经习惯 Vim 式模态操作,并希望在 BSP、master-stack 和 scrolling 布局之间切换;TUIOS 是否比普通终端标签页更适合我?
适合读者: 每天管理多个仓库、服务进程和测试任务,并依赖 Vim 式键位与 BSP、master-stack、scrolling 三种布局的 CLI 用户

适合,因为你的工作方式正对应 TUIOS 的空间组织和键盘交互模型。具体来说:
- Features 提供 BSP tiling、scrolling layout、master-stack layout、预选分割和 equalize splits,能按任务关系组织窗格。
- README 说明界面是 vim-like modal interface,并提供命令面板、键绑定和鼠标交互。
- Input 组件包含 100+ configurable keybindings;对已经熟悉 Vim 的用户,迁移成本通常低于普通终端用户。
- daemon-backed session 会让窗口关闭后会话继续存在,适合长期运行的服务和测试任务。不过,README 也显示 standalone 模式不具备完整 daemon 生命周期能力。可先执行:
tuios --show-keys

  • Features:BSP Tiling、Scrolling Layout、Master-Stack Layout、Preselection、Equalize Splits
  • README 原句:It provides a vim-like modal interface with multiple terminal panes, workspaces, BSP tiling
  • Architecture:Input,100+ configurable keybindings
  • Quick Start:the session outlives the terminal window it started in
  • 项目洞察 common_pitfalls:standalone 适合临时运行,但不具备完整的守护进程会话生命周期能力
tuios --show-keys
材料未说明:README 未说明同一工作区可稳定承载的最大窗格数或任务数。;README 未说明大量并发服务输出对可读性和内存的具体影响。;README 未提供从 tmux 或其他终端标签页迁移现有布局的自动转换工具。
视情况 我经常在终端里查看带图片输出的 CLI,要求 kitty graphics 或 sixel、滚动历史、鼠标选择和 Vim 式复制模式同时可用;TUIOS 是否能替代普通终端复用器?
适合读者: 依赖 kitty graphics、sixel、滚动历史和 Vim 式复制模式的高级终端用户

视情况:TUIOS 明确实现了这些终端能力,但最终效果取决于外层终端模拟器及其协议支持,不能仅凭项目功能列表保证兼容。事实包括:
- Architecture 的终端仿真组件支持 ANSI、scrollback、kitty/sixel graphics、kitty keyboard protocol 和 OSC 133。
- README 的 Copy mode 支持完整 Vim 式滚动历史导航,鼠标滚动和选择共用同一套机制。
- Performance 说明 kitty 图片使用 image ID reuse、mode 2026 同步和批量渲染,以减少闪烁和撕裂。
- 项目洞察指出 kitty graphics 和 sixel 在不同终端中的覆盖并不一致;README 未列出具体终端兼容矩阵。可先执行:
tuios --show-keys

  • Architecture:Terminal Emulation 支持 ANSI parser with scrollback, kitty/sixel graphics, kitty keyboard protocol, OSC 133
  • Architecture:Copy mode,Full vim navigation over scrollback
  • Performance:Flicker-free via image ID reuse;Tearing-free via mode 2026 sync
  • 项目洞察 common_pitfalls:终端必须具备较好的真彩色支持,kitty graphics 和 sixel 受终端能力影响
tuios --show-keys
材料未说明:README 未列出具体外层终端、终端后端与 kitty/sixel 功能的兼容矩阵。;README 未说明图片转发在 SSH 链路上的带宽、延迟和失败行为。;README 未说明极大 scrollback 或视频式输出的资源上限。
视情况 我需要通过 SSH 访问其他机器,在远程主机上持续运行构建任务和编码代理,即使本地终端关闭或 SSH 断开也要保留会话;TUIOS 能否满足这个约束?
适合读者: 在多台通过 SSH 访问的机器上运行长期构建和编码代理任务、要求断线后恢复会话的工程师

视情况:TUIOS 的会话持久化和远程会话模型匹配需求,但远程任务能否正常运行还取决于 SSH、目标机器环境和代理集成。依据如下:
- Sessions 文档明确覆盖 daemon mode、attach/detach、other machines 以及哪些内容会保留。
- README 说明 daemon 会保持会话,并可访问其他机器上的会话;这适合 SSH 中断后的重新连接。
- 项目洞察还指出远程代理依赖主机配置、权限和目标机运行环境,网络中断或版本差异可能影响控制。
- README 摘要没有给出远程主机最低系统、认证方式、代理部署步骤或断线重连语义,因此不能据此保证全部远程场景。可先执行:
tuios

  • Sessions:Daemon mode, attach/detach, other machines, and what survives
  • README 原句:A daemon keeps sessions alive, reaches sessions on your other machines
  • 项目洞察 usage_limitations:跨机器能力不自动解决代码同步、凭据管理、网络安全或构建环境一致性
  • Quick Start:tuios attaches to a daemon-backed session
tuios
材料未说明:README 未说明 SSH 认证、主机配置格式和远程端必须安装哪些组件。;README 未说明 SSH 断线期间代理状态如何更新,以及跨版本远程会话是否兼容。;README 未说明远程代码同步、凭据转发和网络安全边界。
视情况 我需要在 Linux、macOS、Windows、FreeBSD 或 OpenBSD 之间使用相同的 TUI 工作区,并希望通过 Go 单文件构建减少安装依赖;TUIOS 是否适合这种跨平台约束?
适合读者: 需要在 Linux、macOS、Windows 或 BSD 上统一使用终端工作区、但不想维护复杂编译环境的开发者

视情况:项目明确提供多平台发行包并以 Go 为主体,但源码构建和高级终端能力仍有环境要求。依据如下:
- 项目洞察列出 Linux、macOS、Windows、FreeBSD 和 OpenBSD 的发行包,说明目标平台覆盖较广。
- README 将 TUIOS 描述为 Go 实现,并提供 go build -o tuios ./cmd/tuios;同时支持纯 Go 终端仿真器或 ghostty emulator backend。
- 开发章节要求 Go 1.26.6 或更高版本,源码构建者不能忽略版本约束。
- Windows、BSD 上的 daemon、PTY、SSH、图形协议和键盘协议兼容性未在提供的 README 中展开,因此不能保证所有功能完全一致。可先执行:
go test ./...

  • 项目洞察 key_features:提供 Linux、macOS、Windows、FreeBSD 和 OpenBSD 发行包
  • Development:go build -o tuios ./cmd/tuios
  • Development:It builds the pure Go emulator;支持 ghostty emulator backend
  • 项目洞察 common_pitfalls:项目构建要求 Go 1.26.6 或更高版本
  • 项目数据:main_language 为 Go;许可证为 MIT License
go test ./...
材料未说明:README 未说明各平台是否都支持 daemon、PTY、远程会话和代理管理的完整功能集。;README 未提供 Windows 和 BSD 的安装、服务管理或终端后端差异说明。;README 未说明预编译发行包具体覆盖哪些架构。

✨ 核心亮点

  • BSP Tiling、workspace与多种Layout Modes集中管理终端窗格
  • Daemon让Sessions跨终端重启存活,并支持SSH远程主机
  • Agents提供Inbox、审批、Fleets、Grants与MCP协作入口
  • Bubble Tea v2事件驱动渲染,README声称空闲时CPU为零
  • 源码构建要求Go 1.26.6或更高版本

🔧 工程化

  • Go编写的终端复用器,提供vim-like模态操作、BSP Tiling和Command Palette。
  • Daemon-backed Sessions可跨终端窗口存活,并用tuios attach连接远程会话。
  • Agents章节提供Inbox、审批、Fleets、其他机器和MCP相关能力。
  • 支持Kitty graphics protocol、sixel、100+可配置按键和vim Copy mode。

⚠️ 风险

  • 源码构建依赖Go 1.26.6或更高版本,旧Go环境不能直接按README构建。
  • 运行要求支持true color的终端,Kitty graphics与sixel仅列为推荐。
  • 默认tuios连接daemon;只有--standalone明确表示本次运行不使用daemon。
  • 社区仅10位贡献者、5个版本和10条最近提交,长期维护规模有限。

👥 适合谁?

  • 使用Go、Claude Code等编码代理并需要Inbox协作的终端开发者。
  • 需要BSP Tiling、workspaces和daemon会话持久化的个人开发者或小团队。
  • 使用SSH或Tailscale tailnet在多台机器运行Agents和远程Sessions的用户。
  • 需要Kitty graphics、sixel或Ghostty终端图形能力的终端用户。