CLI-Anything là plugin mã nguồn mở dành cho các tác nhân mã hóa AI (đặc biệt là Claude Code) để tự động tạo giao diện dòng lệnh (CLI) cho bất kỳ phần mềm nào có mã nguồn. Bạn chỉ cần trỏ nó vào mã nguồn (ví dụ GIMP, Blender, LibreOffice...), plugin sẽ phân tích và tạo ra một CLI có cấu trúc mà tác nhân AI có thể điều khiển phần mềm thông qua các lệnh tự động.
Vấn đề: Tác nhân AI không thể sử dụng phần mềm GUI
Hiện nay, phần mềm chia thành hai thế giới: API-first (giao tiếp qua HTTP, dễ tích hợp với tác nhân AI) và ứng dụng GUI truyền thống (GIMP, Blender, LibreOffice...), vốn chỉ dành cho con người thao tác chuột. Khi kết nối tác nhân AI với phần mềm GUI, bạn thường phải tự viết wrapper hoặc dùng RPA (Robot Process Automation) – giải pháp này mong manh, dễ gãy khi phần mềm thay đổi.
CLI-Anything giải quyết tận gốc: phân tích mã nguồn, tìm các API backend mà GUI sử dụng, rồi sinh ra CLI thực sự gọi trực tiếp các API đó. Tác nhân AI chỉ việc gửi lệnh có cấu trúc, phần mềm xử lý phần còn lại.
💡Nếu quy trình làm việc của tác nhân cần gọi REST API ngoài phần mềm cục bộ, Apidog sẽ xử lý phần kiểm thử API. Đây là công cụ miễn phí để gửi, kiểm tra và sắp xếp yêu cầu API, giúp bạn xác minh tích hợp API trước khi nhúng vào workflow.
CLI-Anything làm gì
CLI-Anything do HKUDS phát triển, hiện có hơn 6.100 sao trên GitHub. Plugin vận hành trong Claude Code (và thử nghiệm với Codex, OpenCode), tự động hóa 7 bước:
- Phân tích: Quét mã nguồn, map hành động GUI tới API backend, tạo tài liệu SOP phần mềm.
- Thiết kế: Kiến trúc nhóm lệnh, trạng thái, định dạng đầu ra.
-
Triển khai: Sinh CLI Python (Click), có REPL, hỗ trợ
--json, undo/redo. -
Lập kế hoạch kiểm thử: Sinh file
TEST.mdvới test plan đơn vị và end-to-end. -
Viết kiểm thử:
test_core.py(unit test),test_full_e2e.py(e2e test). -
Tài liệu hóa: Chạy pytest, nối kết quả vào
TEST.md. -
Xuất bản: Sinh
setup.py, cấu hình script, cài đặt vào PATH.
Sau bước 7, bạn có CLI hoạt động, có thể kiểm tra bằng which cli-anything-gimp hoặc cli-anything-gimp --help. Thiết kế nhất quán: đầu ra bảng cho người, --json cho máy, trạng thái bền vững, undo/redo, REPL.
Cài đặt CLI-Anything
CLI-Anything là plugin Python, bạn cài vào agent AI mã hóa của mình. Các CLI sinh ra cũng là gói Python, cài bằng pip install -e ..
Yêu cầu:
- Python 3.10+
- Phần mềm mục tiêu đã cài trên máy
- Agent AI hỗ trợ (Claude Code chính; Codex, OpenCode thử nghiệm)
Claude Code (phương pháp chính)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
Sau đó dùng các lệnh /cli-anything trong Claude Code.
OpenCode
Clone repo, copy file lệnh & HARNESS.md vào ~/.config/opencode/commands/. Có 5 lệnh: /cli-anything, /cli-anything-refine, /cli-anything-test, /cli-anything-validate, /cli-anything-list.
Codex
bash CLI-Anything/codex-skill/scripts/install.sh
Qodercli
bash CLI-Anything/qoder-plugin/setup-qodercli.sh
Lưu ý về Windows
Cần Git for Windows (có bash & cygpath) hoặc WSL. Không hỗ trợ shell Windows gốc. Nếu gặp lỗi cygpath: command not found, cài Git for Windows rồi thử lại.
Cài đặt CLI đã tạo
Sau khi plugin tạo CLI cho phần mềm, cài vào PATH:
cd <software>/agent-harness
pip install -e .
Chế độ -e giữ cho code sinh ra có thể chỉnh sửa mà không cần cài lại.
Tạo CLI đầu tiên của bạn
Sau khi cài plugin, chỉ cần một lệnh để sinh CLI. Ví dụ với GIMP:
Trong Claude Code:
/cli-anything ./gimp
Hoặc dùng repo GitHub:
/cli-anything https://github.com/blender/blender
Quy trình 7 bước bắt đầu, mất vài phút tùy cơ sở mã. Giai đoạn 1 (phân tích) sẽ tìm toàn bộ chức năng phần mềm và sinh tài liệu SOP (GIMP.md). Giai đoạn 3 sẽ sinh CLI bằng Click, hỗ trợ --json, lưu trạng thái, có REPL.
Cấu trúc thư mục điển hình:
gimp/
agent-harness/
GIMP.md # Tài liệu SOP
setup.py
cli_anything/
gimp/
README.md
gimp_cli.py # Điểm vào CLI
core/
utils/
tests/
test_core.py
test_full_e2e.py
TEST.md
CLI nằm dưới namespace cli_anything.* (ví dụ: cli_anything.gimp), tránh trùng tên nhiều ứng dụng.
Sử dụng CLI đã tạo
Sau khi cài với pip install -e .:
cli-anything-gimp --help
Hiển thị nhóm lệnh và lệnh con. Tên chuẩn: cli-anything-<software>.
Đầu ra dễ đọc cho người (mặc định)
cli-anything-gimp project new --width 1920 --height 1080
cli-anything-gimp layer list
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3
cli-anything-gimp export save --format png --output ./output.png
Đầu ra JSON cho tác nhân AI
Gọi CLI với --json để nhận dữ liệu máy dễ parse:
cli-anything-gimp --json project new --width 1920 --height 1080
# {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}
cli-anything-gimp --json layer add -n "Background"
# {"status": "ok", "layer_id": "layer_001", "name": "Background"}
Tất cả lệnh đầu ra JSON nhất quán: status, trường hoạt động, lỗi (nếu có).
Chế độ REPL tương tác
Khởi chạy REPL để thử lệnh nhanh:
cli-anything-gimp
Shell có màu, completion, lưu lịch sử.
Hoàn tác/Làm lại
Undo/redo cho thao tác thay đổi trạng thái:
cli-anything-gimp undo
cli-anything-gimp redo
Tinh chỉnh và kiểm thử CLI của bạn
CLI sinh lần đầu có thể chưa đủ. Dùng lệnh /cli-anything:refine để bổ sung lệnh còn thiếu.
Tinh chỉnh chung
/cli-anything:refine /home/user/gimp
Tự động phát hiện & thêm lệnh chưa bao phủ so với API phần mềm.
Tinh chỉnh tập trung
/cli-anything:refine /home/user/blender "particle systems and physics simulation"
Nhắm vào khu vực cụ thể của codebase.
Chạy kiểm thử
/cli-anything:test /home/user/gimp
Chạy toàn bộ test, cập nhật file TEST.md.
Xác thực
/cli-anything:validate /home/user/gimp
Kiểm tra CLI khớp đặc tả HARNESS.md.
Liệt kê các CLI khả dụng
/cli-anything:list
/cli-anything:list --json
/cli-anything:list --path /home
Các trường hợp sử dụng thực tế
Quy trình xử lý hình ảnh với GIMP
Tác nhân AI xử lý loạt hình ảnh sản phẩm:
cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp
Tạo tài liệu với LibreOffice
Ví dụ xuất PDF từ template:
cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf
Kết xuất 3D với Blender
Tự động hóa render:
cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png
Tự động hóa phát trực tiếp với OBS Studio
Điều khiển OBS bằng CLI:
cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4
Tích hợp CI/CD
Bạn có thể nhúng các lệnh này vào GitHub Actions, tạo PDF tự động, render Blender mỗi khi push code, v.v.
Xây dựng quy trình làm việc của tác nhân với Apidog
CLI-Anything giải quyết phần mềm cục bộ. Để workflow hoàn chỉnh, bạn thường cần gọi API ngoài (ví dụ: upload file, gửi dữ liệu...). Apidog giúp bạn kiểm thử, tài liệu hóa, tự động hóa REST API dễ dàng.
Ví dụ: tác nhân xử lý ảnh với GIMP rồi upload lên API lưu trữ.
- Thiết lập môi trường với biến API key.
- Test endpoint upload với file mẫu.
- Thêm assertion kiểm tra phản hồi (URL file trả về).
- Xuất lệnh curl hoặc code snippet để dùng trong script.
Apidog giúp bạn chắc API hoạt động trước khi tích hợp vào workflow, giảm thời gian debug. Ngoài ra, bạn có thể thêm bộ test tự động để phát hiện lỗi hồi quy sau này.
Những hạn chế cần biết
Windows cần Git Bash/WSL
CLI dựa vào bash path (cygpath), không hỗ trợ PowerShell gốc.
Phần mềm mục tiêu phải được cài sẵn
CLI chỉ là wrapper, không cài sẵn GIMP/Blender/LibreOffice... Bạn cần tự cài phần mềm.
Chỉ sinh CLI Python
Chưa hỗ trợ sinh CLI bằng Node.js/Go. Nếu muốn wrapper CLI ngôn ngữ khác, phải tự phát triển.
Claude Code ổn định nhất
Codex và OpenCode đang thử nghiệm, có thể chưa ổn định như Claude Code.
Chất lượng sinh CLI phụ thuộc codebase
Phần mềm mã nguồn mở, cấu trúc tốt sẽ sinh CLI chất lượng. Codebase rối hoặc gắn chặt GUI sẽ khó sinh wrapper hoàn chỉnh, cần tinh chỉnh thủ công.
FAQ
CLI-Anything có hoạt động với mọi phần mềm không?
Có thể với mọi phần mềm có mã nguồn, nhưng tốt nhất với phần mềm mã nguồn mở, API rõ ràng. Đã thử nghiệm trên GIMP, Blender, Inkscape, Audacity, Kdenlive, Shotcut, OBS Studio, Draw.io, LibreOffice, AnyGen, Zoom.
Có miễn phí không?
Có. MIT License. Xem tại GitHub.
Có cần biết Python không?
Không cần viết code Python, chỉ cần cài Python 3.10+ để chạy.
Có thể gọi CLI từ code/script ngoài AI agent không?
Có. CLI sinh ra là CLI chuẩn, gọi từ shell, Makefile, subprocess Python, v.v.
HARNESS.md là gì?
Đặc tả định nghĩa interface CLI sinh ra (lệnh, đầu ra, kiểm thử...). Bước validate sẽ kiểm tra CLI khớp với file này.
Có làm CLI cho tool nội bộ được không?
Được, chỉ cần trỏ vào codebase nội bộ trên máy. Plugin chạy local, không gửi code đi đâu cả.
Khác gì so với Model Context Protocol (MCP)?
MCP dùng cho dịch vụ cloud chuẩn hóa. CLI-Anything giúp tạo CLI local cho app GUI không có API. Có thể dùng song song: MCP cho cloud, CLI-Anything cho desktop.
Top comments (0)