Files
tty7/docs/features.zh-CN.md
T
l0ng-ai e5ede1beb7 fix(sidebar): key repo group on first pane; document grouping
The group key now reads the first pane's cwd instead of the focused
pane's, so switching focus between splits in different repos never
relocates the row (the branch line still follows focus). Also documents
the repo-grouped sidebar and the sidebar_grouping setting in
features.md / features.zh-CN.md.
2026-07-16 18:03:31 +08:00

5.8 KiB
Raw Blame History

功能

English · 简体中文

输入

  • 影子建议 —— 边打字边用你的历史补全整条命令,→ 接受
  • 带说明的 Tab 补全 —— 每个 flag、每个子命令都带说明,覆盖约 100 个常用命令
  • 语法高亮 —— 边打边亮,什么都不用装
  • 模糊历史搜索 —— ⌃ R 看到每条命令在哪跑的、什么时候、有没有失败
  • 历史开箱即用 —— 你已有的 shell 历史直接生效,并跨会话延续
  • 行编辑 —— 点击定位光标、鼠标选区、词级移动、撤销
  • 多行编辑 —— 折行和多行命令原地编辑;网格自动上移,光标始终可见

窗口

  • 标签页与分屏 —— 永远开在当前目录
  • 侧栏按仓库分组 —— 左侧标签栏按 git 仓库分组、每组一个标题行,不在仓库里的标签归入末尾的 Scratch 组;切分支、仓库内 cd 都不会挪动行(config.json 的 sidebar_grouping:默认 repo,none 恢复扁平列表)
  • 命令面板 ⌘ P · 回滚搜索 ⌘ F
  • ⌘ 点击打开链接 · 桌面通知 · 划选即复制(可选,设置 → 终端 → 剪贴板)
  • 8 套主题 · CJK / 输入法输入

Coding agent

tty7 能识别 pane 里跑着的第三方 coding agent(Claude Code、Codex、Gemini CLI、 Aider、Amp、OpenCode 等约 17 个)并在其外围加功能 —— 绝不包裹或替代 agent 本身。

  • 品牌头像 —— 标签 chip / 侧栏行显示每个 pane 跑的是哪个 agent;自定义包装命令可通过 config.json 的 agent_commands 映射
  • 状态点 —— 工作中(蓝)/ 等你输入(琥珀)/ 完成(绿),由 agent 自己上报的 OSC 事件驱动;在命令面板运行 Agent: Install Claude Code Hooks 一键接通 Claude Code
  • 通知 —— agent 卡在等你批准的那一刻弹 "needs your permission…",每轮结束弹 "finished after Ns",遵循你的通知策略
  • 一眼看分支 —— 侧栏每行显示该 pane 的 git 分支和工作区改动(+N −M),cd 或命令跑完时自动刷新
  • 会话恢复 —— 重启后无法重连的 pane 会自动续上 agent 对话(claude --resume …;restore_agent_sessions,默认开启)
  • 上下文回填 —— 面板命令把当前选区或仓库 git diff 打包成 prompt 直接喂给正在跑的 agent
  • 托盘图标 —— 系统托盘 / 菜单栏常驻图标,任何 agent 等你输入时立即切换为提醒态;菜单列出所有 agent pane(品牌头像 + 状态点,点击直达)、可切换通知策略,并在保留会话的普通退出之外提供 Quit and Stop Daemon(show_tray_icon,默认开启)

SSH

唯一路径就是原生 Rust SSH 栈(russh)—— profile、凭据、SFTP 全部内置, 不 shell 出 ssh,也没有系统 ssh 兼容模式。

  • QuickConnect —— 面板里打 user@host[:port] 回车即连;支持 IPv6 [::1]:port
  • 保存 profile —— 完整连接配置,密码 / passphrase 进 OS keychain,不落盘
  • ~/.ssh/config alias —— 直接输入 alias 即连(原生解析常用字段,尽力而为,走 russh),也可在设置页一键导入为 profile
  • GUI 认证 —— pane 内 sheet 输入密码、私钥 passphrase、2FA,并确认主机密钥(新主机 vs 已变更)
  • 内置 SFTP —— 滑入式文件面板:浏览、上传 / 下载、重命名 / 删除 / chmod,可拖进 Finder
  • 端口转发 —— Local / Remote / Dynamic,预配置或运行时增删,外加 ⌘ 点击 localhost:PORT 一键转发
  • 跳板与代理 —— 经 profile 引用或 ProxyJump 多跳、ProxyCommand、SOCKS5 / HTTP
入口 连接方式
保存 profile · QuickConnect · 输入 user@host[:port] 原生 russh —— SFTP · keychain · GUI 认证 · L/R/D 转发
~/.ssh/config alias 原生解析后走 russh(Match/canonicalize/GSSAPI 不支持,且无回退)

快捷键

下表按 macOS 记法书写 —— 在 Windows 和 Linux 上,把 ⌘ 读作 Ctrl。最常用的几个:

⌘ T · ⌘ W · ⌘ ⇧ T 新建标签页 · 关闭标签页 · 恢复关闭的标签页
⌘ 1…⌘ 9 · ⌃ ⇥ · ⌃ ⇧ ⇥ 跳到第 1–9 个标签页 · 下一个 · 上一个标签页
⌘ D · ⌘ ⇧ D 向右分屏 · 向下分屏
⌘ ] · ⌘ [ 下一个窗格 · 上一个窗格
⌘ ⌥ ←→↑↓ 按方向切换焦点窗格
⌘ ⏎ · ⌘ ⇧ ⏎ 切换全屏 · 最大化 / 还原窗格
⌘ K 清屏并清空回滚缓冲区
⌘ P 命令面板
⌘ F 搜索回滚缓冲区
⌃ R 模糊搜索 shell 历史
⌘ + · ⌘ − · ⌘ 0 字号增大 · 减小 · 重置

Settings → Keybindings(⌘ ,)列出全部快捷键。点一行、按下新键即可 (Esc 取消,Backspace 恢复默认),改完立即生效。窗格缩放与 交换默认不绑定键 —— 在这里绑定,或从命令面板执行。

tmux 预设 —— 把窗格/标签页操作映射到前缀键(默认 ⌃ B): ⌃ B C 新建标签页,⌃ B % 分屏, ⌃ B 接方向键切换焦点。单独按前缀键会在短暂延迟后送达 shell, 前缀 + 未绑定的键原样透传给终端。

性能说明

  • 以设备速度读取 PTY,在渲染路径之外成批解析
  • 热路径全程无锁 —— 再大的 cat 也不会阻塞在渲染上
  • 触发背压前,守护进程最多可领先窗口缓冲 16 MiB