# Cách Mehul Mohan làm việc với AI agent bằng app herdr

[Mehul Mohan](https://homus.dev/speakers/mehul-mohan) · [Mehul Mohan](https://homus.dev/orgs/mehul-mohan)

> Vì sao Mehul dùng CLI agent, và setup app herdr của anh: layout, machine qua SSH, agent chạy khi thoát app, API agent gọi agent, so với cmux.

Topics: Coding Agents, Dev Tools, Workflow

Canonical: https://homus.dev/talks/best-way-to-work-with-ai-agents-my-new-setup

## 1. herdr ra mắt app desktop

Mehul Mohan mở đầu bằng việc nói anh đã để mắt tới hai công cụ, cmux và herdr, khá lâu rồi. Theo Mehul, trong ngày quay video (video đăng ngày 30/10/2026), herdr vừa thông báo một thứ đáng chú ý: họ ra mắt một app, mà bài thông báo trên màn hình gọi là "software that fits you", về cơ bản là một ứng dụng GUI kết hợp với các CLI. Bài thông báo đó cũng ghi rằng mỗi phần của app là một file mà agent của bạn có thể thay đổi, và bên cạnh app còn có một herdr-core mới, app được xây trên đó.

Mehul nói nếu bạn thấy cái này gợi nhớ tới cmux thì bạn có lẽ đúng, vì đó chính là toàn bộ lý do anh dùng cmux trước đây. Theo anh, herdr bản cũ bị rối khi anh bấm Command K để xoá màn hình terminal, bởi herdr trước đó chạy thẳng bên trong terminal (theo Mehul, video đăng ngày 30/10/2026).

Trong video này, anh muốn cho người xem nhìn vào bên trong những gì anh đã làm với ứng dụng mới này cho tới lúc quay, vì sao anh thích nó hơn cmux, và một số chỗ hở, chỗ còn thiếu mà anh bắt đầu thấy.

![Trang chủ herdr.dev với dòng Made for your agents. Remade by them.](https://homus.dev/photos/2bA1QmCjfnA-1603.jpg)

Trang chủ của herdr trên màn hình trong video (video đăng ngày 30/10/2026): "Made for your agents. Remade by them.", mô tả app là một chỗ ở native cho Claude Code, Codex và mọi coding agent, nút Download for Mac và một lệnh curl để cài từ terminal.

## 2. Vì sao Mehul dùng CLI agent: ví dụ một flag của Claude Code

Việc đầu tiên, theo lời Mehul (video đăng ngày 30/10/2026), là một câu người ta hỏi anh rất nhiều lần: tại sao anh dùng ứng dụng CLI khi đã có bao nhiêu ứng dụng GUI tốt, trong đó có Codex desktop app và Claude desktop app? Tại sao Mehul lại thích các AI harness chạy trên CLI? Trên bảng vẽ của anh lúc đó ghi "WHY CLI?" cùng hai dòng "Codex desktop" và "Claude desktop app".

Anh trả lời rằng không phải anh thích hơn, hay chỉ dùng CLI harness. Chỉ là, theo anh (video đăng ngày 30/10/2026), có một vài thứ CLI làm được mà cách khác thì không làm được. Để minh hoạ, anh đưa ra một ví dụ.

Một người làm ở team Claude Code tại Anthropic đã đăng một bài (bài trên màn hình đề ngày 27/10/2026) nói rằng cuối cùng Claude Code đã có một flag "even more dangerously skip permissions". Theo nội dung bài đăng trên màn hình (video đăng ngày 30/10/2026), `--dangerously-skip-permissions` thật ra không duyệt mọi thứ, Claude Code vẫn chặn vài thứ hiển nhiên như `rm -rf ~`, và bản phát hành hôm đó cho phép tắt việc chặn này nếu bạn thật sự muốn, bằng một env var mới là `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1`.

Mehul nói (video đăng ngày 30/10/2026) cái này rất quan trọng với anh vì anh đã xin nó từ lâu. Trên màn hình là bài đăng của chính anh gửi team Claude, viết: "please let me use dangerous mode in peace. what is the point of running --dangerously-skip-permissions IS_SANDBOX=1 if you are STILL gonna block my agent? either remove this unnecessary checks or give me a --major-danger-pants-on-fire flag".

Vấn đề với Claude Code, theo Mehul (video đăng ngày 30/10/2026), là ngay cả khi bạn truyền `IS_SANDBOX=1` và cả flag dangerously skip permissions, nó vẫn chặn bạn rất nhiều lần với mấy lệnh `rm -rf` hay đại loại thế. Anh nói anh không biết vì sao Anthropic làm vậy, nhưng theo anh, về cơ bản họ đã làm cho dangerously skip permissions yếu đi, và với flag mới thì lại có thể chạy theo kiểu như trước.

![Bảng Claude Code permission modes: default, acceptEdits, plan, auto, dontAsk, bypassPermissions và env var mới](https://homus.dev/photos/2bA1QmCjfnA-0223.jpg)

Bảng "Claude Code permission modes" Mehul đưa lên trong video (video đăng ngày 30/10/2026): default chỉ đọc, acceptEdits thêm sửa file và lệnh filesystem thông dụng, plan đọc cộng các lệnh classifier duyệt, auto làm mọi thứ có kiểm tra an toàn chạy nền, dontAsk chỉ dùng tool đã duyệt trước, bypassPermissions làm mọi thứ; bên dưới là env var mới đặt chồng lên bypassPermissions để không còn hỏi khi `rm` nhắm vào các đường dẫn quan trọng.

Tài liệu permission modes của Claude Code (đọc ngày 30/10/2026) ghi rằng biến này cần Claude Code v2.1.311 trở lên, chỉ được đọc từ môi trường lúc khởi động (không đọc từ khối env của file settings), và chỉ có tác dụng trong chính chế độ bypassPermissions. Tài liệu cũng cảnh báo rằng khi bật biến này, một lệnh như `rm -rf ~` có thể chạy mà không hỏi, nên chỉ đặt nó trong một môi trường cách ly mà bạn chấp nhận mất nội dung.

## 3. Chạy flag đó trên CLI chỉ cần một dòng lệnh

Mehul nói (video đăng ngày 30/10/2026) điều này rất dễ hiểu trên CLI, và lý do anh nói vậy là vì đây là tất cả những gì bạn phải làm nếu chạy trên CLI: đặt biến sandbox bằng 1, đặt biến mới này bằng 1, rồi bấm Enter. Dòng lệnh anh gõ trong herdr, chép từ màn hình:

```
IS_SANDBOX=1 CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS=1 claude --dangerously-skip-permissions
```

Khi chạy xong, theo Mehul (video đăng ngày 30/10/2026), bạn ở trong một cửa sổ Claude Code mà bạn biết chắc sẽ không bị ngắt nữa. Nó cứ thế làm tiếp, kể cả khi bạn giao cho nó một việc rồi bỏ đi chỗ khác, nó vẫn tiếp tục làm.

![Claude Code v2.1.312 trong herdr hiện cảnh báo CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS is set](https://homus.dev/photos/2bA1QmCjfnA-0203.jpg)

Demo trong video đăng ngày 30/10/2026: Claude Code v2.1.312 chạy trong một tab của herdr, in dòng cảnh báo màu vàng rằng biến `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` đang được đặt nên các lệnh `rm` nguy hiểm có thể chạy không cần hỏi trong bypass permissions mode; thẻ chú thích ghi "Removes the dangerous-rm prompt, In bypass permissions mode", và dòng trạng thái dưới cùng ghi "bypass permissions on".

Còn trong GUI thì việc này rất cồng kềnh, theo Mehul (video đăng ngày 30/10/2026). Vì sao? Trước hết, nó phụ thuộc vào việc cái GUI harness bạn đang dùng có hỗ trợ chuyện này ngay từ đầu hay không.

## 4. CLI, hay native app, nghĩa là flexibility

Điểm Mehul muốn nói là Claude Code chỉ là một trong rất nhiều harness. Có thể có một harness khác với một flag khác, một mức permission mode khác. Ví dụ, theo Mehul (video đăng ngày 30/10/2026), Claude Code hỗ trợ auto mode, hỗ trợ bypass permission mode, và hỗ trợ cả bypass permission cộng thêm một permission mode còn nguy hiểm hơn nữa.

Vậy nên điều anh muốn chốt (video đăng ngày 30/10/2026) là: CLI nghĩa là flexibility, hay quan trọng hơn, native app nghĩa là flexibility. Trên bảng vẽ của anh có cả hai dòng "CLI = flexibility" và ""native app" = flexibility". Native app ở đây có thể là Claude Code trên CLI, cũng có thể là Claude desktop app.

Nhưng Mehul khá chắc rằng ngay cả trên Claude desktop app thì cũng sẽ rất khó tìm ra flag này nằm ở đâu. Theo anh (video đăng ngày 30/10/2026), desktop app có một loạt tính năng bị giấu kỹ hơn nhiều so với CLI: ngay cả flag dangerously bypass permission cũng nằm trong settings, bạn phải bật nó lên thì nó mới hiện ra.

Anh nói rõ anh không bảo rằng chỉ một điểm này là đủ để kết luận desktop app thì dở còn CLI thì hay. Ý anh (video đăng ngày 30/10/2026) là native app và CLI nói chung cho bạn nhiều flexibility hơn hẳn, và cho bạn khả năng "hack" xung quanh nhiều hơn so với các desktop app đơn giản.

Lập luận "native app = flexibility" của Mehul (video đăng ngày 30/10/2026): trên CLI, một tuỳ chọn mới chỉ là một dòng lệnh; trên GUI, nó phụ thuộc vào harness có hỗ trợ hay không, và theo anh thường bị giấu trong settings.

## 5. Layout và theme của app herdr

Mehul quay lại herdr: đây là bản xem trước app herdr mới trông ra sao. Anh nói bạn có thể tuỳ chỉnh một loạt phần, nhưng thật ra phần tuỳ chỉnh khá ít (theo Mehul, video đăng ngày 30/10/2026).

Về giao diện, theo phần Look trong Settings trên màn hình (demo trong video đăng ngày 30/10/2026), có ba layout. Một là layout herdr quen thuộc, có sidebar và các terminal (trên màn hình ghi "Sidebar + panes"). Hai là chỉ có terminal ("Just the terminals"), cái này về cơ bản biến app thành một thứ giống iTerm, hay một terminal emulator bình thường; Mehul nói anh không thích kiểu này. Ba là "Herdr 98" ("The Windows 98 look"). Anh nói anh không hiểu vì sao cái này tồn tại, có lẽ dành cho người thích đồ cổ điển. Theo anh, trông nó quá thô; anh hiểu họ muốn tạo cảm giác hoài niệm, nhưng anh nghĩ nó chỉ để cho đẹp nếu bạn muốn chụp ảnh màn hình, còn anh khá chắc đó không phải cách làm việc nếu bạn làm việc nghiêm túc hằng ngày.

![Settings của herdr, mục Look: ba layout Herdr, Terminals, Herdr 98 và các theme](https://homus.dev/photos/2bA1QmCjfnA-0539.jpg)

Mục Look trong Settings của herdr ở demo trong video đăng ngày 30/10/2026: ba layout Herdr, Terminals và Herdr 98 (đang được chọn), Appearance theo System, Light hoặc Dark, các theme tối graphite, ink, moss, atom one dark và theme sáng paper, win98; dòng chữ trên màn hình ghi mỗi layout giữ theme sáng và tối riêng.

Mehul nói (video đăng ngày 30/10/2026) anh thích layout herdr, và thích graphite làm theme. Anh đang phóng to giao diện một chút cho video, nhưng khi làm việc thật thì bạn có thể để ở 100.

## 6. Thêm machine qua SSH

Điều tiếp theo Mehul thích là quản lý nhiều máy trong herdr rất dễ, việc mà theo anh khá khó với cmux (video đăng ngày 30/10/2026). Ở đây bạn chỉ cần bấm vào chỗ thêm machine. Theo Mehul, herdr có hỗ trợ hạng nhất (first class support) cho việc này: bạn chỉ cần đưa một chuỗi dạng user@host, hoặc thêm máy vào ssh config rồi chọn nó ra, hoặc nhờ chính AI agent trên máy bạn cấu hình, và agent sẽ làm giúp bạn.

![Hộp thoại Add a machine của herdr: danh sách từ ssh config và ô user@host](https://homus.dev/photos/2bA1QmCjfnA-0623.jpg)

Hộp thoại "Add a machine" trong demo (video đăng ngày 30/10/2026): dòng mô tả ghi rằng một VPS, một Mac mini hay một máy ở nhà đều được, herdr nối tới qua ssh và agent ở đó tiếp tục chạy khi laptop ngủ; bên dưới là danh sách máy lấy từ ssh config (đã được làm mờ) và ô "Or type how ssh reaches it" với gợi ý user@host.

Khi làm xong, theo demo của Mehul (video đăng ngày 30/10/2026), bạn sẽ thấy máy đó hiện ra trong sidebar dưới cái tên anh tự đặt cho nó, và các space của máy đó cũng có mặt ở đây. Như vậy bạn có thể có nhiều machine trong cùng một cửa sổ.

## 7. Agent vẫn chạy khi thoát app

Theo Mehul (video đăng ngày 30/10/2026), mọi thứ ở đây đều là async. Ý anh là: giả sử anh khởi động một tiến trình trên máy worker, chạy `claude` và bảo Claude đếm từ một tới một trăm thật chậm, rồi bấm Enter. Câu anh gõ, trên màn hình:

```
Hey, can you just count to one to hundred very, very slowly?
```

Rồi anh thoát hẳn herdr. App đã đóng. Anh mở app lại, và bạn thấy Claude về cơ bản đã xong, nó vẫn chạy được việc này ở nền dù anh đã thoát app (demo trong video đăng ngày 30/10/2026). Trên màn hình, Claude trả lời rằng nó không điều khiển được tốc độ chữ hiện ra nên in bản "chậm" ngay trên trang, từ 1 tới 100, và gợi ý một lệnh để in mỗi số cách nhau 2 giây nếu muốn chậm thật. Theo Mehul, dù bạn thoát app hay mất kết nối Wi-Fi, việc vẫn chạy, vì nó chạy trên máy worker.

Tương tự, nếu anh chạy agent ngay trên máy tính của mình, ví dụ khởi động Claude trong project video editor rồi bắt đầu làm việc ở đó, anh có thể đóng cả cửa sổ. Theo Mehul (video đăng ngày 30/10/2026), lý do là herdr duy trì một tiến trình riêng trên macOS, giữ cho các tiến trình, các terminal, các agent này sống.

![Sơ đồ Your Mac với laptop chạy herdr và khối herdr-core, a small server on your machine](https://homus.dev/photos/2bA1QmCjfnA-0723.jpg)

Trên "Your Mac", app herdr hiển thị các agent, còn các terminal sống trong herdr-core, "a small server on your machine", đang giữ 3 terminal. Trang herdr.dev (đọc ngày 30/10/2026) cũng mô tả agent sống trong herdr-core chứ không trong cửa sổ, nên thoát, cập nhật hay app bị crash thì terminal vẫn ở nguyên chỗ cũ.

Nhưng Mehul lưu ý: trên Mac, bạn không có bảo đảm đó nếu Wi-Fi ngừng hoạt động hoặc máy thật sự đi vào chế độ ngủ, khi đó nó sẽ dừng, vì máy tính vốn hoạt động như vậy. Theo anh, đó chính là chỗ các machine phát huy tác dụng, và điều này rất, rất quan trọng (video đăng ngày 30/10/2026).

## 8. Thông báo trạng thái và các agent tích hợp sẵn

Ngoài ra, Mehul gõ một yêu cầu bắt đầu bằng "please" cho một agent, rồi chỉ cho người xem rằng herdr tách bạch rõ agent nào đang làm việc. Anh gõ "hello" ở một tab khác rồi chuyển tab: project video editor giờ hiện là đã xong, và herdr cũng gửi thông báo cho anh (demo trong video đăng ngày 30/10/2026). Nên theo anh, nếu bạn đang đeo tai nghe hay đang nghe nhạc mà vẫn phải quản lý nhiều agent, anh nghĩ đây sẽ là một cách làm việc hoàn hảo.

![herdr với Claude Code trong project video-editor và thẻ Working, Done, Needs you, Alert + sound](https://homus.dev/photos/2bA1QmCjfnA-0803.jpg)

Demo trong video đăng ngày 30/10/2026: Claude Code trong project video-editor trả lời "hello" bằng tóm tắt trạng thái repo; sidebar Agents chia nhóm Working và Idle; thẻ chú thích liệt kê bốn trạng thái "Working", "Done", "Needs you" và "Alert + sound".

Cuối cùng nhưng không kém phần quan trọng, theo Mehul (video đăng ngày 30/10/2026), bạn có thể cấu hình nhiều AI agent khác nhau trong herdr. Nếu bạn có một loạt Codex agent, hay DeepSeek, OpenCode và vài agent khác đang chạy, bạn có thể khởi động chúng từ đây. Trên màn hình, menu "Start an agent" liệt kê Claude Code, Codex, Pi, OpenCode, Cursor, Grok, Kimi, còn Copilot và Amp hiện là chưa cài; một thẻ chú thích ghi DeepSeek là một model, chạy nó trong OpenCode hoặc Pi.

Theo Mehul (video đăng ngày 30/10/2026), các agent này có tích hợp hạng nhất trực tiếp vào phần mềm, nên herdr biết khi nào nó idle, khi nào xong, khi nào đang làm, v.v. Bạn vẫn dùng được các agent không có trong danh sách, chỉ là có thể bạn sẽ không có trải nghiệm agent tốt nhất với những CLI đó. Trang herdr.dev (đọc ngày 30/10/2026) giải thích rằng herdr chạy terminal thật nên agent nào cũng chạy, còn agent nào nói giao thức mở OSC 7501 thì hiện thêm trạng thái working, done, needs you.

## 9. Một GUI tối giản trên một terminal đầy đủ

Mehul nói, nhìn vào video này thì anh không coi herdr là một hệ thống hoàn toàn dựa trên terminal. Theo anh (video đăng ngày 30/10/2026), nó dùng một GUI tối giản, điều anh rất thích, nhưng đồng thời cho anh một giao diện terminal đầy đủ: terminal emulator, kết nối SSH, virtual machine, các worker anh thêm vào và duy trì, cùng những thông báo anh muốn. Với các panel chia đôi, anh có thể mở nhiều panel và sắp xếp chúng theo ý mình, theo lời anh là "khá đỉnh".

![Slide A minimal GUI on a full terminal với sáu ô tính năng](https://homus.dev/photos/2bA1QmCjfnA-0903.jpg)

Slide "A minimal GUI on a full terminal, What the Herdr app gives me" của Mehul (video đăng ngày 30/10/2026): Full terminal (shell thật nên agent nào cũng chạy), Terminal emulator (Ghostty bên dưới), SSH connections, Virtual machines, Workers (máy ở xa) và Notifications (working, done, needs you).

Theo Mehul, herdr cho anh trải nghiệm giống cách anh thường làm việc với terminal, nhưng cùng lúc có đủ những tiện ích anh mong đợi ở một phần mềm cho phép anh điều phối tất cả agent (video đăng ngày 30/10/2026). Anh thừa nhận lĩnh vực này đã cực kỳ bão hoà, có rất nhiều phần mềm, và bạn có thể tìm thấy một cái thật sự hữu ích cho mình. Nhưng anh đã dùng ứng dụng herdr này trong vài giờ trước khi quay, và anh dùng thật chứ không phải chỉ để làm video. Anh nói anh thậm chí không định làm video này.

Anh đã dùng thử, và anh thấy nhiều người hơn nên dùng CLI, đơn giản vì các bạn là developer và nên biết dùng command line. Nhưng đồng thời, đừng tự giới hạn mình trong những giao diện đơn giản như iTerm, một giao diện duy nhất, hay dùng tmux cho mọi thứ để quản lý agent. Theo Mehul, tất cả những cách đó đều ổn, đều có use case thật. Điều anh muốn nói là, theo ý kiến của anh (video đăng ngày 30/10/2026), bạn có thể làm việc năng suất hơn nhiều nếu dùng một thứ như thế này, một agent multiplexer, một màn hình kiểu agent manager.

## 10. Những layout lạ: mission control, chat, call, threads

Mehul nói thực ra cái này còn mạnh hơn nhiều. Anh nghĩ anh sẽ không cần mọi thứ herdr có, nó gần như hơi thừa. Theo anh (video đăng ngày 30/10/2026), trong herdr bạn có thể có những layout rất lạ, gồm cả một kiểu dashboard mission control. Bạn có thể có một giao diện xem trước giống Slack, và anh nói anh còn không biết cái này ngay từ đầu hoạt động thế nào.

![Example layouts của herdr: Mission và Chat, kèm lệnh add herdr.dev/layouts/herdrdev/chat](https://homus.dev/photos/2bA1QmCjfnA-1026.jpg)

Trang "Example layouts: your agent adds them" trên màn hình (video đăng ngày 30/10/2026), ghi các layout có sẵn là Herdr, Terminals, Herdr 98. Bên trái là layout Mission với các ô ACTIVE, ATTENTION, STANDBY; ở giữa là layout Chat giống một workspace nhắn tin, mỗi agent là một thành viên báo việc trong kênh #website; bên dưới là dòng "add herdr.dev/layouts/herdrdev/chat".

Bạn cũng có thể có một giao diện giống Google Meet, kiểu một cuộc gọi trong đó các agent đang "trong cuộc gọi" và terminal của chúng nằm ở đó. Mehul nói anh không biết nữa. Theo anh (video đăng ngày 30/10/2026), chúng trông chắc chắn mạnh hơn nhiều: bạn có thể tạo những giao diện kiểu threads, có các terminal và một giao diện để gửi tin nhắn. Anh thấy phiên bản mới mà herdr vừa phát hành có vẻ cực kỳ dễ "hack".

Trên màn hình (video đăng ngày 30/10/2026), mỗi layout ví dụ đi kèm một dòng "add" trỏ tới herdr.dev, như `add herdr.dev/layouts/herdrdev/chat` hay `add herdr.dev/layouts/herdrdev/call`, và tiêu đề trang ghi "your agent adds them". Một màn hình khác ghi "Every part is a file your agent can change, No plugin system: you ask, it edits". Trang herdr.dev (đọc ngày 30/10/2026) giải thích các layout này không đi kèm trong herdr mà là ví dụ: bạn chép một dòng, và agent của bạn thêm layout đó cạnh layout của bạn; mọi thứ trong app là file thường trong `~/.config/herdr-app`, có một file AGENTS.md cho agent biết nó được sửa những gì.

Mehul nói anh cố ý không đi nối dây, không dựng thứ gì quá lạ trong video, vì anh biết chắc màn hình bạn đang thấy không phải là toàn bộ workflow của anh. Nhưng theo anh (video đăng ngày 30/10/2026), khi anh bắt tay vào làm việc với nó, đây là một cách làm việc với AI agent cực kỳ năng suất, và anh không nghĩ bạn cần gì hơn những gì đang thấy trên màn hình: nhiều máy tính, máy tính của chính bạn cho những việc nhạy cảm không thể chuyển lên server, và các agent được sắp xếp gọn theo trạng thái, theo việc chúng đang ở đâu lúc đó.

## 11. Agent chạy ở đâu: việc nặng dữ liệu giữ trên Mac

Mehul nói cách anh mong bạn điều phối khối việc của mình như sau. Bạn nên giữ trên máy tính của mình những việc bạn biết là rất nặng dữ liệu, hoặc cần bạn thường xuyên. Lý do anh nói vậy là vì trên macOS của anh lúc quay video (video đăng ngày 30/10/2026), một trong những việc anh chạy local là dựng video. Có thể một lúc nào đó trong tương lai anh sẽ chuyển nó lên cloud.

Nhưng vấn đề khi chuyển việc này đi, theo Mehul (video đăng ngày 30/10/2026), là các file mà Claude và các AI đang sửa có khi lớn tới 8, 10 gigabyte mỗi file. Chỉ riêng việc upload và download đã mất vài phút. Rồi khi nó sửa xong, anh phải xem lại video, vì Claude và các AI agent này cũng hay mắc lỗi.

![Sơ đồ My Mac giữ việc dựng video, các project được dispatch sang A VM](https://homus.dev/photos/2bA1QmCjfnA-1303.jpg)

"keep on your computer" gồm Data-heavy work, Work that needs you often và Video editing, với các file MP4 thô 8 đến 10 GB; "Agents go to the VM" với project sắp làm và các project cũ; "put on a VM" gồm Software engineering, Feature development, Bug fixes. Một khung trước đó trong video vẽ đường upload 8 GB lên cloud với nhãn "some day, maybe".

Theo Mehul (video đăng ngày 30/10/2026), chúng hay sai vì chúng không thật sự "nhìn". Anh nói thêm: chúng có vision, nhưng chỉ là vision trên ảnh, và kể cả vậy chúng vẫn sai nhiều vì không xem từng khung hình một. Nên anh phải là người xem video. Theo anh, cả vòng feedback đó sẽ tốn rất nhiều dữ liệu và mất nhiều thời gian hơn hẳn so với việc để agent làm ngay trên máy của anh. Đó là một trong những workflow chạy trên máy của anh.

## 12. Phần còn lại lên VM, điều khiển từ điện thoại

Ngoài việc đó ra, theo Mehul (video đăng ngày 30/10/2026), mọi thứ khác, như software engineering, phát triển tính năng thường ngày, sửa bug, đều có thể đặt trên một VM. Anh có một virtual machine, nơi anh đặt tất cả các project khác, và từ đó anh có thể dispatch những agent mà anh muốn làm việc cùng. Ví dụ, anh có một project sắp làm, và một loạt project khác đã làm trong quá khứ. Theo anh, có một VM sẵn đó giúp quản lý các agent này.

Và cuối cùng, ít nhất với Claude Code, một thứ anh đang dùng lúc quay video (video đăng ngày 30/10/2026) là remote control trên điện thoại. Nếu phiên đang chạy trên virtual machine, anh có thể điều khiển phiên đó từ xa bằng tính năng có sẵn của Anthropic. Tài liệu Claude Code (đọc ngày 30/10/2026) mô tả Remote Control là cách tiếp tục các phiên local từ bất kỳ thiết bị nào.

Cách Mehul chia nơi chạy agent, theo lời anh trong video đăng ngày 30/10/2026: việc nặng dữ liệu ở lại Mac, việc code lên VM, và anh điều khiển phiên Claude Code trên VM từ điện thoại bằng remote control.

Mehul nói sẽ rất tuyệt nếu herdr cũng có app mobile hay thứ gì đó tương tự. Theo anh (video đăng ngày 30/10/2026), anh không nghĩ herdr đã phát hành thứ gì gắn riêng các máy anh đang làm việc trong herdr với một ứng dụng mobile. Nhưng anh không nghĩ mình cần nó lúc đó, vì remote control của Anthropic chạy hoàn hảo, ít nhất là với anh; anh không thấy bug hay lỗi gì cả, nó chạy rất tốt.

## 13. API của herdr cho agent gọi agent

Theo Mehul (video đăng ngày 30/10/2026), ít nhất về mặt giao diện thì nó trông rất dễ "hack", bạn còn có thể có các máy tính local, hệ thống local của mình, và một loạt agent chạy cùng lúc, nghe rất thú vị. Nhưng thành thật mà nói, bạn sẽ không có 100 agent chạy cùng lúc, ít nhất là không phải do tự tay bạn. Nếu chính các agent của bạn gọi các agent khác thì đó lại là chuyện khác.

Và nhân tiện, theo Mehul (video đăng ngày 30/10/2026), herdr có hỗ trợ cả một API hoàn chỉnh cho việc đó. Anh nói Claude Code có lẽ không cần nó, vì Claude Code đã có hỗ trợ hạng nhất cho sub-agent, cho các luồng agent mới, v.v. Nhưng bạn có thể dùng chính herdr để chạy sub-agent mới, điều hướng chúng, và cho chúng báo kết quả lại cho agent chính. Theo anh, đây là thứ các agent của bạn dùng trực tiếp, bạn không phải lo về nó.

![Trang herdr: Agents run agents, herdr-core's API through its hc CLI, với ba lệnh hc run, hc send, hc wait](https://homus.dev/photos/2bA1QmCjfnA-1423.jpg)

Thẻ "Agents run agents, herdr-core's API, through its hc CLI" trong video (video đăng ngày 30/10/2026), ba lệnh mẫu: `hc run --bg --name review codex "…"` khởi động một helper, `hc send review "also check the tests"` điều hướng nó, `hc wait review` nhận kết quả. Phía sau là trang herdr.dev với mục "It steers them" và "They report back to it".

Ba lệnh trên thẻ, chép từ màn hình:

```
$ hc run --bg --name review codex "…"
$ hc send review "also check the tests"
$ hc wait review
```

Trang herdr.dev (đọc ngày 30/10/2026) mô tả cùng ý: một agent giao việc cho helper rồi làm tiếp, khi helper xong thì báo cáo, lúc thoát và trạng thái "needs you" của chúng rơi vào ô input của agent chính, và herdr-core là thứ chuyển các tin nhắn đó.

Mehul nói anh đã thử vài ứng dụng khác và không thấy khác biệt nhiều giữa phần lớn các ứng dụng ngoài kia (video đăng ngày 30/10/2026).

## 14. herdr so với cmux theo Mehul

Một điều Mehul có thể nói về cmux là, theo trải nghiệm của anh (video đăng ngày 30/10/2026), nó chắc chắn gây nhiều trở ngại khi dùng hơn hẳn so với những gì anh thấy ở herdr. Vì đã hứa sẽ nói về cmux trong video, anh để lại vài ghi chú cuối.

![Bảng Herdr vs cmux: SSH machines, Quit the app, Out of the box, Friction](https://homus.dev/photos/2bA1QmCjfnA-1443.jpg)

Bảng "Herdr vs cmux, My take, after using both" của Mehul, ý kiến riêng của anh trong video đăng ngày 30/10/2026: SSH machines (herdr: machine hạng nhất, qua host, SSH config hoặc agent; cmux: `cmux ssh`, tmux mirroring đang là beta), Quit the app (herdr: agent vẫn chạy vì herdr-core giữ chúng; cmux: layout quay lại nhưng tiến trình đang chạy thì không), Out of the box (herdr: mặc định đã đẹp; cmux: không có "wow factor" kể cả sau khi tuỳ chỉnh), Friction (herdr: ít hơn; cmux: nhiều hơn hẳn).

Một trong những vấn đề anh thấy ở cmux, theo Mehul (video đăng ngày 30/10/2026), là SSH không thật sự chạy đúng. Bạn có thể SSH, ví dụ gõ `cmux ssh` rồi lệnh SSH tới `root@` một máy nào đó. Sau đó anh bấm Command Shift B để chia terminal, nên có một terminal ở đây, một terminal ở kia, cả hai đều ở trong SSH server.

## 15. Vấn đề SSH của cmux và lời kết

Vấn đề, theo Mehul (video đăng ngày 30/10/2026), là nếu bạn thoát cmux lúc này thì không có cách nào lấy lại các terminal đó. Bạn đã mất chúng, vì nó không thật sự chạy trong một thứ giống tmux. Thứ bạn phải làm là chạy `cmux ssh` với tmux, mà theo anh là tính năng thử nghiệm, rất nhiều trở ngại và hỏng rất nhiều. Anh kể anh đã thấy cảnh: nếu bạn mất kết nối internet, nó làm hỏng luôn cả terminal emulator.

Khác biệt Mehul mô tả khi thoát app (ý kiến và trải nghiệm của anh trong video đăng ngày 30/10/2026): với `cmux ssh` thường, terminal trên server không lấy lại được; với herdr, herdr-core giữ các terminal.

Thứ hai, theo Mehul (video đăng ngày 30/10/2026), anh đã thử tuỳ chỉnh giao diện của cmux, thậm chí nhờ agent của mình làm một số phần, như bỏ phần mô tả khỏi các tab terminal, nhưng anh không có được "wow factor" từ nó. Còn herdr thì có gì đó khiến nó nhìn chung đẹp ngay từ mặc định. Anh không phải bỏ nhiều công sức: nó đơn giản, dễ chịu, và anh bắt đầu được ngay mà không phải loay hoay nhiều.

Mehul nói có rất nhiều người sẽ muốn những giao diện kỳ quặc, sặc sỡ kia, và nếu muốn thì cứ dùng, nhưng anh không nghĩ chúng cần thiết. Dù sao, anh nghĩ bạn sẽ thích dùng herdr, và anh nói đây là một app miễn phí (theo Mehul, video đăng ngày 30/10/2026; trang herdr.dev, đọc ngày 30/10/2026, ghi app, herdr-core và herdr TUI là mã nguồn mở theo giấy phép Apache 2.0).

## Nguồn và liên kết

- Tên gốc: BEST Way To Work With AI Agents (My NEW Setup)
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=2bA1QmCjfnA](https://www.youtube.com/watch?v=2bA1QmCjfnA)

- Kênh YouTube Mehul Mohan (Mehul Mohan): [youtube.com/channel/UCJUmE61LxhbhudzUugHL2wQ](https://www.youtube.com/channel/UCJUmE61LxhbhudzUugHL2wQ)

- Trang chủ herdr: app, herdr-core, agent gọi agent qua `hc`, OSC 7501, layout ví dụ (đọc ngày 30/10/2026): [herdr.dev](https://herdr.dev/)

- Trang herdr-core (đọc ngày 30/10/2026): [herdr.dev/core](https://herdr.dev/core/)

- Thư viện layout của herdr (đọc ngày 30/10/2026): [herdr.dev/layouts](https://herdr.dev/layouts/)

- Repo mã nguồn của app herdr (đọc ngày 30/10/2026): [github.com/herdrdev/herdr-app](https://github.com/herdrdev/herdr-app)

- Tài liệu Claude Code về permission modes, có mục `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` (đọc ngày 30/10/2026): [code.claude.com/docs/en/permission-modes](https://code.claude.com/docs/en/permission-modes)

- Tài liệu Claude Code về Remote Control (đọc ngày 30/10/2026): [code.claude.com/docs/en/remote-control](https://code.claude.com/docs/en/remote-control)

Nguồn: https://homus.dev/talks/best-way-to-work-with-ai-agents-my-new-setup · cập nhật 2026-10-30
