认识 AnyTTY
AnyTTY 是运行在你自己设备上的持久终端工作台。命令和任务由目标机器上的 daemon 运行;TUI、CLI 或手机 App 可以随时连接、离开和重新接管,而不用迁移或重启进程。
适合什么场景
- 让构建、部署、训练或编程 Agent 在关闭窗口后继续运行。
- 从另一台电脑或手机查看任务状态并继续输入。
- 在一个 TUI 中同时管理本机、工作站、服务器和内网机器上的终端。
- 通过同一条已授权连接浏览、上传、下载和预览远程文件。
- 保存可搜索的终端历史,断线或程序退出后仍能回到现场。
AnyTTY 不会把正在运行的进程迁移到客户端,也不会因为登录 Cloud 账号就自动获得某台机器的终端权限。Cloud 不是公共文件分享、网盘或开放代理;它只为已配对的客户端和 daemon 建立连接路径。
当前平台与客户端
| 组件 | 用途 | 当前状态 |
|---|---|---|
| daemon | 持有终端、历史、文件权限和访问授权 | macOS、Linux、Windows Beta |
| TUI | 键盘优先的多终端桌面工作台 | macOS、Linux、Windows Beta |
| CLI | 管理 daemon、终端、endpoint、文件和授权 | macOS、Linux、Windows Beta |
| Android App | 触控终端、设备与文件管理 | GitHub Release 提供 Beta APK |
| iOS App | 与 Android 共用移动端产品界面 | 源码可构建,公开商店包尚未提供 |
| AnyTTY Cloud | 托管发现、P2P 协商和 Relay 兜底 | 可选服务 |
当前是预发布版本。首个稳定版之前,命令参数、配置 schema、协议和数据格式仍可能变化。
daemon、client 与 terminal
daemon 是最终权威。 它运行在终端所属的机器上,负责启动进程、保存历史、限制文件根目录、验证客户端身份并执行 grant。客户端关闭、断网或切换设备,不会自动结束 daemon 中的任务。
client 是控制入口。 CLI、TUI 和移动 App 都是客户端。它们读取 daemon 提供的状态和画面,并把用户输入发回去。慢客户端只会让自己的画面暂时落后,不会让其他客户端或终端进程排队等待。
terminal 是持久任务。 一个 terminal 包含稳定 ID、可选名称、启动命令、工作目录、环境、标签、当前 generation、生命周期状态和历史。kill 停止进程但保留记录;remove 只用于删除已经退出的记录;restart 使用 daemon 保存的进程规格启动新 generation。
workspace、tab、panel 与浮动窗口
这些对象属于 TUI 的工作台布局,不是 terminal 本身:
- workspace 组织一套工作布局。
- tab 是 workspace 中的一组可切换布局。
- panel 是显示某个 terminal 的平铺区域。
- floating panel 是覆盖在布局上的浮动查看区域。
改变 panel 当前绑定的 terminal,不会重启任务,也不会改变其他 panel。反过来,关闭一个 panel 也不等于停止 terminal;是否停止进程要通过明确的终端生命周期操作决定。

endpoint 与 route
endpoint 标识一个 daemon。 它保存目标设备身份、展示名、启用状态、选择策略,以及到达该 daemon 的一个或多个 route。
route 是连接路径。 当前支持 Local、SSH、Direct 和 Cloud。一个 endpoint 可以同时存在多个 route;客户端根据本地策略选择路径。认证、身份或授权失败时不会通过换一条更弱的路径绕过检查。
| Route | 典型用途 | Cloud 是否必需 |
|---|---|---|
| Local | 同一用户、同一机器上的本地 socket | 否 |
| SSH | 已经有 OpenSSH 访问能力的远端机器 | 否 |
| Direct | 自行管理局域网或公网可达地址 | 否 |
| Cloud | NAT/内网环境中的托管发现、P2P 与 Relay | 是 |
pairing claim 与 grant
pairing claim 是由目标 daemon 生成的短期、一次性配对材料,可以显示为二维码或可复制文本。默认 claim 有效期为 10 分钟;它必须像临时密码一样保护,兑换前不要出现在日志、截图、聊天或 issue 中。
成功兑换后,daemon 签发绑定到具体客户端身份的 grant。复制 endpoint 配置并不会复制授权。grant 可以限制到单个 terminal,也可以在 daemon 上查看和撤销。默认 grant 生命周期由创建命令显示,当前 CLI 默认值为 90 天。
Live 与 History
Live 是终端当前原生屏幕的最新投影;History 是 daemon 写入磁盘的逻辑行记录。二者使用独立读取位置:进入历史后,新输出仍会继续写入,但不会推走你正在阅读的旧内容;回到底部时再恢复最新 Live 画面。
实时传输和客户端渲染都有容量边界。客户端丢失增量基线、尺寸改变或连接恢复时,会请求全量画面重新同步,而不是猜测缺失内容。历史按页面加载和搜索,不需要一次把整个文件放入内存。
下一步
第一次使用请继续阅读快速开始;准备安装到多台机器时阅读安装、升级与卸载;要选择远程路径时阅读Endpoint 与连接方式。