3 điểm bởi princox 2 giờ trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Video demo > https://youtu.be/-INveHwbRz4

TL;DR

claude agents khởi chạy, giám sát và phản hồi các phiên Claude Code chạy nền trên một màn hình chỉ với một dòng lệnh
Mỗi phiên vẫn tồn tại ngay cả khi không có terminal → được một tiến trình supervisor riêng quản lý
Xung đột tệp được tự động cô lập bằng worktree, và nếu mở cả PR thì trạng thái CI cũng hiển thị trên từng dòng
Cần Claude Code v2.1.139+; hiện ở giai đoạn Research Preview

Khái niệm cốt lõi

Trong “kỷ nguyên lập trình bằng agent”, một câu hỏi tự nhiên xuất hiện là: làm sao vận hành đồng thời 10 phiên?
Trước đây thường phải dùng tmux + nhiều cửa sổ + trạng thái tiến độ khó nắm bắt, gây quá tải nhận thức
Agent View sắp xếp tất cả thành một bảng trên một màn hình. Mỗi hàng hiển thị tên phiên, phiên đó đang làm gì, và thời điểm thay đổi gần nhất

Cách đọc biểu tượng trạng thái

Animated ✽ - Working, đang chạy công cụ/tạo phản hồi
Yellow - Needs input, đang chờ quyết định cấp quyền hoặc câu hỏi
Dimmed - Idle, đang chờ đầu vào nhưng không bị kẹt ở một câu hỏi cụ thể
Green - Completed, hoàn tất bình thường
Red - Failed, kết thúc do lỗi
Grey - Stopped, đã dừng bằng Ctrl+X hoặc claude stop

Hình dạng biểu tượng cũng cho biết tiến trình còn sống hay không:

✻ (hoặc hoạt ảnh ✽ khi đang làm việc) = tiến trình đang sống, có thể phản hồi ngay
∙ = tiến trình đã chết nhưng sẽ tự khởi động lại tiếp nối khi peek/reply/attach
✢ = phiên /loop đang ngủ tới lần lặp tiếp theo (hiển thị số lần chạy và đếm ngược)

Bản tóm tắt một dòng được tạo bằng mô hình cấp Haiku nên có thể nắm trạng thái mà không cần mở transcript. Việc này vẫn nằm trong điều khoản sử dụng và cách tính phí thông thường.
Quy trình làm việc

Dispatch: nhập prompt vào ô nhập phía dưới → Enter. Tên sẽ được đặt tự động
Peek: nhấn Space trên một hàng → xem đầu ra gần đây, liên kết PR. Nếu là câu hỏi trắc nghiệm thì trả lời bằng phím số; với các phiên bị chặn kiểu khác, có thể nhấn Tab để điền câu trả lời gợi ý rồi gửi. Thêm tiền tố ! để dùng lệnh Bash
Attach: nhấn Enter hoặc phím →. Vào một phiên tương tác đầy đủ. Claude sẽ hiện recap trước về những gì đã xảy ra khi bạn vắng mặt
Detach: từ ô nhập trống nhấn ← → vẫn giữ chạy nền. Ctrl+C, Ctrl+D, Ctrl+Z, /exit đều giữ phiên ở nền. Muốn kết thúc phiên thật sự thì dùng /stop

Để đưa một phiên tương tác hiện có ra chạy nền, dùng /bg bên trong hoặc nhấn ← tại prompt trống. Sau khi dùng Agent View một lần, có thể vào Agent View từ bất kỳ phiên nào bằng cách nhấn ← tại prompt trống.
Mẹo dispatch

<subagent-name> <prompt> - nếu từ đầu tiên là subagent thì agent đó sẽ là agent chính
@<agent-name> - mention giữa prompt cũng sẽ hoạt động như agent chính
@<repo> - mở Agent View từ thư mục cha và định tuyến tới repo cụ thể
/<skill> - dispatch theo Skill (phù hợp để đóng gói tác vụ lặp lại)
#1234 hoặc PR URL - nếu đã có phiên đang xử lý PR đó thì chọn phiên đó, nếu không sẽ dispatch phiên mới
Shift+Enter - dispatch và attach ngay lập tức
Từ shell trực tiếp: claude --bg "...", claude --agent code-reviewer --bg "..."

Lọc danh sách
Chỉ cần gõ vào ô nhập thì sẽ hoạt động như bộ lọc thay vì dispatch:

a:<name> - các phiên đang chạy agent tương ứng
s:<state> - lọc theo trạng thái (ví dụ: s:blocked chỉ hiện các phiên đang chờ đầu vào)
#<number> hoặc PR URL - phiên đang xử lý PR tương ứng

Các phím tắt chính

↑ / ↓: di chuyển giữa các hàng
Enter: attach vào phiên được chọn; nếu có văn bản trong ô nhập thì dispatch
Space: mở/đóng panel peek
Shift+Enter: dispatch rồi attach ngay
Alt+1~Alt+9: attach ngay vào phiên thứ N của nhóm tương ứng
Ctrl+S: chuyển nhóm theo trạng thái/theo thư mục
Ctrl+T: ghim/bỏ ghim phiên
Ctrl+R: đổi tên phiên
Ctrl+G: soạn prompt trong $EDITOR
Ctrl+X: dừng (nhấn thêm một lần trong 2 giây để xóa)
Shift+↑ / Shift+↓: đổi thứ tự
?: xem toàn bộ phím tắt

Xung đột tệp được tự động cô lập bằng worktree

Các phiên được dispatch từ Agent View sẽ tự động tạo git worktree dưới .claude/worktrees/ nếu cần chỉnh sửa
Khi xóa phiên, worktree cũng bị xóa theo → lưu ý sẽ mất nếu chưa merge/push
Nếu đặt isolation: worktree trong frontmatter của subagent thì luôn được cô lập

Kiến trúc Supervisor

Các phiên chạy nền là tiến trình con của một tiến trình supervisor theo từng người dùng, chứ không gắn với terminal
Các phiên đã hoàn tất nhưng idle hơn 1 giờ sẽ chỉ tắt tiến trình, còn dữ liệu trên đĩa vẫn giữ nguyên → lần kết nối sau sẽ khởi động lại để tiếp tục
Bản thân supervisor sẽ thoát khi mọi phiên kết thúc, rồi khởi chạy lại ở lần dispatch nền tiếp theo
Khi auto-update, nó sẽ tự khởi động lại bằng binary mới, còn các phiên nền vẫn tiếp tục sống
Vị trí tệp trạng thái: ~/.claude/daemon.log (log supervisor), ~/.claude/daemon/roster.json (danh sách phiên đang chạy), ~/.claude/jobs/<id>/state.json (trạng thái theo từng phiên)
Có thể tắt hoàn toàn bằng cấu hình disableAgentView hoặc biến môi trường CLAUDE_CODE_DISABLE_AGENT_VIEW (cũng hỗ trợ quản trị ở cấp tổ chức)

Lệnh shell
claude agents # mở agent view
claude attach <id> # gắn vào phiên
claude logs <id> # đầu ra gần đây
claude stop <id> # dừng (= claude kill)
claude respawn <id> # khởi động lại phiên đã dừng
claude respawn --all # khôi phục toàn bộ sau sleep/tắt máy
claude rm <id> # xóa khỏi danh sách
Giới hạn

Phí vẫn bị tính bình thường - chạy song song 10 phiên sẽ tiêu tốn quota nhanh gấp 10 lần
Các phiên nền chạy trên máy cục bộ - sẽ dừng khi sleep/tắt máy
Worktree sẽ bị xóa cùng lúc khi xóa phiên

Chưa có bình luận nào.

Chưa có bình luận nào.