展示 HN:另一个用 Go 编写的最小和轻量的终端多路复用器。
hrdx.dev 它是什么?hrdx 是一个实验性的、最小的和轻量的终端多路复用器,专为代理时代而构建:你的项目作为侧边栏中的工作区,每个工作区有选项卡,以及实时终端窗格,能并排运行 Codex CLI、Claude Code、pi、zot 或普通的 shell。在一个项目中启动一个代理,切换到下一个,并让侧边栏的旋转器告诉你谁还在工作。真正的终端,而不是包装器。每个窗格是真正的 PTY 会话,后面有一个完整的终端模拟器。代理 TUI 的运行方式与独立运行时完全相同:流式传输、斜杠命令、会话、鼠标支持,全部都有。窗格呈现干净的终端身份,因此能力嗅探的 TUI 会选择在多路复用器内部有效的渲染路径,而 HRDX=1 则让工具检测它们在 hrdx 内部运行。一切尽在眼前。侧边栏显示一层工作区、Git 分支和窗格的层次结构,仅在工作区有多个选项卡时才添加选项卡行。每个窗格都有一个共享状态圆圈:代理在工作时变为动画盲文旋转器,而未聚焦的代理在完成时变为橙色。聚焦窗格会确认它并恢复为绿色。感觉就像你的终端。向后滚动,带剪贴板复制的鼠标选择,拖动调整大小的拆分,拖动重新排序工作区,右键上下文菜单以及 kitty 键盘协议的穿透,即使是 ctrl+1 这样的异国和弦也能到达你的代理。接着从你停止的地方继续。退出并重新启动:shell 和代理在轻量会话持有者中保持运行,准确地重连到它们所在的位置,运行命令等。工作区、选项卡、拆分和比例也会恢复,如果会话真的消失,代理可以从自己的会话存储中恢复最近的对话。属于你的调整。设置窗口(ctrl+b,或侧边栏中的齿轮)让你打开或关闭单个代理,为完成的轮次选择通知声音(包括你自己的音频文件),并更改颜色主题,用户主题为简单的 JSON 文件。所有内容均持久化。见主题。带上你自己的代理。通过一个小的 JSON 文件将任何代理 CLI 注册为自定义工具,包括其自己的忙碌检测,用于侧边栏旋转器和完成声音。它在选择器、循环和设置中显示,就像内置的一样。见自定义工具。从外部可编程。JSON 套接字 API 允许脚本和编辑器检查工作区和窗格状态,打开项目,生成窗格,输入代理,等待它们完成,读取屏幕,并订阅实时事件。见套接字 API。安装 curl -fsSL https://www.hrdx.dev/install.sh | bash irm https://www.hrdx.dev/install.ps1 | iex macOS、Linux 或 Windows(10 1809+/11,通过 ConPTY),加上至少一个在你的 PATH 中的代理 CLI:codex、claude、pi 或 zot。使用 hrdx update 在任何支持的平台上更新。运行 hrdx 同时打开多个项目,或选择你的默认代理:hrdx --cwd ~/Developer/api --cwd ~/Developer/web hrdx --agent claude 标志 旗帜 目的 --cwd PATH 将项目作为工作区打开,可重复 --agent ID 新窗格的默认代理:zot、pi、claude、codex(默认 zot) --provider ID 为每个 zot 窗格传递一个提供者(仅限 zot) --model ID 为每个 zot 窗格传递一个模型(仅限 zot) --reasoning LEVEL 设置推理级别(仅限 zot) --continue 恢复每个项目的最新会话 --codex-bin PATH 使用特定的 codex 二进制文件 --claude-bin PATH 使用特定的 claude 二进制文件 --pi-bin PATH 使用特定的 pi 二进制文件 --zot-bin PATH 使用特定的 zot 二进制文件 --shell PATH shell 窗格的 shell(默认 $SHELL;在 Windows 上仅在可解析时,否则 %COMSPEC% / powershell.exe) --state PATH 工作区持久化的状态文件(空值禁用) --fresh 忽略已保存的工作区并开始干净 --api 在 unix 套接字上提供控制 API(默认开启,--api=false 禁用) --persist 在重新启动时通过会话持有人保持窗格进程存活(默认开启) 从 Git Bash 启动的本地 Windows hrdx.exe 忽略诸如 /usr/bin/bash 的 MSYS-only SHELL 值(Windows 无法解析),并回退到 %COMSPEC%。要使用 Git Bash 的窗格,请显式传递本地路径,例如 hrdx --shell "C:/Program Files/Git/bin/bash.exe"。键位 除了 ctrl+b 前缀(tmux 风格)外,所有按键都发送到聚焦的终端:在 ctrl+b 后 动作 c 或 C 向右/向下拆分(打开选择器:已安装的代理或 shell) a 或 A 直接使用默认代理向右/向下拆分 s 或 S 直接拆分一个新的 shell 窗格(右/下),也可使用 % / " 和 | / - w 新工作区(目录提示,带选项卡补全,然后选择代理/shell) t 在当前工作区中新选项卡(打开代理/shell 选择器) n 或 p 下一个/上一个选项卡 ] 或 [ 下一个/上一个工作区选项卡或 shift+tab 下一个/上一个窗格;保持在前缀模式以进行重复跳跃,esc 退出 / 模糊查找器遍历每个工作区、选项卡和窗格:输入以过滤,箭头选择,回车跳转 r 重命名聚焦窗格 m 打开窗格上下文菜单 = 平均所有拆分 u 或 d(或 pgup / pgdown)滚动聚焦窗格的历史 esc / G 返回到
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡