Hôm nay mình sẽ hướng dẫn anh em cài CLI-Anything từ lệnh /plugin, để giao phần mềm cần tạo công cụ điều khiển cho agent. Anh em sẽ biết chỗ nhập lệnh và thứ tự cài plugin.
Mình soạn phần hướng dẫn từ tài liệu chính thức, với nhánh cài plugin cho Claude Code, rồi đối chiếu phần giao việc với prompt thiết kế app ghi chú có log thật. Log này chưa xác nhận việc cài plugin hay điều khiển app thật.
CLI là cách điều khiển phần mềm bằng lệnh gõ chữ, thay vì bấm nút trên giao diện. Còn agent là AI nhận việc rồi tự gõ những lệnh đó, nên mình sẽ giải thích chỗ nhập lệnh trước để anh em biết phải giao việc cho công cụ ở đâu.
Anh em nhập các lệnh bắt đầu bằng /, như /plugin, vào khung chat của Claude Code, chỗ anh em vẫn gõ yêu cầu cho AI. Còn lệnh pip và cli-hub thì anh em gõ trong terminal, tức cửa sổ gõ lệnh chữ của máy.
Anh em cần cài và mở được Claude Code trước khi làm theo hướng dẫn này, vì nguồn mình có chỉ bắt đầu từ phần thêm plugin, chưa chỉ cách mở công cụ. Tài liệu yêu cầu Python 3.10+ và phần mềm cần xử lý hoặc repo có thể truy cập trên máy hay qua mạng. Repo là thư mục chứa code phần mềm anh em cần xử lý.
Bước 1: Thêm marketplace của CLI-Anything
Mình chọn nhánh cài bằng plugin vì tài liệu đã ghi sẵn thứ tự cần làm: anh em thêm marketplace trước, cài plugin sau, rồi mới giao phần mềm cần xử lý cho agent. Plugin là phần mở rộng thêm tính năng cho Claude Code mà anh em đang dùng. Lệnh này gõ trong khung chat của Claude Code, không gõ trong terminal dù khối code ghi bash.
/plugin marketplace add HKUDS/CLI-Anything
Anh em vừa thêm marketplace, tức nơi cung cấp plugin cần cài. Anh em chép nguyên dòng lệnh, giữ đúng tên như tài liệu.
Bước 2: Cài plugin vào Claude Code
Anh em gõ lệnh cài plugin vào khung chat đang mở, giữ nguyên tên như tài liệu để Claude Code lấy đúng plugin từ marketplace vừa thêm.
/plugin install cli-anything
Tài liệu ghi cài xong là plugin dùng được ngay trong phiên Claude Code đang mở. Plugin chưa tạo CLI. Anh em vẫn phải chỉ cho agent biết làm việc với phần mềm nào trước khi giao việc tạo công cụ ở bước tiếp theo.
Theo tài liệu, anh em dùng /cli-anything để giao việc tạo CLI. Mình không có log nên chưa tả màn hình, nhưng mình gợi ý anh em gõ / để xem cli-anything có xuất hiện trong danh sách lệnh không.
Bước 3: Giao phần mềm cần tạo công cụ
Anh em muốn điều khiển phần mềm như GIMP thì tìm trong CLI-Hub trước; có CLI phù hợp thì cài, chưa cần tạo mới. Tài liệu dành nhánh này cho phần mềm hoặc repo chưa có CLI phù hợp trong CLI-Hub, nơi tập hợp các CLI để anh em tìm và cài.
Trước khi giao việc tạo mới, anh em nên tìm CLI làm sẵn bằng cli-hub, công cụ được cài trong terminal để tìm và cài những CLI có trong danh mục.
pip install cli-anything-hubAnh em thay <query> bằng tên phần mềm hoặc việc cần tìm, ví dụ cli-hub search image. Anh em chỉ sang lệnh /cli-anything bên dưới khi chưa có kết quả phù hợp.
cli-hub search <query>Anh em thay <name> bằng tên CLI muốn cài vào máy.
cli-hub install <name>Tài liệu nhắc: nếu CLI anh em chọn bọc một phần mềm như GIMP, Blender hay LibreOffice thì phải cài luôn phần mềm đó. Anh em gõ các lệnh cli-hub trong terminal vừa dùng để cài.
Lệnh dưới đây thì anh em gõ trong khung chat của Claude Code, và chỉ cần khi chưa tìm được CLI phù hợp:
/cli-anything <software-path-or-repo>Anh em thay cả cụm <software-path-or-repo>, kể cả hai dấu < >, bằng đường dẫn tới thư mục phần mềm hoặc repo. Ví dụ ./ten-thu-muc là thư mục con tên ten-thu-muc nằm trong thư mục anh em đang mở. Với app đã cài sẵn, anh em cần biết đúng thư mục của phần mềm; đừng mặc định đó là thư mục chứa code.
Sau khi gõ /cli-anything kèm đường dẫn, anh em chờ agent tạo CLI xong. Việc dùng CLI đó để tạo ghi chú, tìm ghi chú thì mới là bước sau, và mình chưa thử bước này.
Tài liệu giải thích vì sao chọn CLI: có flag --help để agent tự đọc cách dùng, và xuất JSON có cấu trúc để agent khỏi phải đoán kết quả. Flag (cờ) là phần thêm đằng sau lệnh, chẳng hạn --help, để yêu cầu một cách xử lý cụ thể. Với JSON, kết quả được chia thành các cặp tên và giá trị.
Đây là lý do tài liệu nêu, không phải mình đã kiểm chứng bằng việc điều khiển phần mềm thật. Trong log, mình mới thấy model viết được bản thiết kế cho app ghi chú. Còn CLI có điều khiển đúng phần mềm hay không thì mình chưa thử.
Khi agent chạy xong, anh em nhờ nó đọc --help của CLI vừa tạo để xem các lệnh có hợp ý mình không. Cách kiểm tra này là mình gợi ý, tài liệu không ghi.
Mình nhờ model thiết kế, chưa thử plugin
Mình gửi Claude Sonnet qua Claude Code (claude -p, gói thuê bao) một prompt xin thiết kế CLI cho app ghi chú không có API. API là cách phần mềm cho chương trình khác sử dụng chức năng của nó; prompt lần này giả định app chỉ có giao diện để thao tác. Mình gửi riêng prompt, không kèm file hay công cụ nào khác.
Ở lần chạy được ghi lại, Claude Sonnet trả lời sau 28,8 giây theo log của mình. Theo log, câu trả lời của Claude Sonnet dài 1.074 chữ (6.369 ký tự) trong lần chạy này.
Bản thiết kế model trả về có sáu lệnh con: notes create, notes edit, notes delete, notes find, notes tag, notes export. Trong bản thiết kế, mọi lệnh đều có flag --json, còn chương trình báo lỗi bằng mã riêng: 3 là không tìm thấy, 2 là sai cú pháp và 4 là xung đột. Anh em đọc mã này để biết chương trình vướng lỗi gì.
Anh em dán yêu cầu như sáu lệnh con và flag --json vào lời nhắn khi giao việc, để agent bám theo. Mình chưa thử cách này với /cli-anything trong lần chạy được ghi lại. Mình chỉ chạy thử prompt thiết kế, còn log này chưa cho thấy plugin đã được cài hay app thật đã được điều khiển.
Khi giao việc, anh em liệt kê các thao tác cần có: tạo, sửa, xoá, tìm, gắn thẻ, xuất ghi chú. Rồi anh em dặn thêm là mọi lệnh phải có flag --json, và thông báo lỗi phải đủ rõ để agent tự sửa lệnh sai.
Lỗi hay gặp
Anh em dùng Windows thì cài Git for Windows, có sẵn bash và cygpath, hoặc dùng WSL trước khi gõ lệnh đầu tiên. Tài liệu lưu ý Claude Code chạy lệnh qua bash, nên máy thiếu cygpath có thể báo lỗi cygpath: command not found.
Bản thiết kế mới chỉ là giấy. Anh em chỉ biết CLI dùng được khi nó điều khiển đúng phần mềm thật.



