小张正在努力加载 · 0%

Hang on, I'm still loading.

EN

conmux · Windows 终端多路复用器

Rust 写的终端多路复用器,已发布到 crates.io。ConPTY + Job Object 整树进程监管,daemon 支持「关窗不死」的 detach / attach,命名管道 IPC。

Rust / ConPTY / Windows Job Object / Named Pipe IPC / crates.io


市场定位

给谁用:Windows 上的开发者,以及任何需要在 Windows 上托管多个长期命令行会话的工具——比如编程 agent 的编排器。

替代什么:Windows 上没有能用的 tmux。现有选项要么是 Linux 工具的移植壳(不理解 Windows 的进程模型),要么只管一个进程、不管它 spawn 出来的整棵子进程树。conmux 填的就是这个空。

凭什么:它是为真实需求写出来的——Conflux 做到一半发现缺这块,先写了再抽出来。所以它解决的是实际撞到的问题(孤儿进程、关窗即死),不是纸面上的功能清单。

主要功能模块

  • 会话托管:基于 ConPTY 的真实伪终端,每个会话独立。
  • 整树监管:Job Object 把会话 spawn 的全部子进程收进一棵树,杀就整棵杀——agent CLI 常会 spawn 一堆子进程,杀父留子是 Windows 上的经典坑。
  • daemon detach / attach:关掉窗口会话不死,回来接上继续。这是 tmux 最值钱的那个能力。
  • 命名管道 IPC:客户端与 daemon 通信,权限(DACL)收紧过。

技术栈

  • Rust:无运行时、可发 crates.io、与 Conflux 后端同语言。
  • Windows ConPTY API:系统原生伪终端,不是模拟。
  • Windows Job Object:进程树级别的生命周期控制。
  • Named Pipe:本机 IPC,比 TCP 端口少一个攻击面。

状态

已发布 crates.io,cargo install conmux 即可。装 Conflux 会一并得到它;也可以只用它。

← 项目版