An intelligent browser extension for AI-powered translation, polishing, note-taking, and knowledge management
flowers_8mb.mp4
Experience the seamless AI-powered workflow of Flowers
| Feature | Description |
|---|---|
| ๐ Smart Translation | Context-aware translation with editable terminology |
| โจ AI Polish | Professional text refinement with multiple tone options |
| ๐ Note Generation | Auto-generate structured notes from web content |
| ๐ฌ RAG-Powered Chat | Ask questions grounded in your personal knowledge base |
| ๐ PDF Translation | Select and translate text directly within PDF documents |
| ๐ผ๏ธ Image OCR | Right-click images to extract text via LLM Vision, then translate/polish/notes |
| ๐ฌ Video Subtitle Translation | Real-time AI translation of video subtitles (YouTube, etc.) |
| ๐ Full Page Translation | Bilingual comparison mode with technical content protection |
| ๐จ Customizable Prompts | Edit and manage AI prompts for each workflow |
- Popup on Selection - Instant AI tools when you highlight text
- Image OCR - Right-click any image to extract text with Vision models (GPT-4o, Gemini, Claude, etc.)
- PDF Support - Built-in PDF reader with full translation capabilities and professional toolbar
- Multi-Provider Support - Connect to OpenAI, Ollama, DeepSeek, DashScope, Anthropic, Google, and more
- Custom Prompts - Full control over AI behavior for each workflow
- Side Panel Workspace - Integrated chat, notes, and settings
- Local-First & Privacy - All notes and settings are stored locally in your browser. No data collection, no tracking.
- Extensible Architecture - Plugin-based system for custom AI workflows
- Language-Aware Prompts - Smart prompt switching ensures AI output matches your preferred UI language
- Bilingual Comparison - Professional-grade full-page translation with technical content protection
๐ก The core strength of Flowers is its configurability. Adapt the extension to your exact needs.
Flowers supports a wide range of LLM providers out of the box:
| Provider | Type | Notes |
|---|---|---|
| OpenAI | Cloud | GPT-4o, GPT-4, GPT-3.5-turbo |
| Ollama | Local | Run models locally with full privacy |
| DeepSeek | Cloud | Cost-effective high-quality models |
| DashScope | Cloud | Alibaba Cloud Qwen models |
| Anthropic | Cloud | Claude models |
| Cloud | Gemini models | |
| Any OpenAI-Compatible | Custom | LM Studio, vLLM, LocalAI, etc. |
Configuration is simple:
- Go to Settings โ Model Configuration
- Add a new provider with Base URL, API Key, and model list
- Select your preferred Chat Model and Embedding Model
- Save and start using!
Every AI workflow (Translation, Polish, Note Generation, Chat, Image OCR) uses customizable system prompts:
- Edit prompts to match your domain or writing style
- Language-aware switching ensures output matches your UI language
- Full prompt visibility - see exactly what the AI receives
Go to Settings โ Prompt Management to customize.
๐ก Tip: Watch the Demo Video above for a comprehensive walkthrough of all features.
๐ Smart Translation
Select any text on a webpage and instantly translate it with context-aware AI translation.
๐ PDF Translation
Open any PDF in the built-in Flowers PDF Reader. Select text to translate, polish, or generate notes - just like on regular web pages.
- Automatic PDF redirect to Flowers reader (including GitHub/GitLab blob URLs)
- Professional toolbar: download, print, search, fullscreen, zoom, dark mode, page jump
- Full popover functionality (translate, polish, notes, ask)
- Pin, drag, and position the popover anywhere
- Lazy loading for long documents
๐ผ๏ธ Image OCR
Right-click any image and choose Extract Text (Flowers) to extract text using a Vision Language Model.
- Requires a VLM (e.g. GPT-4o, Claude 3, Gemini 3 Flash)
- Extracted text flows into the same popover for translate, polish, notes, or ask
- Customizable
ocr_systemandocr_userprompts in Settings โ Prompt Management
๐ Full Page Translation
Translate entire webpages into a bilingual comparison format with:
- ๐ก๏ธ Technical Content Protection - Skips code, math, diagrams
- ๐ง Context-Aware Batching - Optimized API usage
- ๐ Non-Intrusive Injection - Preserves page functionality
๐ฌ Video Subtitle Translation
Real-time video subtitle translation with intelligent batching and caching.
Supported Platforms: YouTube (DOM & TextTrack), Generic (TextTrack)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser Extension โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโค
โ Selection UI โ Workspace โ API Bridge โ
โ PDF Viewer โ Image OCR โ โ
โ Video Trans โ Full Page โ โ
โโโโโโโโโโฌโโโโโโโโโโดโโโโโโโโโฌโโโโโโโโโโดโโโโโโโโโโฌโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโผโโโโโโโโโ
โ Backend Layer โ
โโโโโโโโโโโโโโโโโโค
โ โข LLM Client โ
โ โข RAG Engine โ
โ โข Storage โ
โโโโโโโโโโโโโโโโโโ
- Node.js >= 18.0.0
- npm or pnpm
- OpenAI-compatible API key
# Clone
git clone https://github.com/snailfrying/flowers.git
cd flowers
# Install dependencies
cd backend && npm install
cd ../frontend && npm install
# Configure API keys
cp backend/env.yaml.example backend/env.yaml
# Edit backend/env.yaml with your API key
# Build
cd backend && npm run build
cd ../frontend && npm run build
# Load in browser
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select frontend/dist/ directory- Highlight any text on a webpage (or PDF)
- The Flowers popover appears automatically
- Choose: Translate | Polish | Generate Note | Ask AI
- Right-click any image on a webpage
- Select Extract Text (Flowers)
- OCR result appears in the popoverโthen translate, polish, or generate notes
- Requires a Vision model (e.g. GPT-4o, Claude 3, Gemini 3 Flash) in Settings โ Model Config
PDFs are automatically opened in the Flowers PDF Reader with full translation support.
Click the Flowers extension icon to access:
- ๐ฌ Chat - Converse with AI using your knowledge base
- ๐ Notes - Browse and manage your notes
- โ๏ธ Settings - Configure models, prompts, and preferences
flowers/
โโโ backend/ # AI orchestration layer
โ โโโ src/
โ โ โโโ agent/ # Workflow nodes
โ โ โโโ services/ # LLM, RAG, prompts
โ โ โโโ storage/ # Data persistence
โ
โโโ frontend/ # Browser extension UI
โ โโโ src/
โ โ โโโ components/ # React components
โ โ โโโ background/ # Service worker
โ โ โโโ content/ # Content scripts
โ โ โ โโโ video/ # Video subtitle translation
โ โ โ โโโ fullpage/ # Full page translation
โ โ โโโ pages/
โ โ โ โโโ pdf-viewer/ # PDF reader
โ โ โโโ sidepanel/ # Main workspace
cd backend && npm run dev # Backend (watch mode)
cd frontend && npm run dev # Frontend (with HMR)We welcome contributions! See CONTRIBUTING.md for details.
- Firefox extension support
- Local LLM integration (Ollama, LM Studio)
- Prompt version control
- Advanced RAG features
- Mobile companion app
Q: Is my data sent to external servers?
A: Only AI API calls are sent externally. All notes and settings are stored locally in your browser.
Q: Can I use this with local LLMs?
A: Yes! Configure any OpenAI-compatible API endpoint. Works with Ollama, LM Studio, etc.
Q: How do I customize prompts?
A: Go to Settings โ Prompt Management to edit system prompts for each workflow.
Q: Image OCR says it failedโwhat model do I need?
A: Image OCR requires a Vision Language Model (VLM). Configure one in Settings โ Model Config (e.g. GPT-4o, Claude 3, Gemini 3 Flash). If the model doesn't support images, the API will return an error.
Personal Use Non-Commercial License - See LICENSE for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: snailfrying@gmail.com

