herdr: Bộ ghép agent trong terminal cho AI coding
herdr là một bộ ghép agent (agent multiplexer) cho terminal, viết bằng Rust, giữ mọi AI coding agent bạn đang chạy hiển thị trong một chỗ. Hãy hình dung tmux, nhưng thiết kế quanh việc bạn giờ chạy nhiều coding agent cùng lúc — mỗi pane hiện terminal thật, với trạng thái của agent đọc ra là đang chờ (blocked), đang chạy, hay đã xong.
Hãy chọn herdr nếu bạn chạy nhiều coding agent (Claude Code, Codex và tương tự) cùng lúc và cứ mất dấu cái nào đang kẹt chờ bạn còn cái nào vẫn đang chạy. Điểm hấp dẫn thật sự là mô hình detach rồi reattach qua SSH và socket API cho phép agent tự điều khiển pane của mình. Bỏ qua nếu bạn chỉ chạy một agent trong một terminal, hoặc tổ chức của bạn không thể dùng công cụ giấy phép AGPL trong khi bản Windows vẫn còn gắn nhãn beta.
Vấn đề nó giải quyết
Chạy một AI coding agent trong terminal thì dễ. Chạy bốn hay năm cái mới là lúc mọi thứ rối: bạn nhảy qua lại giữa các cửa sổ, mất dấu cái nào đang chờ nhập prompt còn cái nào vẫn đang cày, và nếu kết nối SSH rớt hay máy khởi động lại thì session mất sạch. tmux thuần giữ pane sống nhưng không hề biết agent bên trong đang làm gì, nên bạn vẫn phải căng mắt đọc scrollback thô để đoán trạng thái.
Đây là gì?
herdr là một bộ ghép agent mã nguồn mở cho terminal, viết bằng Rust và đóng gói thành một binary duy nhất, không Electron. Nó chạy các AI coding agent trong những pane bạn có thể split, detach và reattach — kể cả qua SSH — và đọc trạng thái mỗi agent là blocked, working hay done từ output terminal thật thay vì một cách diễn giải bọc ngoài. Nó còn mở một socket API để chính các agent tự spawn pane, đọc output và chờ lẫn nhau. Repo dual-license dưới AGPL-3.0-or-later kèm một giấy phép thương mại riêng.
Vì sao đang được chú ý
herdr đã thu hút khoảng 15.374 sao, và thời điểm này khớp với việc ngày càng nhiều lập trình viên chạy nhiều coding agent song song. Lời chào của nó nhắm đúng chuyển dịch đó: một bộ ghép terminal coi coding agent là thành phần hạng nhất, chứ không phải một tmux chung chung bị uốn cho vừa. Repo topics nêu thẳng Claude Code và Codex, nó là một binary Rust thay vì app Electron, và socket API cho phép một agent điều phối các agent khác đúng là kiểu primitive mà người xây workflow agent đang đi tìm.
Tính năng chính
- ✓Trạng thái từng agent đọc từ terminal thật — blocked, working hay done — thay vì một phỏng đoán bọc ngoài
- ✓Detach rồi rời đi: agent vẫn chạy, và bạn có thể reattach từ bất kỳ terminal nào hoặc qua SSH, với session sống sót qua khởi động lại
- ✓Một socket API cho phép agent tự spawn pane, đọc output và chờ lẫn nhau (repo có liên kết một 'agent skill' cho việc này)
- ✓Vừa phím prefix kiểu tmux vừa chuột click/kéo/split, dùng thay thế nhau được
- ✓Một chợ plugin để mở rộng pane và workflow
- ✓Phân phối dưới dạng một binary Rust duy nhất, không Electron, chạy trong terminal bạn đang dùng sẵn
Trường hợp dùng tốt nhất
- •Giám sát nhiều coding agent cùng lúc và thấy cái nào đang chờ nhập liệu còn cái nào vẫn đang chạy
- •Khởi động các lượt agent chạy dài trên một máy remote, detach, rồi reattach sau qua SSH
- •Để một agent tự spawn và điều phối các agent khác qua socket API
- •Thay một cấu hình tmux tự dựng bằng một bộ ghép thực sự hiểu trạng thái agent
Cách cài đặt / dùng thử
Cài bằng script shell: `curl -fsSL https://herdr.dev/install.sh | sh`. Trình quản lý gói cũng dùng được — `brew install herdr` hoặc `mise use -g herdr` — và có một đường Windows beta qua `powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"`. Binary dựng sẵn nằm ở trang releases trên GitHub.
Cách sử dụng
Chạy `herdr` từ thư mục nơi công việc diễn ra, rồi split pane và khởi động agent trong đó. Nhấn `ctrl+b q` để detach và rời đi; chạy lại `herdr` để reattach vào chính session đó. README trỏ tới một quick start và tài liệu đầy đủ hơn ở herdr.dev/docs cho phím tắt, các agent được hỗ trợ, cấu hình và socket API.
Điểm mạnh
- ✓Hiện trạng thái từng agent ngay lập tức thay vì bắt bạn đọc scrollback thô
- ✓Session sống sót qua detach và khởi động lại, và reattach gọn gàng qua SSH
- ✓Một binary Rust duy nhất không Electron, nên chèn thẳng vào terminal sẵn có của bạn
- ✓Socket API là một khối xây dựng thật cho các agent điều phối agent khác
- ✓Phím prefix và chuột đều hoạt động, nên bạn không bị ép vào một kiểu tương tác duy nhất
Hạn chế & rủi ro
- △Nó là AGPL-3.0-or-later; dự án bán một giấy phép thương mại riêng chính vì AGPL là rào cản với một số tổ chức, nên hãy kiểm tra lập trường tuân thủ trước
- △Hỗ trợ Windows vẫn gắn nhãn beta trong README, nên đường mượt nhất là macOS và Linux
- △README khá mỏng về chi tiết — danh sách agent được hỗ trợ, chi tiết plugin và tài liệu socket API đều nằm ngoài repo tại herdr.dev chứ không được nêu rõ ở đây
- △Nó đang tiến hóa tích cực: repo mô tả tài trợ là để cấp vốn cho 'stability' và 'con đường tới một agent runtime thật', nên đây là công cụ đang trưởng thành, chưa phải một runtime hoàn chỉnh
- △Nếu bạn chưa dùng bộ ghép nào, các phím prefix kiểu tmux có một đường cong học tập
Lựa chọn thay thế
Ai nên thử — và ai nên bỏ qua
Lập trình viên thường xuyên chạy nhiều AI coding agent song song và muốn một terminal để nhìn và điều khiển tất cả — nhất là ai khởi động các lượt agent chạy dài trên máy remote rồi kết nối lại qua SSH. Nếu bạn chỉ chạy một agent mỗi lần, hoặc tổ chức của bạn không thể dùng công cụ AGPL với bản Windows còn beta, thì một cấu hình tmux hay Zellij thuần là lựa chọn an toàn hơn.
Câu hỏi thường gặp
herdr là một bộ ghép agent mã nguồn mở cho terminal, viết bằng Rust. Nó chạy các AI coding agent trong những pane bạn có thể split, detach và reattach qua SSH, và đọc trạng thái mỗi agent — blocked, working hay done — từ output terminal thật.
Nó cùng họ và mượn phím prefix kiểu tmux, nhưng được xây quanh coding agent: nó hiện trạng thái từng agent và mở một socket API để agent tự spawn và điều phối pane của mình, điều tmux thuần không làm.
Có. Bạn có thể detach khỏi một session, để agent chạy tiếp, rồi reattach từ terminal khác hoặc qua SSH, và README nói session sống sót qua khởi động lại.
Repo topics nhắc tới Claude Code và Codex, và README trỏ tới một trang các agent được hỗ trợ trong docs cho danh sách đầy đủ, phần vốn không được nêu rõ trong chính README.
Bản mã nguồn mở được cấp phép dưới AGPL-3.0-or-later. Một giấy phép thương mại riêng được cung cấp cho các tổ chức không thể tuân thủ AGPL.