InuBot Agent
Autonomous AI Coding Agent untuk VS Code — Otonom, Aman, dan Mendukung Semua Provider AI.
InuBot Agent adalah ekstensi AI coding otonom bergaya Cline yang ringan, stabil, dan menggunakan endpoint OpenAI-compatible pilihan Anda sendiri (BYOK — Bring Your Own Key). Dilengkapi Proteksi Kode & Rollback History otomatis untuk menjaga kode Anda tetap aman.
✨ Fitur Unggulan
🤖 Autonomous Agent
- Menjalankan multi-step task secara mandiri (baca file → analisis → tulis → verifikasi)
- 9 built-in tools:
read_file, write_file, apply_diff, execute_command, search_files, list_dir, find_files, get_diagnostics, fetch_web_content
- Batas iterasi konfigurabel untuk mencegah infinite loop
🛡️ Proteksi Kode & Rollback History
- Snapshot otomatis sebelum file diubah — kode Anda aman dari kerusakan
- Rollback per-file atau seluruh task dengan satu klik
- History tersimpan ke disk, bertahan setelah VS Code restart
🔌 Multi-Provider BYOK
Pilih provider AI favorit Anda:
| Provider |
Default Model |
URL |
| InuBot Gateway (default) |
inubot-coder |
roo.wisnuapps.web.id/v1 |
| Google Gemini |
gemini-2.0-flash |
AI Studio |
| Groq (ultra-fast) |
llama-3.3-70b-versatile |
Groq Cloud |
| OpenRouter |
google/gemini-2.0-flash-001 |
OpenRouter |
| Ollama (local) |
qwen2.5-coder:latest |
localhost |
🔒 Keamanan
- API Key tersimpan di VS Code
SecretStorage (terenkripsi, tidak pernah plaintext)
- Path traversal protection — tidak bisa akses file di luar workspace
- File sensitif (
.env, .git) terlindungi dari overwrite
🚀 Cara Memulai
- Install ekstensi InuBot Agent
- Klik ikon InuBot di Activity Bar (sidebar kiri)
- Klik tombol ⚙️ Settings untuk mengisi API Key
- Pilih provider preset (Gemini, Groq, OpenRouter, Ollama, atau InuBot Custom)
- Mulai chat dan biarkan agent bekerja secara otonom!
Cara Penggunaan Chat
# Chat biasa
"Jelaskan fungsi di src/utils.ts"
# Mention file langsung dengan @
"@src/App.tsx ada bug di line 45, tolong perbaiki"
# Attach gambar (klik 📷)
"Analisis screenshot error ini dan perbaiki kodenya"
# Multi-step task
"Buat REST API sederhana untuk user management dengan Express.js"
Keyboard Shortcuts
Enter — Kirim pesan
Shift+Enter — Baris baru
@ — Trigger file mention autocomplete
⚙️ Konfigurasi
Buka Settings via tombol ⚙️ di header panel chat:
| Setting |
Default |
Keterangan |
baseUrl |
https://roo.wisnuapps.web.id/v1 |
Base URL OpenAI-compatible |
apiKey |
(kosong) |
API Key (tersimpan aman di SecretStorage) |
modelId |
inubot-coder |
Model ID yang digunakan |
enableTools |
true |
Toggle tool calling ON/OFF |
requestTimeoutMs |
60000 |
Timeout per request (ms) |
maxAgentIterations |
25 |
Batas langkah agent per task |
autoApproveTools |
Read-only tools |
Tools yang dieksekusi otomatis |
temperature |
0.2 |
Sampling temperature (0 = presisi, 1 = kreatif) |
🛡️ Rollback & Checkpoint
Setiap kali agent mengubah file, snapshot otomatis disimpan:
- Klik tombol 🛡️ di header untuk melihat daftar checkpoint
- Klik Rollback pada kartu tool untuk mengembalikan file tersebut
- Gunakan Rollback Task untuk membatalkan semua perubahan dalam satu sesi
🔧 Troubleshooting
API Key tidak tersimpan?
- Isi API Key melalui panel Settings (⚙️) di webview, bukan di VS Code native settings
- API Key disimpan per-mesin via SecretStorage
Model tidak support tool calling?
- Buka Settings → matikan toggle Agentic Tools
- Agent akan bekerja dalam mode text-only (cocok untuk provider tertentu)
Respons terpotong (token limit)?
- Ketik "lanjutkan" untuk melanjutkan respons
- Atau perkecil scope permintaan
Timeout / server tidak merespons?
- Cek koneksi ke URL yang dikonfigurasi
- Naikkan
requestTimeoutMs di Advanced Settings jika perlu
🏗️ Arsitektur
inubot-agent/
├── src/ # Extension Host (Node.js)
│ ├── extension.ts # Entry point, registrasi commands
│ ├── types.ts # Kontrak tipe & protokol pesan
│ ├── api/openaiClient.ts # SSE streaming + timeout protection
│ ├── agent/
│ │ ├── AgentLoop.ts # Loop otonom: stream → tool → stream
│ │ ├── tools.ts # 9 tools + safety guards
│ │ ├── checkpointManager.ts # Snapshot & rollback system
│ │ └── systemPrompt.ts # System prompt builder
│ └── webview/ChatViewProvider.ts # Jembatan Webview ↔ Host
└── webview-ui/ # React UI (dibangun dengan Vite)
└── src/
├── App.tsx # State management root
└── components/ # Header, Chat, Input, Settings, dll
📄 Lisensi
MIT License — bebas digunakan, dimodifikasi, dan didistribusikan.
InuBot Agent — Kode lebih cepat, lebih aman, dengan AI yang otonom.