APolish
A polish for your text with AI
English |
简体中文 |
繁體中文 |
日本語 |
Español |
Português |
Français |
Deutsch |
Русский |
हिन्दी
A privacy-first Chrome extension that polishes text on any webpage using AI. Select text, click the polish button, and get AI-enhanced suggestions with visual diff comparison.
Features
- Multi-Provider AI Support: Choose between OpenAI, Claude, or Gemini using your own API key
- Text Polishing: Select any text and polish it with AI
- Multiple Presets: Standard, Professional, Native Speaker, Simplified, or Custom prompts
- Visual Diff: See changes highlighted with insertions (green) and deletions (red)
- Privacy First: Your API key stays local, no data collection or telemetry
- Universal Compatibility: Works on any webpage including Gmail, Google Docs, and more
Installation
From Source
- Clone the repository:
git clone https://github.com/changliu0828/apolisher-chrome.git
cd apolisher-chrome
- Install dependencies:
- Build the extension:
- Load in Chrome:
- Open
chrome://extensions
- Enable “Developer mode”
- Click “Load unpacked”
- Select the
dist folder
Usage
- Setup: Choose your AI provider (OpenAI, Claude, or Gemini) and add your API key in the extension settings
- Select: Highlight text on any webpage
- Polish: Click the
button that appears
- Review: View the diff comparison in the modal
- Accept: Click the checkmark to apply changes
Configuration
Access settings by clicking the extension icon or right-clicking and selecting “Options”:
- AI Provider: Choose between OpenAI (GPT-4o Mini), Claude (3.5 Haiku), or Gemini (2.5 Flash)
- API Key: Your provider-specific API key (stored securely in Chrome sync storage)
- Prompt Presets: Choose from Standard, Professional, Native, Simplified, or Custom
- Max Tokens: Control response length (100-4000 tokens, default: 2000)
Tech Stack
- React + TypeScript - UI components
- Vite - Build system with @crxjs/vite-plugin
- Tailwind CSS - Styling
- Chrome Extension Manifest V3 - Extension architecture
- Multi-Provider AI: OpenAI (GPT-4o Mini), Claude (3.5 Haiku), or Gemini (2.5 Flash)
- Shadow DOM - Style isolation for content script
Development
# Install dependencies
npm install
# Development build with HMR
npm run dev
# Production build
npm run build
# Run linter
npm run lint
# Type check
npm run type-check
Project Structure
src/
├── background/ # Service worker for API calls
├── content/ # Content script and UI components
├── options/ # Settings page
├── prompts/ # Prompt presets
├── services/ # Multi-provider AI services (OpenAI, Claude, Gemini)
├── types/ # TypeScript types
└── utils/ # Utilities
Support This Project
If you find apolisher-chrome useful, please consider sponsoring! Your support helps keep this project free and open-source.

Ways to support:
- ⭐ Star this repository
- 💖 Become a sponsor (starting at $3/month)
- 🐛 Report bugs and contribute code
- 📢 Share with others who might find it useful
Thank you to all our sponsors! 🙏
Become the first sponsor and get your name here!
License
MIT