刷到Rmux这个项目,第一反应是终于有人把终端multiplexer的抽象层给整明白了。
咱们折腾tmux这么多年,本质上还是在跟shell脚本和状态隐喻搏斗。你想自动化个session管理?要么expect硬刚,要么写一堆send-keys的脏活。Rmux的思路完全不一样,它直接给了个Playwright风格的SDK,把终端从"命令执行器"拔高成了"可编程工作流引擎"。
这就像当年jQuery操作DOM跟如今Playwright做E2E测试的区别。简单说声明式会话模型加事件驱动,终端交互里真正该暴露的抽象层终于露出来了——可读、可测、可组合。你不再需要猜那个pane到底啥状态,直接await就行。
更值得聊的是它给开源工具链提的醒。当CI/CD、dev env全都云化之后,终端还守着几十年前的交互契约不动,这本身就挺荒唐的。Rmux不是在功能上革tmux的命,而是在设计哲学上捅了一刀:自动化友好本该是底层基础设施的默认原则,而不是靠后人打补丁补出来的。
想想Chrome DevTools Protocol当年怎么倒逼浏览器生态开放的,Rmux说不定能在终端领域搞出类似的范式转移。我已经star了,等有空拿它重构下本地开发环境,到时候发测评。