hrdx: Trình đa nhiệm terminal tối giản, nhẹ nhàng viết bằng Go, tối ưu cho kỷ nguyên AI agent
hrdx là một trình multiplexer terminal (terminal multiplexer) mã nguồn mở, tối giản và cực nhẹ, được viết hoàn toàn bằng Go. Công cụ này được thiết kế đặc biệt cho kỷ nguyên AI agent, cho phép người dùng quản lý các phiên làm việc với Codex CLI, Claude Code hay các shell thông thường trong các khung (pane) thực thụ, hỗ trợ đa không gian làm việc (workspace) và lưu trạng thái phiên làm việc. Với giao diện điều khiển qua socket API và kiến trúc nhẹ, hrdx là lựa chọn thú vị cho các lập trình viên muốn tối ưu quy trình làm việc với AI trên terminal.

hrdx: Trình đa nhiệm terminal "sinh ra để dành cho AI agent", gọn nhẹ và mã nguồn mở
Trong bối cảnh các công cụ AI agent như Codex CLI hay Claude Code đang thay đổi cách lập trình viên làm việc, việc quản lý nhiều phiên làm việc cùng lúc trên terminal trở nên quan trọng hơn bao giờ hết. hrdx là một dự án mã nguồn mở mới, được giới thiệu trên Hacker News, hứa hẹn mang đến một trải nghiệm "terminal multiplexer" hiện đại, tối giản nhưng cực kỳ mạnh mẽ, được viết hoàn toàn bằng Go. Khác với các công cụ truyền thống như tmux, hrdx được xây dựng với tư duy "project-first" (ưu tiên dự án), nơi mà mỗi dự án là một không gian làm việc riêng biệt, giúp người dùng dễ dàng theo dõi và tương tác với nhiều AI agent cùng lúc.
Mã nguồn hrdx
Ý tưởng chính: Không gian làm việc cho từng dự án
Thay vì chỉ quản lý các cửa sổ (window) và khung (pane) như tmux, hrdx giới thiệu một mô hình phân cấp rõ ràng:
- Workspace (Không gian làm việc): Tương ứng với một thư mục dự án. Mỗi workspace có thể có nhiều tab.
- Tab: Nằm trong một workspace, có thể chứa nhiều pane.
- Pane (Khung): Là một phiên terminal thực thụ (PTY), nơi chạy các lệnh shell, Codex CLI, Claude Code, hoặc các agent khác.
Mô hình này đặc biệt hữu ích khi bạn đang phát triển nhiều dự án cùng lúc. Bạn có thể khởi chạy một agent trong dự án A, chuyển sang dự án B để làm việc khác, và thanh bên (sidebar) sẽ hiển thị trạng thái hoạt động của từng agent dưới dạng các vòng tròn xoay (spinner) động. Khi agent hoàn thành công việc, vòng tròn sẽ chuyển sang màu cam để thu hút sự chú ý của bạn.
Điểm mạnh: Hiệu năng và trải nghiệm "thực"
Một điểm nhấn của hrdx là tuyên bố "Real terminals, not wrappers" (Terminal thực sự, không phải trình bao bọc). Mỗi pane đều là một phiên PTY thực thụ với trình giả lập terminal đầy đủ. Điều này có nghĩa là các giao diện TUI (Text User Interface) của các AI agent như Codex hay Claude Code sẽ hoạt động y hệt như khi chạy độc lập: hỗ trợ streaming, slash commands, lưu phiên hội thoại và cả điều khiển chuột.
Ngoài ra, hrdx còn hỗ trợ các tính năng cao cấp khác:
- Cuộn lại lịch sử (Scrollback) và chọn văn bản bằng chuột để sao chép vào clipboard.
- Kéo thả (Drag-and-drop) để thay đổi kích thước pane hoặc sắp xếp lại workspace.
- Menu ngữ cảnh (Right-click context menu).
- Hỗ trợ giao thức bàn phím kitty, cho phép các tổ hợp phím phức tạp như
ctrl+1hoạt động chính xác.
Khả năng phục hồi phiên làm việc ấn tượng
Một trong những tính năng đáng giá nhất của hrdx là khả năng lưu và khôi phục phiên làm việc (persistence). Khi bạn thoát khỏi hrdx, các tiến trình shell và agent vẫn tiếp tục chạy ở chế độ nền thông qua một "phiên giữ" (session holder) rất nhẹ. Khi mở lại hrdx, mọi thứ sẽ được khôi phục chính xác như lúc bạn rời đi: các lệnh vẫn đang chạy, lịch sử cuộn vẫn còn, và bố cục các pane không thay đổi.
Điều này đặc biệt quan trọng với các AI agent, vì việc ngắt giữa chừng một lệnh có thể tốn thời gian và tài nguyên. Với hrdx, bạn có thể yên tâm tắt TUI và quay lại làm việc tiếp sau đó.
Khả năng mở rộng và điều khiển từ bên ngoài
hrdx không chỉ là một công cụ đóng kín. Nó cung cấp hai cách để người dùng tùy biến và mở rộng:
1. Custom harnesses (Bộ điều khiển tùy chỉnh)
Bạn có thể đăng ký bất kỳ công cụ AI CLI nào (ví dụ: aider, goose) làm "harness" tùy chỉnh thông qua file JSON. Bằng cách này, bạn có thể tích hợp các công cụ yêu thích của mình vào hrdx, bao gồm cả khả năng phát hiện trạng thái "đang bận" của agent để hiển thị spinner, cũng như các tùy chọn trong cài đặt.
2. Socket API
Một điểm mạnh khác là API điều khiển qua Unix socket. API này cho phép các script, trình soạn thảo mã, hoặc thậm chí là các AI agent khác có thể tương tác với hrdx từ bên ngoài. Bạn có thể:
- Kiểm tra trạng thái của các workspace, pane.
- Tạo mới workspace hoặc pane.
- Gửi lệnh (gõ chữ) vào một pane.
- Đọc màn hình hiện tại của một pane.
- Chờ đợi cho đến khi một agent hoàn thành công việc.
Điều này mở ra khả năng xây dựng các quy trình tự động hóa phức tạp, ví dụ như một hệ thống CI/CD "tự lái" bằng AI.
Cài đặt và sử dụng
Cài đặt hrdx rất đơn giản với một lệnh duy nhất trên các hệ điều hành phổ biến:
# macOS và Linux
curl -fsSL https://www.hrdx.dev/install.sh | bash
# Windows (PowerShell)
irm https://www.hrdx.dev/install.ps1 | iex
Công cụ này hỗ trợ macOS, Linux và Windows (10 1809+ / 11). Bạn cần cài thêm ít nhất một trong các agent CLI sau trên PATH: codex, claude, pi hoặc zot.
Sau khi cài đặt, chỉ cần chạy lệnh hrdx là bạn đã có một môi trường làm việc mới. Bạn có thể mở nhiều dự án cùng lúc với cờ --cwd:
hrdx --cwd ~/Developer/api --cwd ~/Developer/web
Hoặc chọn agent mặc định:
hrdx --agent claude
So sánh nhanh với tmux
| Tính năng | hrdx | tmux |
|---|---|---|
| Phân cấp quản lý | Workspace-Tab-Pane | Session-Window-Pane |
| Hỗ trợ AI agent | Tích hợp sẵn (Codex, Claude...) | Cần cấu hình thêm |
| Khôi phục phiên | Tự động, mạnh mẽ | Có, qua plugin |
| Điều khiển ngoài | Socket API mạnh mẽ | Cần tmux-control-mode |
| Độ phức tạp | Thấp, dễ làm quen | Cao, nhiều tùy chọn |
| Ngôn ngữ viết | Go | C |
Kết luận
hrdx là một dự án đầy hứa hẹn, đánh trúng vào nhu cầu thực tế của các lập trình viên đang ngày càng sử dụng AI agent. Với thiết kế hiện đại, tập trung vào trải nghiệm người dùng và khả năng mở rộng mạnh mẽ, nó xứng đáng là một công cụ đáng để thử nghiệm. Nếu bạn là một lập trình viên thường xuyên làm việc với Codex, Claude Code hoặc các công cụ AI tương tự, hrdx có thể sẽ là một "trợ thủ đắc lực" giúp bạn quản lý công việc hiệu quả hơn. Bạn có thể xem mã nguồn và tài liệu chi tiết tại GitHub.
hrdx được viết bằng Go, phiên bản 1.25+


