CLI-Anything
CLI-Anything adalah plugin sumber terbuka untuk agen pengodean AI (terutama Claude Code) yang menghasilkan antarmuka baris perintah (CLI) lengkap untuk perangkat lunak apa pun dengan basis kode. Arahkan ke GIMP, Blender, LibreOffice, atau aplikasi lain, dan ia akan menganalisis kode sumber serta menghasilkan CLI terstruktur yang dapat digunakan agen AI Anda untuk mengontrol perangkat lunak tersebut secara terprogram.
Masalahnya: Agen AI tidak bisa menggunakan perangkat lunak GUI
Tumpukan perangkat lunak saat ini terbagi menjadi dua dunia yang hampir tidak saling berbicara.
Di satu sisi, Anda memiliki layanan API-first modern: penyimpanan cloud, pemroses pembayaran, penyedia email, platform analitik. Ini berbicara HTTP. Agen AI dapat memanggilnya secara langsung tanpa alat khusus.
Di sisi lain, Anda memiliki perangkat lunak yang sangat bergantung pada alur kerja profesional: GIMP untuk pengeditan gambar, Blender untuk pekerjaan 3D, LibreOffice untuk dokumen, Audacity untuk audio. Ini dibangun agar manusia dapat mengklik-klik. Mereka mengekspos antarmuka grafis, bukan API terstruktur.
Ketika Anda mencoba menghubungkan agen AI ke kategori perangkat lunak kedua ini, pilihannya terbatas. Anda dapat menulis wrapper kustom secara manual, yang memakan waktu berminggu-minggu dan rusak saat perangkat lunak diperbarui. Anda dapat mencoba alat Robotic Process Automation (RPA), yang mengotomatiskan interaksi GUI melalui tangkapan layar dan klik piksel. Namun RPA rapuh. Ia rusak ketika tata letak jendela berubah, ketika tema diperbarui, ketika penskalaan tampilan bergeser.
CLI-Anything mengambil pendekatan yang berbeda: alih-alih mensimulasikan manusia yang mengklik menu, ia menganalisis kode sumber perangkat lunak untuk menemukan API dasar yang sudah dipanggil oleh GUI. Kemudian ia menghasilkan CLI nyata yang memanggil API tersebut secara langsung.
Agen AI Anda tidak perlu "melihat" layar. Ia mengeluarkan perintah terstruktur. Perangkat lunak yang melakukan pekerjaan.
Apa yang dilakukan CLI-Anything
CLI-Anything adalah plugin sumber terbuka yang dibangun oleh HKUDS (Hong Kong University Data Science Lab). Penciptanya, Chao Huang, mengatakannya seperti ini dalam pengumuman proyek:
"Perangkat lunak hari ini melayani manusia. Pengguna besok akan menjadi agen. CLI-Anything: menjembatani kesenjangan antara agen AI dan perangkat lunak dunia. Satu baris perintah untuk membuat perangkat lunak apa pun siap untuk agen."
Saat artikel ini ditulis, proyek ini memiliki lebih dari 6.100 bintang di GitHub.
Plugin ini bekerja di dalam Claude Code (dan secara eksperimental di Codex dan OpenCode). Anda mengarahkannya ke basis kode perangkat lunak dan ia menjalankan pipeline otomatis 7 fase:
- Analisis - Memindai kode sumber, memetakan tindakan GUI ke API yang mendasarinya, dan menghasilkan dokumen prosedur operasi standar khusus perangkat lunak
- Desain - Mengatur kelompok perintah, model status, dan format output
- Implementasi - Membangun CLI Python berbasis Click dengan mode REPL, dukungan output
--json, dan undo/redo - Rencanakan pengujian - Membuat file
TEST.mddengan rencana pengujian unit dan end-to-end - Tulis pengujian - Menulis
test_core.py(pengujian unit dengan data sintetis) dantest_full_e2e.py(end-to-end dengan file nyata) - Dokumentasi - Menjalankan pytest dan menambahkan hasil lengkap ke
TEST.md - Publikasikan - Membuat
setup.py, mengonfigurasi titik masuk skrip konsol, menginstal ke PATH
Pada akhir fase 7, Anda memiliki CLI yang berfungsi yang terinstal di sistem Anda. Agen AI Anda dapat menemukannya dengan which cli-anything-gimp, memeriksanya dengan cli-anything-gimp --help, dan mulai mengeluarkan perintah.
Semua CLI yang dihasilkan mengikuti desain yang konsisten: output tabel yang mudah dibaca manusia secara default, output JSON yang dapat dibaca mesin dengan flag --json, status proyek yang persisten, undo/redo, dan mode REPL interaktif. Konsistensi ini penting: agen Anda tidak perlu mempelajari antarmuka yang berbeda untuk setiap alat.
Menginstal CLI-Anything
CLI-Anything adalah plugin berbasis Python. Ini bukan paket npm. Anda menginstalnya ke agen pengodean AI Anda, dan CLI yang dihasilkan adalah paket Python yang diinstal dengan pip install -e ..
Persyaratan:
- Python 3.10+
- Perangkat lunak target terinstal di sistem Anda
- Agen pengodean AI yang didukung (Claude Code adalah yang utama; Codex dan OpenCode bersifat eksperimental)
Claude Code (metode utama)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
Ini menginstal plugin dan membuat perintah garis miring /cli-anything tersedia di sesi Claude Code Anda.
OpenCode
Kloning repo, lalu salin file perintah dan HARNESS.md ke ~/.config/opencode/commands/. Ini menambahkan lima perintah garis miring: /cli-anything, /cli-anything-refine, /cli-anything-test, /cli-anything-validate, dan /cli-anything-list.
Codex
bash CLI-Anything/codex-skill/scripts/install.sh
Qodercli
bash CLI-Anything/qoder-plugin/setup-qodercli.sh
Catatan Windows
Plugin ini membutuhkan Git for Windows (yang mencakup bash dan cygpath) atau WSL. Shell Windows asli tidak didukung. Jika Anda melihat cygpath: command not found, instal Git for Windows dan coba lagi.
Menginstal CLI yang dihasilkan
Setelah plugin menghasilkan CLI untuk perangkat lunak Anda, instal ke PATH Anda:
cd <software>/agent-harness
pip install -e .
Ini menggunakan mode instalasi yang dapat diedit (-e), yang berarti perubahan Anda pada sumber yang dihasilkan tetap ada tanpa menginstal ulang.
Menghasilkan CLI pertama Anda
Setelah plugin terinstal, pembuatan hanya dengan satu perintah. Berikut adalah alur kerja untuk GIMP:
Di Claude Code:
/cli-anything ./gimp
Atau dari repositori GitHub:
/cli-anything https://github.com/blender/blender
Plugin ini memulai pipeline 7 fase. Ini memakan waktu beberapa menit tergantung pada ukuran basis kode dan berapa banyak permukaan API yang diekspos oleh perangkat lunak.
Selama fase 1 (Analisis), plugin membaca kode sumber dan membangun peta tindakan GUI ke panggilan API yang mendasarinya. Untuk editor gambar seperti GIMP, ini berarti menemukan semua fungsi yang membuat lapisan, menerapkan filter, mengekspor file, dan mengelola proyek. Ini menghasilkan dokumen SOP khusus perangkat lunak (GIMP.md) yang menjelaskan set lengkap operasi.
Selama fase 3 (Implementasi), ia membangun CLI menggunakan framework Click Python. Setiap perintah mendukung output --json. Setiap operasi yang memiliki status (membuka file, membuat proyek) menyimpan status dalam file JSON. CLI mencakup REPL interaktif dengan prompt berwarna dan riwayat persisten.
Struktur direktori yang dihasilkan terlihat seperti ini:
gimp/
agent-harness/
GIMP.md # Dokumen SOP perangkat lunak
setup.py
cli_anything/ # Paket namespace (tidak ada __init__.py - PEP 420)
gimp/
README.md
gimp_cli.py # Titik masuk CLI utama
core/ # Modul proyek, sesi, ekspor
utils/ # Kulit REPL, pembantu
tests/
test_core.py
test_full_e2e.py
TEST.md
Semua CLI yang dihasilkan berada di bawah namespace cli_anything.* (misalnya, cli_anything.gimp). Ini mencegah konflik penamaan jika Anda menghasilkan CLI untuk beberapa aplikasi.
Menggunakan CLI yang dihasilkan
Setelah menjalankan pip install -e . di direktori agent-harness, Anda memiliki CLI baru yang tersedia:
cli-anything-gimp --help
Ini menunjukkan semua grup perintah yang tersedia dan sub-perintahnya. Penamaan konsisten: setiap alat menghasilkan CLI bernama cli-anything-<software>.
Output yang mudah dibaca manusia (default)
# Mulai proyek baru
cli-anything-gimp project new --width 1920 --height 1080
# Daftar lapisan
cli-anything-gimp layer list
# Tambahkan lapisan
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"
# Terapkan filter
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3
# Ekspor
cli-anything-gimp export save --format png --output ./output.png
Output JSON untuk agen AI
Ketika agen AI Anda memanggil CLI, ia menggunakan --json untuk mendapatkan output yang dapat dibaca mesin:
cli-anything-gimp --json project new --width 1920 --height 1080
# Mengembalikan: {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}
cli-anything-gimp --json layer add -n "Background"
# Mengembalikan: {"status": "ok", "layer_id": "layer_001", "name": "Background"}
Output JSON konsisten di semua perintah: status, bidang khusus operasi, dan detail kesalahan jika ada yang salah.
Mode REPL interaktif
Untuk sesi yang diperpanjang, luncurkan REPL:
cli-anything-gimp
Ini membawa Anda ke shell interaktif dengan prompt berwarna, pelengkapan tab, dan riwayat persisten. Berguna saat Anda membangun alur kerja dan ingin mencoba perintah secara interaktif sebelum menskripnya.
Undo/redo
Operasi yang memodifikasi status mendukung tumpukan undo 50 tingkat:
cli-anything-gimp undo
cli-anything-gimp redo
Memperbaiki dan menguji CLI Anda
CLI yang dihasilkan tidak selalu lengkap pada percobaan pertama. Perintah /cli-anything:refine melakukan analisis celah dan menambahkan perintah yang hilang.
Perbaikan umum
/cli-anything:refine /home/user/gimp
Ini memindai CLI yang ada terhadap permukaan API perangkat lunak, mengidentifikasi operasi yang tidak tercakup, dan menambahkan perintah baru untuk celah tersebut.
Perbaikan terfokus
/cli-anything:refine /home/user/blender "particle systems and physics simulation"
Ketika Anda tahu area mana yang membutuhkan cakupan lebih, berikan deskripsi fokus. Plugin menargetkan bagian basis kode itu alih-alih menganalisis ulang semuanya.
Menjalankan pengujian
/cli-anything:test /home/user/gimp
Ini mengeksekusi suite pengujian dan memperbarui TEST.md dengan hasilnya. Proyek ini melaporkan 1.508+ pengujian yang lulus di 11 aplikasi dengan tingkat kelulusan 100%.
Validasi
/cli-anything:validate /home/user/gimp
Memeriksa harness CLI terhadap spesifikasi HARNESS.md untuk memastikan memenuhi semua persyaratan struktural.
Mencantumkan CLI yang tersedia
/cli-anything:list
/cli-anything:list --json # Output yang dapat dibaca mesin
/cli-anything:list --path /home # Mencari di direktori tertentu
Kasus penggunaan dunia nyata
CLI-Anything telah didemonstrasikan pada 11 aplikasi. Berikut adalah bagaimana setiap kategori memetakan ke alur kerja nyata.
Pipeline pemrosesan gambar dengan GIMP
Agen AI dapat memproses sejumlah gambar produk: mengubah ukuran ke dimensi standar, menerapkan watermark yang konsisten, mengekspor dalam berbagai format. Setiap langkah adalah perintah CLI terstruktur. Agen dapat menangani ratusan gambar tanpa interaksi manusia.
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
Generasi dokumen dengan LibreOffice
LibreOffice menghasilkan PDF nyata. Agen dapat membuat faktur, laporan, atau kontrak dari templat, mengisi data dinamis, dan mengekspor ke PDF, semuanya dari skrip.
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
Rendering 3D dengan Blender
Rendering Blender membutuhkan waktu, tetapi dapat diskrip. Agen dapat mengantre pekerjaan rendering, mengonfigurasi parameter adegan, dan mengelola output tanpa GUI:
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
Otomatisasi streaming dengan OBS Studio
OBS adalah alat siaran. Dengan CLI-Anything, Anda dapat menskrip transisi adegan, manajemen sumber, dan kontrol perekaman:
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
Integrasi CI/CD
Salah satu dari ini dapat dimasukkan ke dalam pipeline CI/CD. GitHub Action yang membangun rendering Blender pada setiap commit, atau alur kerja yang menghasilkan catatan rilis PDF dari templat LibreOffice, keduanya menjadi mudah.
Membangun alur kerja agen dengan Apidog
CLI-Anything menangani perangkat lunak lokal. Namun sebagian besar alur kerja agen produksi juga perlu memanggil API eksternal: mengunggah gambar yang diproses ke CDN, mendorong PDF yang dihasilkan ke sistem manajemen dokumen, mengirim video yang dirender ke platform tinjauan.
Apidog menangani sisi tersebut. Ini adalah klien API gratis untuk menguji, mendokumentasikan, dan mengotomatiskan panggilan REST API.
Berikut adalah contoh konkret: Anda sedang membangun agen yang memproses gambar produk dengan GIMP dan mengunggahnya ke API penyimpanan cloud. CLI-Anything memberi Anda perintah GIMP. Apidog memungkinkan Anda menguji API penyimpanan sebelum Anda menulis kode aplikasi apa pun.
Di Apidog, Anda akan:
- Menyiapkan lingkungan dengan kredensial API Anda yang disimpan sebagai variabel
- Menguji titik akhir unggah dengan file sampel untuk mengonfirmasi format permintaan
- Menjalankan pernyataan pada respons untuk memverifikasi URL file kembali dengan benar
- Mengekspor permintaan yang berfungsi sebagai perintah curl atau cuplikan kode untuk dimasukkan ke dalam skrip agen Anda
Ini menghemat siklus debugging di mana Anda menulis kode, menjalankannya, mendapatkan kesalahan samar, dan mencoba mencari tahu apakah masalahnya ada pada perintah GIMP Anda atau panggilan API Anda. Anda tahu API berfungsi sebelum Anda mengintegrasikannya.
Apidog juga mendukung suite pengujian otomatis. Setelah alur kerja Anda berfungsi, Anda dapat menambahkan pernyataan pengujian yang berjalan pada setiap eksekusi untuk menangkap regresi.
Batasan yang perlu diketahui
Dukungan Windows membutuhkan Git Bash atau WSL
CLI yang dihasilkan berbasis Python dan mengandalkan penanganan path bergaya bash. Di Windows, Anda membutuhkan Git for Windows (yang mencakup bash dan cygpath) atau WSL. PowerShell asli tidak didukung.
Perangkat lunak target harus terinstal
CLI-Anything tidak membundel perangkat lunak yang dibungkusnya. GIMP, Blender, LibreOffice, dan alat lain perlu diinstal pada mesin yang sama di mana Anda menjalankan CLI yang dihasilkan. CLI memanggil backend aplikasi nyata secara langsung.
Output hanya Python
Semua CLI yang dihasilkan adalah aplikasi Python Click. Tidak ada opsi untuk menghasilkan CLI dalam bahasa lain. Jika alur kerja Anda membutuhkan wrapper CLI Node.js atau Go, Anda perlu membangunnya secara terpisah.
Claude Code adalah platform yang stabil
Claude Code adalah lingkungan utama dan yang paling banyak diuji. Integrasi Codex dan OpenCode ditandai sebagai eksperimental. Fitur mungkin bekerja secara tidak konsisten di luar Claude Code.
Kualitas generasi tergantung pada basis kode
Plugin ini menganalisis kode sumber untuk menemukan API di balik tindakan GUI. Jika basis kode tidak terstruktur dengan baik, sangat buram, atau sangat terikat pada status GUI, analisis mungkin melewatkan perintah atau menghasilkan wrapper yang tidak lengkap. Langkah perbaikan membantu, tetapi perangkat lunak proprietary yang kompleks bisa lebih sulit untuk dibungkus dengan bersih.
FAQ
Apakah CLI-Anything bekerja dengan perangkat lunak apa pun?
Pada prinsipnya, ya. Ia dapat menghasilkan CLI untuk perangkat lunak apa pun dengan basis kode yang dapat diakses. Dalam praktiknya, ia bekerja paling baik dengan perangkat lunak sumber terbuka di mana kode sumber dengan jelas memetakan tindakan GUI ke panggilan API yang mendasarinya. Proyek ini telah mendemonstrasikannya pada GIMP, Blender, Inkscape, Audacity, Kdenlive, Shotcut, OBS Studio, Draw.io, LibreOffice, AnyGen, dan Zoom.
Apakah proyek ini gratis untuk digunakan?
Ya. CLI-Anything dilisensikan di bawah MIT dan sepenuhnya sumber terbuka di github.com/HKUDS/CLI-Anything.
Apakah saya perlu tahu Python untuk menggunakannya?
Tidak. Anda tidak menulis kode Python apa pun. Plugin ini menghasilkan semua kode Python. Anda memang perlu Python 3.10+ terinstal di sistem Anda untuk menjalankan CLI yang dihasilkan.
Bisakah saya menggunakan CLI yang dihasilkan dari kode saya sendiri, bukan hanya dari agen AI?
Ya. CLI yang dihasilkan adalah alat baris perintah biasa. Anda dapat memanggilnya dari skrip shell, Makefile, kode Python, atau apa pun yang dapat menjalankan subproses.
Apa itu file HARNESS.md?
HARNESS.md adalah dokumen spesifikasi yang mendefinisikan seperti apa harness yang dihasilkan CLI-Anything. Ini mencakup struktur perintah, format output, persyaratan pengujian, dan pengemasan. Langkah validasi memeriksa CLI yang Anda hasilkan terhadap spesifikasi ini.
Bisakah saya menghasilkan CLI untuk alat internal yang dibangun perusahaan saya?
Ya. Arahkan plugin ke basis kode apa pun di sistem file Anda, termasuk alat internal pribadi. Plugin berjalan secara lokal dan tidak mengirim kode sumber Anda ke mana pun.
Bagaimana ini dibandingkan dengan Model Context Protocol (MCP)?
MCP menghubungkan agen AI ke layanan eksternal melalui protokol server terstandarisasi. CLI-Anything menghasilkan wrapper CLI lokal untuk aplikasi GUI yang tidak memiliki API. Mereka menangani masalah yang berbeda. Anda mungkin menggunakan keduanya: MCP untuk layanan cloud, CLI-Anything untuk perangkat lunak desktop.
