SumBot is a browser extension that helps users get summaries of web page content using chat models. It extracts content from web pages or YouTube transcripts and sends it to your preferred chat model for summarization.
- Content Summarization: Summarize any web page or YouTube video transcript with a single click
- Multiple Chat Models: Support for various chat models including ChatGPT, Perplexity, Grok, Gemini, Claude, and DeepSeek
- Custom Commands: Create and manage custom summarization commands with variables
- Context Menu Integration: Right-click to summarize selected text or entire pages
- Multi-browser Support: Works with Chrome and Firefox
- Internationalization: Supports English and Turkish languages
- Settings Import/Export: Backup and share your custom configurations
-
Clone this repository:
git clone https://github.com/yourusername/sumbot.git cd sumbot
-
Install dependencies:
pnpm install
-
Build the extension:
# For Chrome pnpm build # For Firefox pnpm build:firefox
-
Load the extension:
- Chrome: Go to
chrome://extensions/
, enable Developer mode, and click "Load unpacked". Select thedist/
directory. - Firefox: Go to
about:debugging#/runtime/this-firefox
, click "Load Temporary Add-on", and select any file in thedist/
directory.
- Chrome: Go to
- Download the latest release from the Releases page
- Install in your browser:
- Chrome: Drag and drop the
.zip
file onto thechrome://extensions/
page - Firefox: Go to
about:addons
, click the gear icon, select "Install Add-on From File", and select the.xpi
file
- Chrome: Drag and drop the
- Navigate to any web page or YouTube video
- Click the SumBot icon in your browser toolbar
- The extension will extract the content and send it to your default chat model for summarization
Right-click on any web page to access SumBot commands:
- Summarize the entire page
- Summarize selected text
- Use custom commands you've created
Access the options page by right-clicking the SumBot icon and selecting "Options" to:
- Set your default chat model
- Create and manage custom commands
- Define reusable variables for your commands
- Import/export your settings
# Development mode
pnpm dev # Chrome
pnpm dev:firefox # Firefox
# Build
pnpm build # Chrome
pnpm build:firefox # Firefox
# Create distribution package
pnpm zip # Chrome
pnpm zip:firefox # Firefox
# Type checking
pnpm compile
# Format code
pnpm format
- Framework: Built with WXT (Web Extension Tools)
- UI: React with Tailwind CSS for styling
- Language: TypeScript
- Package Manager: pnpm
The extension requires several permissions to function properly:
activeTab
: For accessing the current tab's contentwebNavigation
: For detecting page navigationscripting
: For content script injectioncontextMenus
: For right-click menu integrationstorage
: For persistent data storage<all_urls>
: For accessing page content across different domains
Additional documentation can be found in the docs/
directory:
- Project Overview
- Storage Implementation
- Internationalization
- Import/Export Functionality
- Messaging System
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request