A Chrome extension that allows you to ask questions about web page content, images, and screenshots using AI. Powered by OpenAI's GPT models.
- 🤖 Ask questions about any webpage content
- 📸 Take screenshots and ask questions about them
- 🖼️ Drag and drop images for visual analysis
- 🎥 Extract and analyze YouTube video subtitles
- 💬 Chat-like interface with message history
- 🌓 Light/Dark theme support
- ⌨️ Keyboard shortcuts (Enter to send, Shift+Enter for new line)
- 🔄 Real-time streaming responses
- 📱 Responsive sidebar design
- 🎨 Support for various image formats (PNG, JPEG, GIF, WebP, SVG)
- 🔒 Type-safe codebase with TypeScript
- Download the latest release package (
web-reader.zip
) from the Releases page - Extract the zip file to a local directory
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extracted directory
- Click the extension icon and set your OpenAI API key in the settings
- Click the "Ask AI" button on any webpage to open the sidebar
- Choose your context mode:
- Full Page: Ask about the entire page content
- Selection: Ask about selected text
- Screenshot/Image: Take a screenshot or drop an image to analyze
- YouTube: Extract and analyze video subtitles (on YouTube pages)
- Type your question and press Enter or click "Ask Question"
- View the AI's response in real-time
- Clone this repository
- Install dependencies:
npm install
- Build the extension:
npm run build
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
dist
directory
The extension is built with TypeScript for enhanced type safety and better development experience.
├── src/ # TypeScript source files
│ ├── components/ # UI and feature components
│ │ ├── chat/ # Chat-related components
│ │ ├── context/ # Context handling (page, selection, screenshot, youtube)
│ │ └── ui/ # UI components
│ ├── utils/ # Utility functions
│ ├── types/ # TypeScript type definitions
│ │ └── index.d.ts # Global type definitions
│ ├── background.ts # Service worker and request handling
│ ├── config.ts # Configuration
│ ├── main.ts # Content script entry
│ └── settings.ts # Settings page logic
├── dist/ # Compiled JavaScript (generated)
├── lib/ # Third-party libraries
├── icons/ # Extension icons
├── settings.html # Settings page HTML
├── settings.css # Settings styles
└── sidebar.css # Sidebar styles
npm install
- Install dependenciesnpm run build
- Build TypeScript filesnpm run watch
- Watch for changes and rebuildnpm run lint
- Run ESLintnpm test
- Run tests
- Set your OpenAI API key in the extension settings
- Choose between different GPT models
- Customize the theme (Light/Dark)
- API endpoint can be configured for self-hosted deployments
- Built with assistance from Claude (Anthropic)
- Uses OpenAI's GPT models for AI capabilities
- Marked library for Markdown rendering
- Icons from various sources
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork and clone the repository
- Install dependencies:
npm install
- Make your changes in TypeScript files
- Build and test:
npm run build
- Submit a pull request
Special thanks to:
- OpenAI for their powerful API
- Claude (Anthropic) for development assistance and code improvements
- The Chrome Extensions community
- All contributors and users
For issues, questions, or suggestions:
- Open an issue in this repository
- Check existing issues for solutions
- Provide detailed information about your problem
- TypeScript migration for improved type safety and developer experience
- Support for more AI models (Implemented with model selector and GPT-4 Vision support)
- Enhanced image analysis capabilities (Implemented with GPT-4 Vision API)
- Custom styling options (Implemented with Light/Dark theme support)
- Export chat history
- Keyboard shortcuts customization (Implemented with custom prompts and Alt+number shortcuts)
- Context-aware prompts based on page content
- Multi-language support
- Integration with other AI providers
- YouTube subtitle support for video content analysis
- Browser extension sync across devices
- Advanced screenshot tools (annotations, region selection)
- Voice input/output support