- agent-shell là một shell native dựa trên comint-mode cho phép điều khiển trực tiếp các AI agent trong Emacs
- Sử dụng ACP (Agent Client Protocol) nên có tính linh hoạt, có thể giao tiếp với nhiều agent khác nhau mà không phụ thuộc vào một agent cụ thể
- Có tính năng phân tích lưu lượng theo thời gian thực và phát lại agent giả (fake/fak) giúp nâng cao hiệu quả kiểm thử và phát triển
- Dù vẫn chưa hỗ trợ đầy đủ mọi chức năng của giao thức, nó đã cho thấy mức độ triển khai đủ nhanh để dùng thực tế
- Cả agent-shell và acp.el đều đã được công khai trên GitHub, và tác giả hoan nghênh phản hồi của người dùng về tính năng bổ sung hoặc lỗi
Giới thiệu
- Gần đây, thông qua acp.el được triển khai bằng Emacs Lisp, việc tích hợp với Agent Client Protocol (ACP) do Zed và Google đồng phát triển đã trở nên khả thi
- Trước đây chỉ có các tích hợp cơ bản với LLM như chatgpt-shell, nên việc khai thác AI agent một cách bài bản vẫn diễn ra khá chậm
- Khi ACP được đưa vào, nhu cầu tích hợp agent trong môi trường Emacs tăng lên, từ đó việc phát triển agent-shell native cho Emacs đã bắt đầu
Tổng quan về agent-shell
agent-shell được xây dựng trên comint-mode, hoạt động bên trong hệ thống buffer quen thuộc của Emacs
- Nó cung cấp môi trường có thể dùng giống hệt shell Emacs thông thường mà không cần chuyển đổi riêng giữa chế độ ký tự và chế độ dòng
Agent-agnostic (không phụ thuộc agent)
- Nhờ ACP, có thể tạo ra trải nghiệm người dùng nhất quán để giao tiếp với nhiều agent khác nhau bằng một giao thức duy nhất
- Qua ví dụ cấu hình, có thể áp dụng cho nhiều agent như Gemini CLI, Claude Code chỉ với những thay đổi mã đơn giản
- Mã ví dụ: giải thích cách thiết lập xác thực, lệnh và biến môi trường cho từng agent
- Các agent khác cũng có thể được tích hợp dễ dàng theo cùng một cách
Tính năng xem lưu lượng
- Vì còn chưa quen với giao thức ACP, đã nảy sinh nhu cầu phân tích lưu lượng giao tiếp theo thời gian thực
- agent-shell cung cấp một buffer xem lưu lượng riêng, cho phép quan sát trực quan lưu lượng dựa trên JSON bằng lệnh
M-x agent-shell-view-traffic
Fake agents (agent giả và phát lại)
- Do việc phát triển với agent trả phí ngoài đời thực gây lãng phí chi phí và thời gian, tính năng phát lại agent giả đã được đưa vào
- Bằng cách phát lại (replay) dữ liệu giao tiếp đã lưu qua buffer lưu lượng, có thể kiểm thử nhanh nhiều lần
- Dù vẫn có một số ràng buộc và giới hạn, quy trình gỡ lỗi và phát triển đã được tối ưu đáng kể
Kế hoạch sắp tới và trạng thái hiện tại
- Mới chỉ triển khai một phần của Agent Client Protocol Schema nên vẫn còn những phần chưa hoàn thiện
- Đang thử nghiệm các UX mới như buffer quick(diff) dùng phím n/p và permission dialog
- Dự kiến sẽ tiếp tục nắm đầy đủ các chức năng của giao thức và triển khai bổ sung
Công khai trên GitHub và hướng dẫn sử dụng
- Cả agent-shell và acp.el đều đã được công khai trên GitHub
- agent-shell: gói dành cho người dùng agent
- acp.el: thư viện dành cho nhà phát triển muốn tạo các gói tích hợp liên quan đến agent
- Cả hai dự án đều đang ở giai đoạn rất sớm (beta), vì vậy tác giả khuyến khích gửi báo lỗi và yêu cầu tính năng
- Việc sử dụng dịch vụ cloud LLM phát sinh thêm chi phí, và bản thân phát triển mã nguồn mở cũng cần chi phí cùng công sức
- Nếu dự án hữu ích, tác giả khuyến khích người dùng tham gia hỗ trợ (tài trợ)
1 bình luận
Ý kiến Hacker News
agent-shell-sidebarthực sự hoạt động như thế nào.