aicli-omniroute
v1.0.0
Published
AICLI - AI Chat CLI & Code Agent for OmniRoute & OpenAI-Compatible APIs
Readme
AICLI adalah Command Line Interface (CLI) chat agent yang interaktif dan modern, dibuat dengan TypeScript, Node.js, Commander, dan @clack/prompts. Alat ini tidak hanya sekadar antarmuka percakapan, tetapi juga dilengkapi dengan kemampuan agentic untuk membaca, menulis, mengedit, mencari, dan menjalankan perintah di dalam workspace Anda secara aman.
Kompatibel secara native dengan API bergaya OpenAI/OmniRoute (OpenAI, Ollama, LocalAI, vLLM, DeepSeek, dsb).
Fitur Utama
- Konsep Workspace Trust (Keamanan Tingkat Tinggi) — Layaknya VS Code, AI hanya diizinkan mengeksekusi aksi file jika direktori saat ini telah disetujui (Trusted / Session / Restricted).
- Agentic Code Agent — Mendukung modifikasi dan analisis kode mandiri dengan built-in tools:
write_file,read_file,list_dir,grep_search,patch_file, danrun_command. - UI CLI yang Memukau — Banner ASCII dinamis, dashboard sistem dengan indikator status, serta dukungan multitema (
default,magenta,emerald,sunset,ocean,monochrome). - Input Box Modern & Interaktif — Kursor berkedip, navigasi lengkap (Panah, Home/End, Ctrl+Kiri/Kanan), inline autocomplete, serta bracketed paste (paste multiline rapi).
- Auto Context Injection (
@file) — Ketik@pada prompt untuk mencari dan menyisipkan file secara real-time ke konteks AI (dengan deteksi bahasa blok kode). - Izin Berbasis Skala Penuh — Tiga mode perizinan:
ask(wajib konfirmasi),auto(otomatis jalan), atauoff(matikan akses file). - Streaming Real-time & Markdown Formatting — Respon reasoning ditangani secara seamless, dukungan penuh terhadap sintaks markdown di dalam terminal, dan syntax highlighting blok kode.
- Self-Healing Auto-Fix — Secara otomatis mendeteksi error saat build/compile setelah file dimodifikasi, dan memberikan feedback kepada AI untuk perbaikan otomatis (maks. 3 percobaan).
- Fitur Undo — Batalkan aksi modifikasi AI terakhir secara instan lewat
/undo.
🚀 Instalasi & Konfigurasi
Prasyarat
- Node.js versi 18 atau lebih baru (direkomendasikan versi LTS).
- Koneksi ke server AI (OpenAI, OmniRoute Gateway, Ollama, LocalAI, dll).
Langkah Instalasi
Clone repositori dan masuk ke direktori:
git clone https://github.com/elproject-dev/Aicli_Omniroute_CodeCli.git cd Aicli_Omniroute_CodeCliInstall dependensi:
npm installKompilasi TypeScript:
npm run buildLink secara global (Opsional):
npm linkSetelah di-link, Anda bisa menggunakan perintah
aiclilangsung dari mana saja.
🔧 Environment Variables
Aplikasi akan memandu Anda menyimpan URL dan API Key secara aman ke konfigurasi global (~/.aicli/.env) saat pertama kali dijalankan.
Namun, Anda juga dapat mendefinisikannya secara manual di file .env direktori proyek Anda untuk override per-proyek.
| Variabel | Deskripsi | Default |
| --------------------- | ------------------------------------------------------------------ | --------------- |
| OPENAI_BASE_URL | URL base untuk API yang kompatibel dengan OpenAI / OmniRoute | — |
| OPENAI_API_KEY | API Key untuk layanan AI Anda | — |
| OPENAI_MODEL | Model default yang digunakan | gpt-3.5-turbo |
| FILE_PERMISSION_MODE| Mode izin akses file: ask, auto, atau off | ask |
| CLI_THEME | Tema warna CLI (default, magenta, ocean, dll) | default |
| ALLOWED_MODELS | (Opsional) Filter daftar model yang boleh digunakan (dipisah koma) | Semua model |
🛠️ Penggunaan
Menjalankan CLI
Jika sudah di-link secara global:
aicli chatAtau menggunakan npm dari dalam direktori source:
npm start
# Atau mode pengembangan
npm run devOpsi Perintah
aicli chat [options]
Options:
-m, --model <model> Model yang digunakan (default: dari env OPENAI_MODEL)
-s, --system <prompt> System prompt (default: "You are a helpful AI assistant.")
-b, --base-url <url> Base URL untuk OpenAI-compatible API
-k, --api-key <key> API Key untuk layanan
-h, --help Tampilkan bantuan🕹️ Perintah Pintasan Interaktif
Selama berada di alur chat, ketik / untuk membuka panel aksi interaktif atau gunakan perintah langsung:
| Perintah | Deskripsi |
| ----------- | ---------------------------------------------------------------- |
| / | Membuka menu utama (dropdown interaktif). |
| /model | Memilih model yang tersedia dari server secara dinamis. |
| /file | Melampirkan file konteks tambahan. |
| /theme | Mengganti tema warna terminal. |
| /izin | Mengubah pengaturan izin tool file (ask / auto / off). |
| /trust | Mengelola status Workspace Trust. |
| /autofix | Mengaktifkan/menonaktifkan Auto-Fix Build Errors. |
| /undo | Membatalkan modifikasi file terakhir. |
| /clear | Membersihkan riwayat percakapan. |
| /reset | Menghapus konfigurasi awal & setup ulang dari nol. |
| /exit | Keluar dari program (dapat juga menggunakan exit atau quit). |
🤝 Contributing
Kami sangat menyambut kontribusi dari komunitas! Baik itu pelaporan bug, usulan fitur baru, hingga pull request.
Harap baca CONTRIBUTING.md untuk panduan lengkap tentang bagaimana Anda dapat mulai berkontribusi pada AICLI.
Mari bangun CLI Agent terbaik bersama-sama! 🚀
❓ Troubleshooting
- Tidak ada respons dari AI? Pastikan
OPENAI_BASE_URLdanOPENAI_API_KEYterkonfigurasi dengan benar (tersimpan otomatis di~/.aicli/.env). - File
@filetidak ditemukan? Sistem keamanan hanya mengizinkan injeksi file di dalam workspace aktif tempat perintah dijalankan (dengan batas maksimal 500 KB). - Efek Bintang / Markdown tidak rapi? Kami telah memperbaikinya sehingga kode markdown akan di-render menggunakan style terminal native alih-alih raw teks. Pastikan versi terbaru telah ter-build!
📄 Lisensi
Project ini dilisensikan di bawah lisensi ISC.
