正文
Ghostty作者提议OSC 7501,让程序自己告诉终端在干嘛
动察 Beating AI 快讯,Ghostty 作者、HashiCorp 联合创始人 Mitchell Hashimoto 提出了一套新的终端协议 OSC 7501。
Claude Code、Codex、Terraform 这类程序跑起来以后,外面的工具经常不知道它是在工作、等你操作,还是已经做完,只能自己猜。
现在 Herdr 这类工具会读取终端画面、窗口标题和进程,再用规则判断 Agent 的状态。Mitchell 举例称,Herdr 光识别 Claude Code 就维护了 16 条规则,这份规则过去 3 个月改了约 10 次。Claude Code 换一个加载动画,都可能需要重新适配。他还称自己找到了 250 多个 Agent 编排工具,很多都在重复解决类似的问题。
OSC 7501 的做法是让程序自己汇报。程序可以告诉终端自己正在空闲、工作、等待用户、已经完成还是出错,还能附上进度,以及为什么在等人。比如 Claude Code 卡在权限确认时,可以直接告诉终端「我在等授权」,不用再让 Herdr 从屏幕上的文字和符号里判断。
这些状态直接通过程序本来就在使用的终端连接传递,所以 SSH 和容器里也能正常工作。现有的终端进度协议只能表达忙碌、进度或错误,也说不清程序到底在等什么。OSC 7501 补的就是这一层。
Mitchell 已经在 libghostty 和 Rex 中实现了这套协议,还通过插件或 fork 给 Terraform、Claude Code、Codex 和 Homebrew 做了概念验证。接入并不复杂,每个实现都不超过十几行代码。不过 OSC 7501 能不能真正普及,还要看其他终端和程序愿不愿意采用。