我最近改用 Otty 了:为 Agent 重造一个终端工具。最近丢掉用了很多年的 iTerm 2,开始用 Otty 跑 Coding Agent。AI 编程之后,终端本身的工作方式也改变了。以前在终端里的交互方式是,敲命令,给反馈,加上大量的 Shell 和 Plugin,类似 iTerm 2 和 Ghostty 这样的工具已经很好用了。到了 Claude Code、Codex CLI、OpenCode 这一代工具,终端里多了一个能够长时间工作的 Agent。这个 Agent 能读写代码、做设计、做测试、等待批准,有时会在后台跑几小时的长任务。使用传统的终端工具,体验没那么好,看不到哪个任务在跑,哪儿等着输入,如何看思考过程,刚才那段输出要怎么放回上下文,之前的会话怎么接续……都需要你不断的切换窗口和上下文,动用大量快捷键。 Otty 是为 Agent 设计的终端,直接给 Agent 增加了原生的工作流。它支持 Claude Code、Codex CLI 和 OpenCode 等,通过 hook 或 plugin 接入 CLI 工具。比如,当你在 Otty 终端里敲下 claude 命令时,Otty 会提示你安装 Claude Code 继承。点击安装,信息如下: Otty will configure Claude Code to send real-time state updates (processing, idle, awaiting input). 如果你输入 codex,也是类似的方式。也就是说,Agent 仍然按原来的方式运行,Otty 能够理解它们的状态,把“正在处理、已经完成、等待输入、历史会话”这些信息通过右侧的详情面板显示出来(包括 info、outline、git、文件)。当多个 Agent 并行跑时,Otty 的标签页会有状态徽标;任务完成或需要批准时,系统通知会把你叫回来;长任务运行时,让 Mac 保持唤醒状态。另一个细节是 Otty 的编辑器功能。写复杂 prompt 时,单行命令行很别扭,容易误回车,我以前都得记得用 Shift 加 回车做强制换行。Otty 里可以直接使用提供多行编辑、撤销重做、图片粘贴和浮动输入面板,更像一个正经输入框。 Prompt 队列也很实用,可以在 Agent 忙着改代码时,把后续的多个任务排进去,等它空闲后自动执行。比如先让它做研发,然后 review 代码,做测试,最后写总结等等。还有两个我很喜欢的能力:Send to Chat 和 History。前者可以把终端输出、文件片段或上一次命令结果直接发给 Agent,少了复制粘贴的步骤。后者把 Claude Code、Codex、OpenCode 的会话记录渲染成可读的 transcript,可以搜索、恢复,也可以从旧上下文 fork 出新方向。 Otty 目前 macOS 可用,离线功能免费,不需要账号。 https://otty.sh/

MacTalk 2026-07-06 15:29
推荐阅读