diff --git a/README.md b/README.md
index 3bd762c7..0e848f8e 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-

+

-
tty7
+### tty7
-**The terminal that outlives its window.**
+**A terminal workbench: persistent sessions, remote work, agents.**
Pure Rust · GPU rendering on Zed's gpui · VT core from Alacritty
@@ -12,8 +12,9 @@
[](https://github.com/l0ng-ai/tty7/actions/workflows/ci.yml)
[](https://github.com/l0ng-ai/tty7/releases)
-[](https://github.com/l0ng-ai/tty7/releases)
-[](LICENSE)
+[](https://github.com/l0ng-ai/tty7/releases)
+[](LICENSE)
+[](https://discord.gg/s3dethqz2V)
English · [简体中文](README.zh-CN.md)
@@ -21,123 +22,44 @@

+
▶ Watch in full quality
+
-
diff --git a/README.zh-CN.md b/README.zh-CN.md
index 5d753016..748c5242 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -1,10 +1,10 @@
-

+

-
tty7
+### tty7
-**关掉窗口,终端还在。**
+**终端工作台:会话常驻、远程开发、原生支持 agent。**
纯 Rust · GPU 渲染基于 Zed 的 gpui · VT 内核来自 Alacritty
@@ -12,8 +12,9 @@
[](https://github.com/l0ng-ai/tty7/actions/workflows/ci.yml)
[](https://github.com/l0ng-ai/tty7/releases)
-[](https://github.com/l0ng-ai/tty7/releases)
-[](LICENSE)
+[](https://github.com/l0ng-ai/tty7/releases)
+[](LICENSE)
+[](https://discord.gg/s3dethqz2V)
[English](README.md) · 简体中文
@@ -21,126 +22,66 @@

+
▶ 观看高清版
+
-
+## 为什么
-大部分终端把 shell 挂在窗口上。窗口一关,shell 就跟着死了。为了不让它死,大家又在终端里再套一层
-tmux,学一套新的快捷键,写一份配置文件。这是在窗口的限制上再加一层绕路。
+shell 和窗格由后台常驻的 server 持有,而不是窗口。下面这些特性几乎都源自这一设计。
-tty7 的做法很简单:shell 归后台的 server 管,窗口只负责显示。窗口关了,shell 照样活着。
-下面这些特性,几乎都是从这一点自然推出来的,并不需要额外发明什么。
-
-## 退出应用,会话不断
-
-退出 tty7,所有 shell 原地接着跑,编译不会断。
-
-重启电脑,进程当然没了,这是操作系统层面的事。但布局和屏幕上最后的内容会回来,
-已支持的 agent 也会接上原来的对话。
-
-不需要 tmux,不需要配置。
-
-→ [退出、重启后分别保留什么](docs/getting-started/concepts.mdx)
-
-## agent 指挥 agent
-
-现在很多人同时开好几个 agent,在好几个仓库里干活,然后就在窗口之间来回切,看哪个跑完了,
-哪个在等你回话。这种事不应该由人来做。
-
-tty7 能认出 26 个编程 CLI(Claude Code、Codex、Gemini、Cursor、OpenCode 等),把它们的状态、
-通知、分支和 diff 放在同一个侧边栏里。哪个需要你,一眼就知道。
-
-再往前走一步:既然状态能用命令查到,那调度 agent 的就不一定是人,也可以是另一个 agent。
-整个流程就四行,不需要任何框架,GUI 不开也能跑:
-
-```sh
-PANE=$(tty7 split --v) # 给干活的 agent 开个 pane
-tty7 send "$PANE" 'claude "add tests for the parser"' --enter
-tty7 wait "$PANE" --until waiting,done --changed --timeout 600 # 等它做完,或卡住需要人
-tty7 capture "$PANE" --plain # 读取输出
-```
-
-tty7 不给 agent 套壳,也不做代理。你启动的就是原版 agent,跑在普通的
-PTY 里。简单的东西才可靠。
-
-→ [编排 agent](docs/agents/orchestration.mdx) ·
-[agent skill](skills/tty7/SKILL.md) · [完整支持矩阵](#支持的-agent)
-
-## 远程机器也一样
-
-远程工作区就是在远端跑同一个 server,本地只负责显示。标签页、pane、文件树、git、diff
-都在远端,文件不用同步。换台电脑连上去,还是你离开时的样子。
-
-这跟本地其实是同一件事,只不过 server 换了个地方。
-
-SSH 是 tty7 自己用 Rust 实现的,不依赖系统的 ssh。profile、keychain、跳板机、SFTP、端口自动转发都有。
-远端的 `tty7-server` 装一次就好,不需要 root。
-
-→ [远程工作区](docs/remote/workspaces.mdx)
-
-## 性能
-
-性能不是 tty7 的卖点,但也不能是短板。`cat` 一个 11 MB 的文件,tty7 用 95 ms,第二名 179 ms。
-DOOM-fire 跑到 888 fps,第二名 617 fps。测试方法和脚本都公开,一条命令就能复现。
-
-| | **tty7** | Alacritty | Ghostty | Kitty |
-|---|---:|---:|---:|---:|
-| 纯文本 I/O:`cat` 一个 11 MB 文件
(越低越好) | **95 ms** | 239 ms | 179 ms | 185 ms |
-| [DOOM-fire](https://github.com/const-void/DOOM-fire-zig) 帧率
(越高越好) | **888 fps** | 485 fps | 552 fps | 617 fps |
-| 冷启动内存 | 116 MB¹ | 105 MB | 128 MB | 130 MB |
-
-
Apple M1 Pro,macOS 26.3.1,155×40 网格,五次取平均,2026-07-04。¹ GUI 占 105 MB,常驻 server 占 11 MB。
-测试方法与一条命令复现:[`scripts/bench/`](scripts/bench/README.md)。
-
-## 其他功能
-
-剩下的都是细节,但细节做对了,用起来就是顺手。提示符有历史建议、带说明的 Tab 补全、语法高亮、
-多行编辑,
⌃ R 模糊搜索历史。
⌘ P 随处搜索,
⌘ J 打开侧边面板,
-看进程、端口、文件、改动,还有 GitHub 的 issue 和 PR。shell 集成覆盖 zsh、bash、fish、PowerShell
-和 WSL,什么都不用装。
-
-→ [完整文档](docs/)(英文)· [快捷键](docs/reference/keyboard-shortcuts.mdx) ·
-[config.json](docs/reference/configuration.mdx) · [CLI 参考](docs/cli/reference.mdx)
+- **性能**:吞吐是 Alacritty、Ghostty、Kitty 的两倍左右([基准测试](#基准测试))
+- **会话常驻**:退出应用,shell 照常运行;重启机器后,布局、屏幕内容和已支持的 agent 对话都会回来。不需要 tmux
+- **Agent 感知**:Claude Code、Codex 等 agent 的状态、通知和 git 上下文,多个仓库一屏看完
+- **可被 agent 驱动**:一个 agent 能给另一个开 pane、派活、等它跑完、读走结果,GUI 开不开都行
+- **编辑器级输入**:建议、补全、高亮、历史搜索,不用装任何插件
+- **远程开发**:文件、仓库、pane 和 git 信息都留在远端机器上,走自带的 SSH 栈
## 安装
-到 [**Releases**](https://github.com/l0ng-ai/tty7/releases/latest) 下载对应平台的安装包:
+macOS、Windows、Linux 的原生构建都在 [**Releases**](https://github.com/l0ng-ai/tty7/releases):
+
+| | | |
+|---|---|---|
+| **macOS** | `…-macos-arm64.dmg` · `…-x86_64.dmg` | 拖进「应用程序」 |
+| **Windows** | `…-setup.exe` · 免安装 `….zip` | |
+| **Linux** | `…-x86_64.AppImage` | `chmod +x` 后直接运行,X11/Wayland 的库已打包在内 |
+
+## 有什么
| | |
|---|---|
-| **macOS** | `.dmg`,Apple 芯片和 Intel 各一版,拖进「应用程序」即可 |
-| **Windows** | `-setup.exe`,或免安装的 `.zip` |
-| **Linux** | `.AppImage`,`chmod +x` 后直接运行,X11/Wayland 依赖已打包 |
-
-给 agent 装上 tty7 的 skill:
-
-```sh
-npx skills add l0ng-ai/tty7 # 安装
-npx skills update tty7 # 后续更新
-```
+| **Agent 感知** | 逐 pane 识别 26 个 CLI agent · 状态点 · 通知 · 分支 + diff · 需要输入时托盘图标提醒 · 重启后续上会话 · 在随处搜索里找回任意历史会话 · 一键启动 · 侧边栏按仓库分组,可置顶 |
+| **CLI + Skills** | 安装包自带 `tty7` CLI · [agent skill](skills/tty7/SKILL.md) · `run` 转发命令输出并原样返回退出码 · `split` · `send` · `wait --until free` · `capture` |
+| **编辑器级输入** | 基于历史的内联补全建议 · Tab 补全附带说明 · 语法高亮 · 多行编辑 · 点击定位光标 ·
⌃ R 模糊搜索历史 |
+| **窗口** | 标签页与分屏 ·
⌘ P 随处搜索 ·
⌘ F 回滚搜索 · 休眠标签页以释放内存 · 输入法 |
+| **侧边面板** |
⌘ J · 进程树与监听端口 · 文件树 · 改动与 diff · 在文件中查找 · GitHub issue 与 PR(只读,通过 `gh` 登录) |
+| **Shell 集成** | pane 启动时自动注入,不用你装什么 · 提示符边界 · 工作目录 · 退出码 · 命令跑完发通知 · 覆盖 zsh、bash、fish、PowerShell、WSL 和远程 pane |
+| **远程工作区** | 远端的文件、仓库、改动、diff、worktree、标签页和 pane · 从任意客户端重连,接着离开时的位置继续 |
+| **SSH** | 自带 russh 实现,不依赖外部 ssh:profile 凭据存入 keychain · SFTP 面板 · 端口转发 · 跳板机 · `tty7-server` 只需安装一次,无需 root |
## 支持的 agent
**识别**无需配置:品牌头像、分支与 diff、标签页标题。
-**状态**要在「设置 → 集成」里为对应 agent 装一个 hook(点一下就行)。装好后才有状态点、通知、托盘提醒、`tty7 wait`,以及重启后恢复会话。
-**Fork** 需要两个条件:agent 本身有 fork 命令,并且装了 hook,这样 tty7 才知道要 fork 哪个会话。
-**历史会话**直接读 agent 自己的历史文件,列在随处搜索里,回车即可恢复。
+**状态**需要在设置 → 集成 中为该 agent 安装 hook,一次点击,之后才有状态点、通知、托盘提醒、`tty7 wait` 和重启后恢复会话。
+**Fork** 两个条件都要:agent 自己提供 fork 命令,且 hook 已装——tty7 得知道 fork 的是哪个会话。
+**历史会话**从 agent 自己的历史文件读取,列在随处搜索里,
⏎ 即可续上。
-完整支持矩阵
+26 个 agent 的完整支持矩阵
| Agent | 识别 | 状态 · 重启恢复 | Fork | 历史会话 |
|---|:-:|:-:|:-:|:-:|
| **Claude Code** | ✓ | ✓ | ✓ | ✓ |
| **Codex** | ✓ | ✓ | ✓ | ✓ |
-| **TraeCode** | ✓ | ✓ | ✓ | |
-| **Grok** | ✓ | ✓ | ✓ | |
+| **TraeCode** | ✓ | ✓ | ✓ | |
+| **Grok** | ✓ | ✓ | ✓ | |
| **OpenCode** | ✓ | ✓ | ✓ | ✓ |
| **Oh My Pi** | ✓ | ✓ | ✓ | ✓ |
-| **Prime Agent** | ✓ | ✓ | ✓ | |
+| **Prime Agent** | ✓ | ✓ | ✓ | |
| **Droid** | ✓ | ✓ | ✓ | ✓ |
| **Qwen Code** | ✓ | ✓ | ✓ | ✓ |
-| **Goose** | ✓ | ✓ | ✓ | |
+| **Goose** | ✓ | ✓ | ✓ | |
| **Qoder CLI** | ✓ | ✓ | ✓ | ✓ |
| **Qoder CN CLI** | ✓ | ✓ | ✓ | ✓ |
| **CodeBuddy** | ✓ | ✓ | ✓ | ✓ |
@@ -148,18 +89,51 @@ npx skills update tty7 # 后续更新
| **Copilot** | ✓ | ✓ | | ✓ |
| **Kimi Code** | ✓ | ✓ | | ✓ |
| **Pi** | ✓ | ✓ | | ✓ |
-| **Crush** | ✓ | ✓ | | |
-| **Antigravity** | ✓ | ✓ | | |
+| **Crush** | ✓ | ✓ | | |
+| **Antigravity** | ✓ | ✓ | | |
| **Cursor** | ✓ | ✓ | | ✓ |
-| Aider | ✓ | | | |
-| Amp | ✓ | | | |
-| Auggie | ✓ | | | |
-| Hermes | ✓ | | | |
-| Vibe | ✓ | | | |
-| Empryo | ✓ | | | |
+| Aider | ✓ | | | |
+| Amp | ✓ | | | |
+| Auggie | ✓ | | | |
+| Hermes | ✓ | | | |
+| Vibe | ✓ | | | |
+| Empryo | ✓ | | | |
+tty7 不包装、不代理其中任何一个 —— 你启动的就是那个 agent 本身,运行在普通 PTY 中,界面仍然是它自己的。
+如果你通过 wrapper 脚本启动 agent,在 `config.json` 的 `agent_commands` 里把脚本名映射到对应 agent 即可。
+PATH 上的每个 agent 也都能在随处搜索里找到(**Agent:Claude Code** 等),会在新标签页中启动它;新建标签页菜单会列出真正用过的那几个。`agent_launch` 可以设置它的启动命令行。
+
+## 文档
+
+完整文档在 [**`docs/`**](docs/),英文:
+[快捷键](docs/reference/keyboard-shortcuts.mdx) ·
+[config.json](docs/reference/configuration.mdx) ·
+[CLI 参考](docs/cli/reference.mdx)。
+agent 如何调用这套 CLI,另见 [skills/tty7/SKILL.md](skills/tty7/SKILL.md)。
+
+安装 skill:
+
+```sh
+npx skills add l0ng-ai/tty7 # 安装
+npx skills update tty7 # 后续更新
+```
+
+## 基准测试
+
+同一台机器、同一天、同样的 155×40 网格:Apple M1 Pro,macOS 26.3.1,每项运行五次取平均(2026-07-04)。
+
+| | **tty7** | Alacritty | Ghostty | Kitty |
+|---|---:|---:|---:|---:|
+| 纯文本 I/O:`cat` 一个 11 MB 文件
(越低越好) | **95 ms** | 239 ms | 179 ms | 185 ms |
+| [DOOM-fire](https://github.com/const-void/DOOM-fire-zig) 帧率
(越高越好) | **888 fps** | 485 fps | 552 fps | 617 fps |
+| 冷启动内存 | 116 MB¹ | 105 MB | 128 MB | 130 MB |
+
+
¹ GUI 占 105 MB,常驻 server 占 11 MB。
+
+测试方法与一条命令复现:[`scripts/bench/`](scripts/bench/README.md)。
+
---