tuios README

The project's README from github.com/Gaurav-Gosain/tuios. As one markdown file: README.md.

tuios: a terminal window manager that knows what your agents are doing. Tilly, a small purple CRT whose screen is a tiled layout, stands beside the tuios wordmark and a tiled terminal session.

TUIOS: Terminal UI Operating System

Latest Release GoDoc Ask DeepWiki
Terminal Trove Tool of The Week

TUIOS

TUIOS is a modern terminal multiplexer and window manager built with Go. It provides a vim-like modal interface with multiple terminal panes, workspaces, BSP tiling, kitty graphics protocol support, and a command palette, all running inside your existing terminal. A daemon keeps sessions alive, reaches sessions on your other machines, and lets the coding agents in your panes report their state and message each other.

Built on the Charm stack (Bubble Tea v2, Lipgloss v2), TUIOS features event-driven rendering for near-zero idle CPU usage, flicker-free kitty image passthrough, and comprehensive keyboard/mouse interaction.

Documentation

Full documentation is available at tuios.dev (hosted) or in the docs/ folder. To try tuios without installing it, take the guided tour at tuios.dev/learn: the real app, compiled to WebAssembly, with a practice shell in every pane.

What changed in v0.8.1 is in the release notes.

Table of Contents

Installation

Package Managers

Homebrew (macOS/Linux):

brew install tuios

Arch Linux (AUR):

yay -S tuios-bin

Nix:

nix run github:Gaurav-Gosain/tuios/v0.8.1#tuios   # a release
nix run github:Gaurav-Gosain/tuios#tuios          # the latest main
nix run nixpkgs#tuios                             # the nixpkgs package

Put a release tag after the repo name to build that release. Without a tag, Nix builds the newest commit on main.

Other Methods

# Quick install script (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Gaurav-Gosain/tuios/main/install.sh | bash

# Go install
go install github.com/Gaurav-Gosain/tuios/cmd/tuios@latest

# Docker
docker run -it --rm ghcr.io/gaurav-gosain/tuios:latest

GitHub Releases: Pre-built binaries for Linux, macOS, Windows, FreeBSD and OpenBSD, with a checksums.txt. The tuios-ghostty_* archives are tuios built on the libghostty-vt emulator, for Linux, macOS and Windows on amd64 and arm64.

Building from source needs Go 1.26.6 or newer.

Updating. If you installed with the quick install script or a release binary, tuios update fetches the newest release and puts it in place (tuios update --check just reports). Everything else has a package manager that owns the binary, so use that instead; tuios update detects which you have and prints the right command rather than overwriting it.

Requirements: A terminal with true color support. Kitty graphics and sixel support recommended (Ghostty, Kitty, WezTerm).

Features

TUIOS

Core

Agents

The guide is docs/AGENT_STATE.md.

Machines

Tiling

Scrollback & Copy Mode

Graphics & Protocols

Session Management

Automation

Discovery & Navigation

More

Quick Start

tuios                    # Launch TUIOS
tuios --show-keys        # Launch with key overlay for learning
tuios --standalone       # Launch without the daemon, for this run only

tuios attaches to a daemon-backed session, so the session outlives the terminal window it started in. New panes are tiled. See SESSIONS.md to turn either off.

Essential Keys

Key Action
Ctrl+P Command palette: search and run any action
Alt+Space Launcher: search and start a program (Enter runs it, Tab types it out)
n New pane (Window Management mode)
i / Enter Enter Terminal mode
Prefix+Esc or Alt+Esc Back to Window Management mode (a bare Esc goes to the shell)
Prefix+d Detach in a daemon session, otherwise back to Window Management mode
z (WM) or Prefix+z Toggle pane zoom
Prefix+Space Toggle BSP tiling
Prefix+[ Enter copy mode (vim scrollback)
Prefix+S Session switcher
Prefix+L then l/s Load/Save layout template
Prefix+? Help overlay
Prefix+q Quit

The prefix key is Ctrl+B by default (configurable).

Daemon Mode

tuios new mysession          # Create persistent session
tuios attach mysession       # Reattach
tuios ls                     # List sessions
tuios kill-session mysession # Kill session

Layout Templates

# In-app: Ctrl+B, L, l to load / Ctrl+B, L, s to save
# Or via command palette: Ctrl+P → "Save layout" / "Load layout"

# CLI:
tuios layout list            # List saved layouts
tuios layout delete mysetup  # Delete a layout
tuios layout export mysetup  # Export as tape script

Configuration

tuios config edit            # Edit config in $EDITOR
tuios keybinds list          # View the common keybindings

See the configuration reference (or run tuios list-options) for all options including show_clock, show_cpu, show_ram, shared_borders, window_button_style, window_button_position, custom themes, and keybinding customization.

Architecture

TUIOS follows the Model-View-Update pattern on Bubble Tea v2. For details, see Architecture Guide.

Key design decisions:

Core Components:

Performance

Development

git clone https://github.com/gaurav-gosain/tuios.git
cd tuios
go build -o tuios ./cmd/tuios
./tuios

To install a local build on your PATH instead, ./scripts/install.sh builds and installs into ~/.local/bin. It builds the pure Go emulator. ./scripts/install.sh ghostty builds the ghostty emulator backend instead, and tuios --version says which is installed.

go test ./...              # Run tests
go vet ./...               # Vet
golangci-lint run          # Lint with the checks CI runs (.golangci.yml)
govulncheck ./...          # Known vulnerabilities in what the build reaches

Support: ko-fi

Star History

Star History Chart

GitHub Language Count GitHub Top Language Repo Size GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests GitHub Contributors GitHub Last Commit GitHub Commit Activity (Week)

License

MIT License. See LICENSE for details.

Acknowledgments

tuios (Gaurav-Gosain/tuios)

Searching Database…

5.4K ·GitHub
这是什么?TUIOS 是一个用 Go 编写的终端窗口管理器和多路复用器,在你的终端之上提供平铺窗格、工作区和基于守护进程的持久会话,并内置对窗格中运行的编码代理正在做什么的感知。
它是 tmux 的替代品,还是别的东西?它覆盖与 tmux 相同的场景(守护进程会话、分离/重连),但增加了带 BSP 平铺的 vim 风格模态窗口管理器、命令面板和能感知代理的收件箱(Inbox);它甚至自带 tmux Shim,让为 tmux 构建的工具(如 Claude Code agent teams)可以改在 tuios 窗格中运行。
它需要特殊终端才能有好的效果吗?它需要支持真彩色的终端,图像渲染推荐使用支持 Kitty graphics 或 sixel 的终端,Ghostty、Kitty 和 WezTerm 被点名推荐为很好的搭配。
它实际支持哪些编码代理?运行 `tuios integration install` 可以接入 19 个 harness(包括 Claude Code、Codex、Gemini CLI 和 opencode)来上报它们的状态;此外 tuios 还能仅凭观察进程和屏幕检测 24 个代理 CLI,无需任何配置。
它也能在 Windows 和 BSD 上运行,还是只有 macOS/Linux?可以,预编译二进制覆盖 Linux、macOS、Windows、FreeBSD 和 OpenBSD;另外还有基于 Ghostty 终端模拟器的独立构建,支持 Linux、macOS 和 Windows 的 amd64/arm64。
收件箱(Inbox)是什么?收件箱(按 Prefix+i 打开)汇总列出所有会话和机器上需要你注意的事项:审批请求、提问、代理邮件、错误和已完成的回合,你可以直接在收件箱里回复提示,无需切换到对应窗格。
Fleets 是什么?`tuios fan` 可以同时向多个编码代理发送相同提示,甚至混合不同的 harness,每个代理都在自己的 git worktree 中运行;而 `tuios start-agent` 则在你身边启动单个辅助代理。
代理可以通过 MCP 控制 tuios 吗?可以,`tuios mcp` 会启动一个 MCP 服务器,暴露与其 CLI 工具相同的接口;默认只读且仅限代理自己的会话,除非你通过 Pane Grants 明确授予更多权限。
可以通过 SSH 或浏览器使用 tuios 吗?可以,它提供用于远程终端多路复用的 SSH 服务器模式,还有独立的 `tuios-web` 二进制文件支持基于浏览器的访问。
Size
81.3 MB
Stars
5.4K
Age
1y
Commits · 90 Days