首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
tty7 CLI 完全参考手册:从命令行打开面板、发送按键、读取屏幕
📅 2026/10/14 16:14:26
✍️ 爱科研究院
👁 阅读 3,247
【免费下载链接】tty7The terminal that outlives its window. Shells survive quitting the app, agents can drive other agents, and remote machines work the same way. Pure Rust, GPU-rendered.项目地址https://gitcode.com/gh_mirrors/tty/tty7点击查看免费下载tty7是一个纯 Rust、GPU 渲染的终端工作台terminal workbench而tty7CLI 是随安装包附带的轻量级命令行客户端它与本机tty7-server通信打开面板、发送按键、读取屏幕、等待完成每个命令执行完即退出--json让输出可被脚本解析。GUI 不需要运行——面板归服务器所有所以你可以在 Makefile、CI 脚本或另一个 AI 编码代理里直接驱动整个终端工作台。快速自检一条命令体检整个环境任何操作前先跑tty7 doctor它会用一张表回答所有前置问题tty7 doctor服务器是否可达、协议版本是否与当前二进制匹配是否运行在 tty7 面板内部即TTY7_PANE/TTY7_WS/TTY7_CONFIG_DIR三个环境变量是否已设置各编码代理的 status hooks 是否安装齐全 在 tty7 面板内部运行时split、send、capture、procs、wait、pane close等命令会自动把$TTY7_PANE当前面板作为默认目标run --keep等命令默认使用$TTY7_WS当前工作区。在面板外部运行则必须显式给出地址——CLI 宁可报错也不会替你猜测。地址系统如何称呼一个面板、选项卡或工作区形式指向稳定性%42面板pane✅ 面板终生保持同一 id7选项卡tab按整机树顺序编号❌ 任何工作区/选项卡增减都会使其漂移api/76698a44/ 完整 UUID工作区workspace按名称、id 前缀或完整 id✅N必须在使用前立即解析面板 id 和工作区 id 可以放心记住。符号%、可省略%42与42同指一个面板从--json里复制出来的 id 可以直接贴回命令。执行命令三种方式1.run阻塞执行透传真实退出码tty7 run -- cargo test # 输出流式打印到 stdout以 cargo 的退出码结束 tty7 run --cwd /path -- make # 指定工作目录 tty7 run --keep -- cargo build # 命令结束后保留面板作为新标签页run会新建一个面板运行命令命令拿到真实 PTY颜色、进度条、TUI 全部正常用户还能在 GUI 窗口里看着它跑。注意两点--之后的一切都属于子进程tty7 run -- cargo test --keep里的--keep传给 cargo不是 tty7--keep需要一个工作区--ws或面板内的$TTY7_WS没有就报错而不是静默兜底2.exec在已有面板的 shell 里跑一行命令tty7 exec $PANE --timeout 900 -- npm run buildrun是为新命令创建地方exec是用你已经有的 shell——面板保留原 cwd、环境变量和历史命令结束后原样退出其退出码并打印命令真实产生的输出OSC 133 提示符标记界定起止。前提该面板的 shell 必须已加载 tty7 的 shell 集成且当前停在提示符处。3. 非阻塞分出一个面板稍后再回来 这是 tty7 CLI 最核心的用法——拿到面板、下发工作、过会儿再读PANE$(tty7 split --v) # 分屏出下面一个面板打印 %83 tty7 send $PANE npm run dev --enter # 输入文本并按回车执行 # ……稍后…… tty7 capture $PANE --plain # 读取屏幕 tty7 pane close $PANE # 用完收掉split必须指定方向--v在下方、--h在右侧--ratio控制现有面板保留的比例0.05–0.95如果不在 tty7 面板内没有东西可分屏先自建工作场所tty7 new /path/to/repo加--json可一次拿到工作区 id 和面板号发送按键把 TUI 当成自己的键盘send把文本像键盘一样逐字敲入面板每个按键作为独立事件、间隔 200 ms 送达原始模式的 TUI 因此把它读作按键序列而非粘贴。tty7 send %42 --enter # 执行面板 42 里已敲好的那行 tty7 send %42 --key C-c # 发送真正的 Ctrl-C 中断 tty7 send %42 --key up --key enter # 上移一条历史并执行常用按键名enterescapetabbacktabspacebackspacedeleteupdownleftrighthomeendpageuppagedown以及C-字符Ctrl、M-字符Alt。组合使用--key与文本时文本先发、按键后按序发送。两个进阶参数参数场景--stdin/--from-file PATH传递密钥参数形式会出现在ps和 shell 历史里管道/文件形式则原样送达且不回显--paste多行文本按粘贴语义发送bracketed paste整块作为一个输入而非逐行执行读取屏幕capture --plain的正确姿势tty7 capture %83 --plain # 可读文本 tty7 capture %83 --plain --tail 5 # 只要最后 5 行 tty7 capture %83 --scrollback # 整个回滚环不加--plain时返回带 ANSI 转义码的原始字节加--plain后这些字节被回放进真实的终端网格再输出——这不是简单的去转义shell 按面板宽度折行的长行还原成一行用\r原地重写的进度条读作最终值TUI 的界面落在程序绘制它的位置⚠️屏幕是个矩形滚出顶部上方的内容不可找回退出码也从来不上屏。要答案而不是视图时让 shell 自己写干净的地方tty7 send $PANE cargo test /tmp/t.log 21; echo $? /tmp/t.rc --enter判断完成wait与procs别写轮询循环直接阻塞等待tty7 wait $PANE --until free --changed --timeout 900free前台命令已退出、面板回到裸 shell——等命令用它--changed只承认等待期间确实跑过东西——紧跟send之后的标准姿势退出码即语义0达到状态 /124超时timeout(1)惯例还没好区别于坏了/1面板先没了tty7 procs %83展示面板内的进程树按深度缩进*标记前台进程和监听端口当唯一剩下的是 depth-0 的 shell命令就跑完了——比在屏幕上 grep 哨兵字符串可靠得多。工作区、选项卡与面板管理new/ws工作区tty7 new /path/to/repo --json # {id: ..., pane: 83} —— 一次拿到两个地址 tty7 ls # 所有工作区选项卡数、面板数、谁附着在上面 tty7 ws tree api # 单个工作区展开成树命令作用ws attach / ws detach成为/放弃某个工作区的控制客户端ws rm删除工作区并挂断其面板残留面板会以孤儿形式出现tab ls / tab new / tab close / tab rename / tab move选项卡全家桶用N寻址tab new --pane %N把一个无主面板收编回某个选项卡pane ls --all是泄漏探测器列出服务器整个面板注册表含孤儿面板title字段通常就是正在运行的命令claude、nvim、cargo是快速定位跑 X 的那个面板的办法。pane close --orphans会关掉全机所有无主面板——用它之前先看一眼pane ls --all孤儿面板里可能还在跑真命令。编码代理与 worktree多代理协作的地基tty7 agents # 全机所有编码代理PANE / AGENT / STATUS / MESSAGE状态为idle/working/waiting/done来自各代理的 status hooks代理卡住不动时agents的 JSON 会给出diagnostics诊断hooks 缺失或过旧就是典型原因。wait也是唯一的编排原语tty7 wait %3 tty7 capture %3 --plain就构成等代理干完、再收结果的完整回路。worktree一个任务一个检出命令作用worktree new [NAME] --agent claude --task ...创建 git worktree、打开选项卡、跑.tty7/setup并把任务交给代理先打印路径cd $(tty7 worktree new \| head -1)直接可用worktree ls列出仓库所有检出tty7 管理的会标记并列出其中工作的面板worktree rm NAME先打快照再删除面板还在里面时拒绝--close-panes可先关面板完整的委派流程独立 worktree、交付契约、状态看护、从 git 收集结果、扇出多个 worker见 delegation.md。服务器与远程机器命令作用tty7 status服务器 pid、运行时长、面板数、构建版本、socket 路径server logs跟踪服务器日志默认 info 级TTY7_LOGoff关闭server start / stop / restart启停守护进程 —— ⚠️全机所有面板随之死亡请交给用户决定tty7 machine ls本机 服务器持有的所有远程链接MACHINE KIND CONNECTEDtty7 events持续输出服务器事件面板退出、代理状态变化、布局变更--json为 NDJSON配合 timeout 或放后台运行tty7 [PATH]无子命令即 GUI激活应用并打开PATH处的新标签页路由到远程机器只需一个全局参数tty7 -m devbox ls tty7 -m devbox run -- cargo test-m复用本地服务器已有的链接匹配完整链接键medevbox:22或裸主机名devbox链接断了或需要新建它会说明原因而不是替你拨号——请回到 GUI 的连接管理器处理。退出码与 JSON 输出速查退出码含义0成功1失败stderr 一行原因tty7:前缀2用法错误未知动词、缺参数、类型不对124wait/exec超时timeout(1)惯例其他仅来自run/exec——透传子进程退出码--json全局可用-q静默成功输出错误仍走 stderr。run拿不到子进程退出码时会退出 1 并在 JSON 里给出exit_code_known: false——这是区分真 1和代用值的唯一标志。注意run --json的输出先流式打印、JSON 对象在最后——读最后一行即可。最佳实践清单 先doctor后动手hooks 缺失时wait只会超时记住稳定性规则面板/工作区 id 可存N临用前重新解析等完成用wait别写轮询free等命令waiting,done等代理要结果就让命令重定向到文件——屏幕是矩形不是仓库pane close --orphans和server stop属于用户的扫帚与总闸只指向不代劳GUI 窗口下的面板可能被调整过大小读屏时加--scrollback要尾部配--tail N延伸阅读CLI 概览docs/cli/overview.mdx完整命令参考本文依据docs/cli/reference.mdxAgent 委派手册docs/agents/CLI 源码crates/tty7-cli/src/commands.rs、crates/tty7-cli/src/cli.rs、按键表crates/tty7-cli/src/keys.rs、屏幕回放crates/tty7-cli/src/screen.rs面向 AI 代理的技能文件skills/tty7/SKILL.md远程工作区docs/remote/workspaces.mdx赞分享【免费下载链接】tty7The terminal that outlives its window. Shells survive quitting the app, agents can drive other agents, and remote machines work the same way. Pure Rust, GPU-rendered.项目地址https://gitcode.com/gh_mirrors/tty/tty7点击查看免费下载相关推荐Claude Code CLI 完全指南claude-howto 命令行参考手册Claude Code CLI 完全指南claude howto 命令行参考手册 Claude Code 的命令行接口CLI是与 Claude Code教程文档CAI CLI 命令参考Cybersecurity AI 终端界面的完整命令手册CAI CLI 命令参考Cybersecurity AI 终端界面的完整命令手册 本指南以 CAICybersecurity AI开源框架的命令行界面C人工智能AI Agent网络安全渗透测试工具调用AI 评测Gemini CLI 命令行参考命令、选项与子命令的完整实战手册Gemini CLI 命令行参考命令、选项与子命令的完整实战手册 本文以 Gemini CLI 官方文档中的命令行速查表为骨架系统梳理 gemini 的启动人工智能AI Agent交互助手CLIMCP Clients创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/14 16:14:26
如何从视频中提取完整文案?常见方法及技术流程整理
2026/10/14 16:14:26
coreboot 模块定制机制解析:用 __weak 弱符号实现静态钩子
2026/10/14 16:14:26
Decepticon 命令注入(OS Command Injection)利用技能全解析:检测、绕过与盲注外带方法论
2026/10/14 17:14:53
OpenClaw人人养虾:Chrome扩展实现浏览器内轻量养成玩法全解析
2026/10/14 17:14:53
Windows上运行Linux程序指南:WSL2搭建、示例代码与性能调优
2026/10/14 17:14:53
iOS 高效绘图:从 Core Graphics 到 Metal 的实践指南
2026/10/14 17:14:53
【无人机检测】三维山地地形能源意识型遗传算法优化多无人机任务分配与基站部署风电场检测路径规划Matlab实现
2026/10/14 17:14:53
视觉重定位与可微RANSAC:解析DSAC++场景坐标回归网络
2026/10/14 17:09:52
从零搭建业务系统:Doctrine、配置、文件上传与令牌鉴权实战
2026/10/14 0:02:01
Oracle 19c Windows客户端安装配置与连接排错指南
2026/10/14 0:02:01
React Native截图优化:解决Android兼容性问题
2026/10/14 0:02:01
金属锈蚀速率计算模型与防护方案优化实践
2026/10/13 12:25:09
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/13 18:15:04
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/14 14:52:59
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/12 19:53:23
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/11 21:41:11
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/11 23:43:10
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)