AI Assistant
Built-in AI, running locally. Doda’s AI Assistant communicates with Ollama via a native C++ HTTP service — no cloud, no tracking, no data leaving your machine.
Overview
Unlike browser AI features that send your data to remote servers, Doda’s AI runs entirely locally. The AI Assistant is a native C++ component that communicates with Ollama running on your machine.
Key Features
- Summarize Any Page — one-click page summaries
- Ask Questions — query the content you’re reading
- Cross-Page Reasoning — gather context from all open tabs + Knowledge Graph
- Debate Mode — see multiple perspectives (Skeptic, Balanced, Creative, Concise, Detailed)
- Inline AI — right-click any text → Explain, Debate, or Summarize
- Auto Notes — right-click → “Save to Memory” stores AI-summarized highlights in the Knowledge Graph
- Auto Fact-check — suspicious pages trigger automatic AI fact-checking on load
- Tab Context — injects current tab content as AI context
- Context Sources Panel — see which tabs and KG entries were used
How It Works
| Layer | Role |
|---|---|
| XPIDL Interface | Scriptable API: generate(), generateWithContext() |
| C++ Service | HTTP POST to Ollama /api/generate via nsIHttpChannel |
| Public JS Module | Importable via ChromeUtils.importESModule |
| JSWindowActor (child) | Extracts page text for summarization/Q&A |
| JSWindowActor (parent) | Forwards content requests |
| About Page | about:ai — “Contextual AI” with 4 modes |
Modes
- Chat — standard Q&A with the AI
- Tab Context — AI understands what you’re currently reading
- Cross-Page — synthesizes information across all open tabs
- Debate — same prompt evaluated from 5 perspectives
Access
- Navigate to
about:aiin Doda - Right-click any text → Explain / Debate / Summarize
- Command Palette (
Ctrl+Shift+,)
Requirements
- Ollama running locally (
ollama serve) - A model pulled (e.g.,
ollama pull llama3.2)