UDAA Project Handoff Context Project Name: Universal Digital Accessibility Agent (UDAA) Current Status: Version 1.0 (Live Browser Stable) Last Updated: 2026-03-14
馃殌 Mission Statement UDAA is a multimodal AI agent designed to assist users with accessibility needs by autonomously navigating digital interfaces. It observes the screen via real-time screenshots, processes the UI context using Gemini, and executes native browser actions (click, type, scroll).
馃洜 Technical Architecture The system uses a Hybrid architecture to balance user persistence with AI autonomy.
- Backend: FastAPI (Python 3.11).
- Frontend: Next.js 15+ (TypeScript, Tailwind CSS).
- Browser Control:
- Remote Mode: Playwright (Isolated sandboxed browser).
- Live Mode: Chrome Extension + Python
webbrowsermodule. This bypasses profile locks and allows the AI to operate within the user's logged-in Chrome session (Netflix, WhatsApp, etc.).
- AI Core:
- Action Engine:
gemini-2.5-computer-use-preview-10-2025. - Narration Engine:
gemini-2.0-flash-exp(via Gemini Live API).
- Action Engine:
馃挕 Key Features & Recent Fixes (CRITICAL)
-
Live Browser Persistence
- We moved away from Playwright for Live Mode to avoid OS-level file locks on the user's Chrome profile.
- The backend now opens a standard Chrome tab with a
udaa_session_idparameter. The extension auto-connects to the backend via WebSocket.
-
Keystroke & Action Parsing
- Gemini's Computer Use model emits special strings like
backspace*11orcontrol+a. - The
content_script.jsnow contains a robust parser to translate these strings into real DOM keyboard events and value deletions. - Coordinates are scaled from Gemini's 1000x1000 grid to the user's actual
window.innerWidth/Height.
- Gemini's Computer Use model emits special strings like
-
UI Status Banner
- Added a persistent, dark-themed overlay banner in the active tab.
- It pulses blue during actions and turns green upon task completion.
- It works even on sites with strict Content Security Policies (CSP) via a fallback renderer in
content_script.js.
鈿欙笍 Environment Configuration
Ensure backend/.env has:
COMPUTER_USE_MODEL=gemini-2.5-computer-use-preview-10-2025LIVE_MODEL=gemini-2.0-flash-expUSE_FIRESTORE=false(unless you have a Service Account key).
馃 Collaboration Protocol
CRITICAL (Windows): Do NOT use --reload if you intend to use the Remote Browser (Playwright). It conflicts with the WindowsProactorEventLoopPolicy.
- Start Backend:
cd backend && .\venv\Scripts\python.exe -m app.main - Start Frontend:
cd frontend && npm run dev - Extension: Load the
extension/folder as an "Unpacked Extension" in Chrome.
馃搨 Check task.md for the current checklist status.