查找与命令面板
按 ⌘F 在当前终端的完整滚动缓冲区中查找,并用上下箭头跳转;普通文本、区分大小写和正则选项都由 Ghostty 内核执行。当前 Pane 是打开的文件时,⌘F 改为在该文件里查找:输入即查,↩ 下一个、⇧↩ 上一个、Esc 关闭,再按一次 ⌘F 也会关闭。源码显示“第几处 / 共几处”,支持区分大小写和正则;Markdown、HTML 预览、Agent 会话记录和 PDF 也能查找(不支持正则,网页预览只提示有无匹配);图片和二进制文件不支持查找。“全局查找”继续搜索所有终端、编辑器与预览 Pane;命令 Outline 使用稳定缓冲锚点精确跳转,历史所在 page 已被 scrollback 裁剪时会显示为不可跳转。
按 ⇧⌘O 打开 Open Quickly,顶部标签条可在“全部 / 已打开 / 最近 / 文件夹 / SSH / Agents / 当前 / Recipes”中过滤(⌘J 直接打开“当前”页);支持模糊搜索,结果行带类型图标、相对时间和类型徽章,多类型视图按分组显示小节标题。结果会直接跳到 Pane、打开常用目录、预填 SSH、恢复 Agent 历史或打开 Recipe。“当前”页还会显示各 Pane 正在运行的前台命令,并追加“提示词”分组列出最近会话的输入:有 Agent 正在运行时写回对应 Pane,没有运行 Codex、Claude Code 等 Agent CLI 时也可选择 Prompt,内容会直接预填到当前终端且不自动回车。列表内用 ↑/↓ 选择、↩ 跳转、⌘1–⌘9 快速选中对应行,⌘K 或底部“操作”按钮弹出选中行的更多动作(关闭标签、Fork 会话、在 Finder 中显示、复制提示词等)。按住 ⌘ 会在顶部标签和前九条结果上显示快捷键:⌘0/W/R/Z/S/G/J/E 分别切换全部、已打开、最近、文件夹、SSH、智能体、当前和 Recipes,松开后提示自动隐藏。按 Esc、切换到其他应用,或在 Aster 窗口的浮层外部(包括标题栏)用任意鼠标键点击,都会立即关闭面板。按 ⇧⌘P 打开的命令面板样式与 Open Quickly 同源,还覆盖新窗口、Pin、两种画中画、详情、Agent、分屏、文件、查找、模式与关闭动作,按 Pane / Window / Application 作用域分组显示小节标题;固定绑定快捷键的常用命令(新建标签页、拆分、缩放拆分等)在行尾显示按键提示。
Open Quickly 打开后输入焦点会直接落在搜索框,无需再点击即可输入;点击搜索框也不会触发外部点击关闭。Open Quickly 中的 Agents 分类在界面显示为“智能体”。浮层打开、关闭和顶部分类切换不会重建终端工作区;结果较多时仍可直接输入搜索,既有结果行会复用,避免点击时出现明显停顿。
命令面板、Open Quickly、全局查找和 Agent 历史都可以随时按 Esc 关闭;即使刚刚点击了结果、按钮、会话内容或后方终端,也不要求先把焦点移回搜索框。没有打开这些浮层时,Esc 交给当前终端。
“显示 → 详情面板”包含 Info、Outline、Git、Files 和 History 五页,顶部 icon 页签切换:未选中页签保持统一的图标宽度与间距,鼠标悬停会有淡底色反馈,点击后当前页签平滑展开出名称(系统开启“减弱动态效果”时直接切换)。详情面板展开时,右上角折叠图标一直显示;面板收起后,同一位置的标题栏展开图标只在鼠标位于标题栏时显示。为了让关闭动作更自然,收起完成时图标会在原位短暂停留,再在鼠标已离开标题栏时淡出,整个过程不会左右跳动或闪出第二颗图标。也可通过“显示”菜单或命令面板切换。拖动中央内容与详情面板之间的分隔线可在 240...480pt 内调宽,双击恢复默认 278pt;拖动不会收起详情面板。展开与收起带 0.18 秒的整块折叠/展开过渡(系统开启“减弱动态效果”时直接切换):详情内容由 Panel 边界同步裁剪,中央区域同时补位,不会先滑走内容再折叠空壳;终端只在显隐终态切换时调整一次。展开、收起和页签切换不会重建终端、侧栏或已经加载的页面,终端输入焦点保持不变;收起时会停止尚未完成的检查,但保留已完成结果与 Files 的搜索、排序和展开状态。Info 页显示工作目录、动作链接(复制路径、在 Finder 显示、在已安装的编辑器中打开)、以当前 shell 为根的本机进程树与去重监听端口;只有 lifecycle 集成精确绑定当前 Pane 的 provider/session 时才显示会话复制、历史与 Branch 动作。Info 当前可见时约每三秒更新一次,非终端 Pane 或检查失败会明确说明,不会冒充为空结果。Outline 页是“时间线”页:上半部实时显示运行中、成功或失败的终端命令(需要 Shell Integration,含状态与相对时间,点击或右键 Jump 跳回原位置,并可复制文本),也显示精确绑定会话的 Agent 提示词,以及 Markdown、HTML、JSON、YAML、TOML、Diff 与 JSONL transcript 的文档结构;连续编辑会自动合并刷新,点击条目跳到对应行。下半部是本项目过去的会话记录(需在设置中开启 Session Recording):按会话列出时间线——命令与退出码、输出(可展开看正文)、Agent 工具调用、文件读写、git 快照;来自 Agent 自己 transcript 的补录条目会单独标注,区别于终端实测。History 页是本项目的记忆(Memory):固定(PINNED)条目置顶成组,其余按时间倒序;每条显示标题、摘要与“类型 · 提炼来源 · 时间”副标题。搜索、固定、禁用与删除在 Memory 浏览器中进行,页头提供入口与手动刷新。Git 页显示分支、+/− 统计与按暂存状态分组的变更。Commit 和编辑器控件都以“主动作 + 下拉箭头”共用一块圆角背景呈现;下拉仍有独立悬停和按压反馈。Commit 下拉提供 Push、Pull、Fetch、Merge… 和 Rebase…,选择后立即把对应命令预填到终端;Merge 与 Rebase 会先让你填分支名。右侧按钮用本机已安装的编辑器(VS Code、Cursor、Xcode、Zed)打开当前目录;从箭头菜单选择编辑器会记住该选择并立即打开当前目录,不必再点一次主按钮;没有检测到编辑器时该按钮不显示。把鼠标移到某个变更上,行尾会出现三个动作:暂存(已暂存的行是取消暂存)、在编辑器中打开这个文件、以及预览。预览会在面板左侧贴着面板打开一个只读 diff 气泡,右侧的尖角指向对应的那一行;按 Esc、点击气泡外或切走 Git 页即可关闭。所有仓库写操作都只把命令预填到终端输入行,包括 Commit、暂存、Push/Pull/Fetch 与 Merge/Rebase:确认后由你回车执行,Aster 不在后台跑写命令。分支名与文件路径会按 Shell 规则转义。Files 页以当前 CWD 为根显示有界目录树,目录与文件图标使用压低饱和度的淡强调色、文件名保持默认前景;目录首次加载时默认收起,只显示顶层文件与目录;点击箭头或双击目录在树内展开/折叠,Find 搜索会临时展开匹配路径。Find 旁可切换目录优先排序,以及用眼睛图标决定是否一并列出隐藏文件(默认不包含,开启后普通文件与 .gitignore、.build 等隐藏项一起显示,不是只显示隐藏项;隐藏目录只显示名称、不展开其内部海量文件)。Files 右键菜单固定为 Open、Open in Aster(当前 Pane、新标签、新窗口和四向分屏)、新建/重命名/废纸篓、路径复制和 Finder;目录展开仍只由 chevron 或双击负责。Git 与 Files 两页的文件都要双击才打开——单击只用于浏览,不会因为误触在工作区多开一个 Pane;Git 页也可以用行尾的编辑器图标或预览图标。大目录只渲染当前可见行,搜索输入不会重建搜索框。Info、Git 和 Files 按当前选中页独立加载,互不等待。在终端中切换目录时,旧树会保留到新目录读取完成后平滑替换,终端输入焦点不会移到详情面板。
在不同 Pane 之间切换时,详情面板会保留当前内容,等新 Pane 的 Info、Outline、Git 或 Files 结果准备好后一次替换,不再先清空列表。刷新期间旧内容不可点击;检查超过很短时间时,右上角会显示“正在更新…”提示,完成后自动恢复操作。
详情面板关闭时,只有右侧 Panel 本身保留折叠动画;中央终端区一次补到最终宽度,不会被显示层再次拉伸,动画末帧也不会因临时分隔线再跳 1pt。右上角始终是同一颗固定位置的图标,关闭过程不移除、不替换;Panel 完全关闭后再停留 650ms,鼠标已离开标题栏时才淡出。
服务器文件与服务器监控(SSH 远端)
在 Pane 里 ssh 到一台服务器后,详情面板的 Files 页变成“服务器文件”、Info 页变成“服务器监控”,其余页不变;exit 回到本机后两页自动恢复本地内容。面板拖窄到一定宽度后会自动精简次要列(进程隐去 PID、端口隐去监听地址、文件隐去修改时间),拉宽后自动恢复。远程工作模式下的远端终端(见“远程机器”)同样可用,而且不需要再次认证。
- 服务器文件:列出远端当前目录的内容,跟着你在终端里的
cd走。双击目录进入,路径栏的“↑”回上一级。Find、目录优先排序和“显示隐藏文件”与本地一致。目录很大时最多显示 2000 项,并标注“已显示 2000 / N 项,已截断”。右键菜单:进入、在终端 cd 过去、下载到…、复制路径、复制相对路径、上传到此目录…。“在终端 cd 过去”只把cd '…'预填到输入行,要不要执行由你按回车决定。 - 上传与下载:把本机文件拖进列表即上传到当前目录,拖到某个目录行上传到那个子目录;也可以用右键“上传到此目录…”。只接受普通文件,单个最大 512 MiB,一次最多 20 个;超过 5 个或总量超过50 MiB 会先让你确认。上传和下载都是先写一个临时文件、成功后再改名,中途失败不会留下半截文件,远端也不会残留
.aster-upload。远端同名文件会先问你是否覆盖。 - 安装远端集成:服务器文件要跟随目录,需要远端 Shell 上报当前目录。还没收到上报时,页面显示“未收到远端目录上报”和三个按钮:安装远端集成…、浏览 $HOME、输入路径…。安装会先列出将要改动的远端文件再让你确认,通常是
~/.config/aster/shell-integration.bash(或.zsh)加上~/.bashrc(或${ZDOTDIR:-$HOME}/.zshrc)里一段带起止标记的区块;fish 直接写~/.config/fish/conf.d/aster.fish,不改任何 rc。重复安装不会重复追加。装好后重新登录或在远端执行exec $SHELL才生效。临时不想启用时,在远端设ASTER_REMOTE_INTEGRATION_DISABLE=1;彻底移除就删掉那段标记区块和对应脚本文件。 - 服务器监控:分“概览 / 磁盘 / 进程 / 端口”四页,点页签切换,一次只显示一类指标。概览是主机名与系统版本、运行时长、负载与 CPU、内存和 Swap;磁盘最多 8 个分区(同一块盘挂到多个路径时只列一条);进程页是一张三列表格(进程 / CPU / 内存),点“CPU”或“内存”表头排序,箭头朝下是从大到小、朝上是从小到大,再点一次切换方向;点某一行进程可以看它的 PID、用户、占用和完整命令行,点“返回进程列表”回到表格;端口是监听中的 TCP/UDP。面板可见时每 3 秒刷新一次,切页不会重新连服务器。CPU 百分比要两次采样才能算出来,所以第一次显示“—”,下一次才出数值。以非 root 登录时看不到其他用户的进程名,端口列表会直接说明这一点。远端系统没有某项数据(例如 macOS 服务器没有
/proc)时,那一段显示“此平台不提供该项”,不会显示成 0。 - 看不到内容时:提示“需要认证”说明这次连接没能复用已登录的通道——请在“设置 → Shell → SSH 连接复用”打开开关,然后重新开一个终端连接服务器(开关只影响之后新建的终端)。提示超时或连接失败可以直接重试;提示目录不存在时用“返回上级”或“浏览 $HOME”。Aster 不会在这里弹出密码框。
- 边界:服务器文件只做浏览和传输,双击文件不会在 Aster 里打开远端文件,Git 页在远端显示“远端不支持”。要编辑远端文件,请先下载,或在远端终端里用编辑器。