Autonomous AI Browser Copilot Extension with Human-like DOM Navigation, Multi-Model Gemini Intelligence, and Voice Mic Dictation.
DeepDOM Agent adalah ekstensi browser Google Chrome (Manifest V3) revolusioner yang dirancang untuk mengemudikan peramban web secara otonom sesuai instruksi teks maupun dikte suara pengguna. Berbeda dengan automasi browser konvensional yang kaku dan mudah terdeteksi anti-bot, DeepDOM Agent menggabungkan kinematika kursor manusiawi (kurva BΓ©zier & jitter natural), ritme ketikan keyboard Gaussian, Set-of-Marks visual indexing 2 arah, dan Multi-Model Gemini Fallback Cascade.
Ekstensi ini dibangun secara Serverless / Client-Side First β seluruh ReAct loop, sanitasi DOM, dan message broker berjalan langsung di dalam Chrome Service Worker dan SidePanel tanpa memerlukan server backend terpisah.
Agen dapat memutuskan secara mandiri apakah suatu rangkaian aksi dapat dieksekusi sekaligus dalam satu putaran (batching) tanpa perlu observasi ulang (misal: ketik Username β ketik Password β klik Login), memangkas waktu eksekusi task hingga 70%.
- Natural Mouse Movement: Kursor bergerak menggunakan kurva BΓ©zier kubik parametrik dengan interpolasi kecepatan manusiawi dan random perturbation.
- Gaussian Typing Cadence: Pengetikan karakter dengan variasi jeda per karakter (bukan
element.value = ...instan), memicu event keyboard standar (keydown,keypress,keyup,input). - Inertial Page Scrolling: Scroll halaman menggunakan dinamika easing halus untuk memuat lazy-load konten.
Mendukung gemini-2.5-flash, gemini-2.0-flash, gemini-1.5-pro, dan model kustom dengan sistem automatic fallback cascade apabila terjadi limit kuota atau rate-limit. Dilengkapi fitur Crosscheck API untuk menguji latensi dan kesiapan model secara realtime.
Interaksi suara cepat ala Google Voice Search berbasis Web Speech API dan visualizer gelombang audio reaktif (Web Audio API Analyser). Berpegang pada prinsip Zero-TTS β AI merespons secara visual lewat navigasi browser dan ringkasan teks terstruktur tanpa kebisingan suara sintesis.
Ketika membutuhkan konfirmasi atau data sensitif, agen menampilkan widget interaktif langsung di chat:
- π Choice Widget: Pilihan opsi radio adaptif dengan input kustom.
- π Form Widget: Input formulir kredensial/data terstruktur yang aman.
- π‘οΈ Confirm & Manual Takeover: Minta persetujuan aksi penting atau jeda saat pengguna ingin berinteraksi manual.
- 3 Mode Keputusan (Autonomy Policy):
- π€
Agent Decide: AI otomatis dan adaptif menentukan kapan butuh review. - β‘
Always Proceed: Eksekusi mandiri tanpa henti (Full Autonomy). - π‘οΈ
Request Review: Selalu konfirmasi sebelum mengeksekusi aksi penting (Semi-Auto).
- π€
Ekstensi secara otomatis mendeteksi perpindahan fokus tab, pembukaan tab baru (target="_blank" atau popup window), dan langsung menginjeksi kontrol agen ke tab target tanpa kehilangan konteks tugas.
SidePanel dilengkapi status monitor koneksi realtime:
- π’ Online: Service Worker aktif, Internet terhubung, dan Gemini API siap.
- π‘ Reconnect: Sedang memulihkan koneksi atau retry request API.
- π΄ Offline: Koneksi internet terputus (
navigator.onLine === false). - βͺ Disconnect: Service Worker mati atau Gemini API Key belum terpasang.
- Termasuk tombol "Tes Ping & Reconnect" dengan pengukuran latensi milidetik (ms).
Sanitasi pohon DOM cerdas yang membuang elemen redundan (SVG tersembunyi, skrip, tag non-interaktif) menjadi ringkasan semantik kompak (< 1,500 token) dengan visual badge penomoran [1]..[N] pada halaman web.
flowchart TB
subgraph Browser ["π Google Chrome Browser"]
SP["π» SidePanel UI (Shadcn Dark)<br/>β’ Chat Stream & Thought Accordion<br/>β’ Voice Mic Waveform Visualizer<br/>β’ Execution Config Popover<br/>β’ Backend Status Monitor"]
SW["βοΈ Background Service Worker<br/>β’ Master Message Broker<br/>β’ Multi-Tab Auto-Tracker<br/>β’ Tab Awareness Coordinator"]
CS["π Content Script (Active Web Page)<br/>β’ Two-Way DOM Tree Pruner<br/>β’ Set-of-Marks Badge Overlay<br/>β’ BΓ©zier & Gaussian Humanizer<br/>β’ In-Page Floating HUD"]
end
subgraph AI ["π§ Google Gemini Cloud Engine"]
API["β‘ generativelanguage.googleapis.com<br/>β’ Gemini 2.5 Flash / 2.0 Flash / 1.5 Pro<br/>β’ Multi-Action Batch Reasoning<br/>β’ Multimodal Screenshot Analysis"]
end
SP <-->|Chrome Runtime Message Bus| SW
SW <-->|DOM Snapshots & Action Dispatch| CS
SW <-->|JSON Prompts & Actions Payload| API
- Google Chrome (Versi 116 ke atas dengan dukungan Chrome SidePanel).
- Node.js (Versi 18+ disarankan).
- Google Gemini API Key (Dapatkan gratis di Google AI Studio).
Clone repository dan pasang paket yang diperlukan:
git clone https://github.com/Fadhlijeu/DeepDOM-Agent.git
cd DeepDOM-Agent
npm installSalin template konfigurasi dan masukkan API Key Gemini Anda:
cp .env.example .envIsi file .env:
VITE_GEMINI_API_KEY=AIzaSyYourGeminiApiKeyHere(Catatan: Anda juga dapat memasukkan atau mengganti API Key langsung dari menu Settings di SidePanel ekstensi).
Untuk memantau perubahan file kode secara realtime:
npm run devUntuk mengompilasi bundel produksi ke direktori dist/:
npm run buildnpm test- Buka browser Google Chrome dan navigasikan ke alamat:
chrome://extensions/ - Aktifkan sakelar "Developer mode" di pojok kanan atas.
- Klik tombol "Load unpacked" (Muat yang belum dibongkar) di pojok kiri atas.
- Pilih folder
dist/di direktori proyek ini:D:\PROJECT\DeepDOM-Agent\dist - Buka tab web apa pun (misal:
https://www.google.com). - Klik ikon puzzle ekstensi pada toolbar Chrome, lalu pilih DeepDOM Agent atau buka SidePanel.
- Buka menu Konfigurasi di atas input chat untuk memilih Model AI dan Mode Keputusan, lalu mulai beri instruksi!
DeepDOM-Agent/
βββ public/
β βββ manifest.json # Chrome Extension Manifest V3
β βββ icons/ # Logo & icon ekstensi (16, 48, 128)
βββ src/
β βββ agent/
β β βββ agent_loop.ts # Master ReAct execution loop & lifecycle
β β βββ gemini_client.ts # Gemini API client & prompt engineering
β β βββ model_manager.ts # Multi-model CRUD & API cross-checking
β β βββ session_manager.ts # Multi-session chat history storage
β β βββ verifier.ts # Action schema & parameter validation
β βββ background/
β β βββ service_worker.ts # Extension broker & Multi-Tab tracker
β βββ content/
β β βββ bezier.ts # Kinematika kursor BΓ©zier manusiawi
β β βββ captcha_detector.ts # Deteksi anti-bot & CAPTCHA
β β βββ dom_indexer.ts # Set-of-Marks visual badge indexing
β β βββ humanizer.ts # Gaussian typing cadence & smooth scroll
β β βββ in_page_hud.ts # Floating control bar di atas halaman
β β βββ tag_overlay.ts # Visual marker renderer [1]..[N]
β β βββ tree_pruner.ts # DOM filtering & token reduction (<1.5k tokens)
β β βββ content.ts # Content script bootstrap & message dispatcher
β βββ sidepanel/
β β βββ index.html # UI SidePanel (Shadcn Dark Mode)
β β βββ main.ts # SidePanel UI controller & status monitor
β β βββ style.css # Tailwind CSS & custom design tokens
β βββ types/
β β βββ agent.ts # Action schemas, messages & session types
β β βββ dom.ts # DOM snapshot & mutation types
β βββ voice/
β βββ voice_controller.ts # Web Speech API & audio waveform analyser
βββ tests/ # Vitest unit test suite
βββ workflows/ # 12 Dokumen spesifikasi arsitektur mendalam
βββ progress.md # Memori kerja progres sesi & milestone
βββ package.json
βββ tsconfig.json
βββ tailwind.config.js
βββ vite.config.ts
Seluruh desain sistem dan spesifikasi teknis mendalam didokumentasikan di folder workflows/:
| File | Topik / Spesifikasi |
|---|---|
00_overview.md |
Visi utama, nilai diferensiasi produk, dan prinsip dasar. |
01_requirements.md |
Kebutuhan fungsional, non-fungsional, dan batasan teknis. |
02_architecture.md |
Arsitektur Manifest V3, IPC message bus, dan state synchronization. |
03_agent_pipeline_deepseek_harness.md |
Loop ReAct, schema aksi, validasi verifier, dan refleksi kesalahan. |
04_dom_filtering_indexing.md |
Algoritma sanitasi DOM 2 arah & Set-of-Marks visual overlay. |
05_humanized_execution_engine.md |
Kinematika BΓ©zier, ritme Gaussian keyboard, dan inersial scroll. |
06_ai_model_strategy_gemini.md |
Strategi multi-model, prompt engineering, dan cascading fallback. |
07_voice_mic_subsystem.md |
Web Speech API dictation, visualizer gelombang, dan kebijakan Zero-TTS. |
08_ui_ux_design_system.md |
Desain antarmuka SidePanel bergaya Shadcn Dark & floating HUD. |
09_captcha_edge_cases.md |
Penanganan anti-bot, Cloudflare Turnstile, dan graceful human fallback. |
10_milestones_roadmap.md |
Roadmap tahapan pengembangan Phase 0 hingga Phase 6. |
11_open_questions_and_recommendations.md |
Catatan arsitektur masa depan dan rekomendasi optimasi. |
- Enter: Mengirim instruksi tugas dari textarea.
- Shift + Enter: Membuat baris baru di textarea tanpa langsung mengirim.
- Alt + M (opsional): Trigger mikrofon untuk dikte suara instan.
- Tombol Konfigurasi: Mengubah model AI atau mengganti mode otonomi (Agent Decide / Always Proceed / Request Review) dengan cepat.
- Backend Status Pill: Klik status di header untuk melihat latensi ping realtime dan status Service Worker.
Proyek ini dirilis di bawah lisensi MIT License. Bebas digunakan, dimodifikasi, dan dikembangkan untuk keperluan riset maupun komersial.