# Aplikasi Pendamping ## Apa Itu Aplikasi Pendamping? Aplikasi pendamping adalah aplikasi native untuk iOS, Android, dan macOS yang terhubung ke Gateway Anda sebagai **node**. Node mengekspos kemampuan perangkat, kamera, kanvas, perekaman layar, lokasi, suara, dan eksekusi sistem, ke agen Anda. Bayangkan seperti ini: Gateway adalah otak, dan aplikasi pendamping adalah tangan dan mata di perangkat Anda. ## Cara Kerja Node 1. **Hubungkan**, Aplikasi pendamping terhubung ke Gateway Anda melalui WebSocket 2. **Pasangkan**, Perangkat baru melalui proses persetujuan pemasangan 3. **Daftarkan kemampuan**, Aplikasi memberi tahu Gateway apa yang dapat dilakukannya (kamera, kanvas, lokasi, dll.) 4. **Agen meminta**, Selama percakapan, agen dapat meminta node untuk mengambil foto, merekam layar, merender kanvas, dan lainnya Node **bukan gateway**, mereka tidak menjalankan AI sendiri. Mereka adalah perangkat periferal yang memperluas kemampuan agen Anda. ## Aplikasi Pendamping macOS Aplikasi macOS berada di bilah menu Anda dan berfungsi sebagai node pendamping dan manajer gateway. ### Kemampuan - **Kanvas**, Render konten web interaktif di jendela native - **Kamera**, Ambil foto dan klip video (depan/belakang) - **Perekaman Layar**, Perekaman layar penuh atau per-aplikasi - **Eksekusi Sistem**, Jalankan perintah shell di Mac (dibatasi oleh persetujuan eksekusi) - **Notifikasi**, Kirim notifikasi macOS native dengan opsi prioritas - **Lokasi**, GPS bila tersedia ### Fitur Tambahan - **Manajemen Gateway**, Mulai, hentikan, dan pantau Gateway - **Kepemilikan Izin**, Mengelola izin TCC macOS (Notifikasi, Aksesibilitas, Perekaman Layar, Mikrofon, Pengenalan Ucapan, AppleScript) - **Deep Links**, Skema URL `neotask://` untuk meluncurkan agen dengan parameter - **Instalasi CLI**, Menginstal alat baris perintah `neotask` ## Aplikasi iOS Aplikasi iOS terhubung sebagai node ke Gateway Anda, membawa kemampuan mobile ke agen Anda. ### Kemampuan - **Kanvas**, Rendering konten interaktif berbasis SwiftUI - **Kamera**, Foto dan klip video (kamera depan/belakang) - **Perekaman Audio**, Tangkapan mikrofon - **Lokasi**, GPS dengan pemilihan akurasi - **Notifikasi**, Notifikasi push iOS native ### Fitur - **Penemuan**, Menemukan Gateway Anda melalui Bonjour (LAN), Tailscale (VPN), atau entri manual - **Pemasangan**, Pemasangan perangkat aman dengan persetujuan dari Gateway - **Wake Suara**, Aktivasi wake word untuk interaksi hands-free - **Mode Bicara**, Percakapan suara berkelanjutan - **Share Extension**, Bagikan konten dari aplikasi lain langsung ke agen Anda - **A2UI**, Rendering UI berbasis agen di kanvas perangkat ### Keterbatasan - Desain foreground-first (iOS menangguhkan koneksi WebSocket di latar belakang) - Pembatasan perintah latar belakang yang ketat - Saat ini dalam pratinjau internal ## Aplikasi Android Aplikasi Android terhubung sebagai node dengan kemampuan serupa iOS. ### Kemampuan - **Kanvas**, Rendering UI berbasis Jetpack Compose - **Kamera**, Foto dan video (depan/belakang, dibatasi izin) - **Perekaman Layar**, Tangkapan layar sistem (Android 10+) - **Lokasi**, GPS dengan mode akurasi - **Pengiriman SMS**, Di perangkat dengan dukungan telepon - **Obrolan & Riwayat**, Lihat riwayat percakapan di perangkat ### Fitur - **Layanan Foreground**, Notifikasi persisten menjaga koneksi tetap aktif - **Sesi Bersama**, Sesi yang sama di semua node yang terhubung - **Android Modern**, Memerlukan Android 12+ (API 31) ## Host Node Headless Jalankan node tanpa UI apa pun, ideal untuk server build, mesin jarak jauh, atau kotak Linux headless. ### Kemampuan - **Eksekusi Sistem**, Jalankan perintah di host node - **Daftar Putih Perintah**, Konfigurasikan perintah mana yang dapat dieksekusi node - **Layanan Persisten**, Instal sebagai layanan launchd/systemd ### Kasus Penggunaan - Agen build CI/CD, Biarkan agen AI Anda memicu build di server jarak jauh - Otomasi home lab, Jalankan perintah di Raspberry Pi atau server rumah - Orkestrasi multi-mesin, Koordinasikan tugas di beberapa mesin ## Pemasangan Perangkat ### Alur Pemasangan 1. Aplikasi pendamping menyajikan identitas perangkatnya (sidik jari + kunci publik) 2. Gateway mengeluarkan permintaan persetujuan pemasangan 3. Anda menyetujui perangkat melalui aplikasi desktop atau dasbor 4. Gateway mengeluarkan token perangkat untuk koneksi di masa mendatang ### Model Kepercayaan - **Perangkat lokal** (loopback) disetujui otomatis untuk kenyamanan - **Perangkat non-lokal** memerlukan persetujuan eksplisit - Token perangkat disimpan secara lokal dan digunakan kembali saat menghubungkan kembali ## Persetujuan Eksekusi Untuk node yang dapat menjalankan perintah sistem (macOS, host headless), persetujuan eksekusi mengontrol apa yang diizinkan: - **Mode daftar putih**, Hanya perintah yang telah disetujui sebelumnya yang dapat dieksekusi - **Mode tanya**, Perintah yang tidak dikenal meminta persetujuan Anda - **Mode penuh**, Tanpa pembatasan (gunakan dengan hati-hati) Konfigurasikan daftar putih per-node untuk mengontrol secara tepat apa yang dapat dilakukan setiap perangkat.