Skip to content

samanhappy/selectly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Selectly

License: MIT Chrome Extension TypeScript React

Select any text on a webpage. Get instant AI-powered actions: translate, explain, polish, correct grammar, or chat about it. Works with OpenAI, Anthropic, DeepSeek, OpenRouter, SiliconFlow, and any OpenAI-compatible API.

English | 中文文档

Features

Text Actions — 🌐 Translate · ✨ Polish · 💡 Explain · ✅ Fix Grammar · 💬 Chat

Utilities — 🔍 Search · 📋 Copy · 🔗 Open URL · 📚 Collect · 📤 Share as Image

Premium — 👑 Subscription · ☁️ Cloud Sync · 🔐 OAuth2 Login

Customizable — 🔧 Multiple LLM providers · ⚙️ Toggle features on/off · 📝 Edit prompts · ➕ Write your own functions · 🌍 7 languages · 🎨 Button position

Quick Start

Chrome Web Store

Install from the Chrome Web Store.

From Source

git clone https://github.com/samanhappy/selectly.git
cd selectly
pnpm install
pnpm dev

In Chrome: chrome://extensions/ → Developer mode on → Load unpacked → pick build/chrome-mv3-dev.

LLM Setup

Click the extension icon → LLM Config tab → pick a provider, paste your API key, choose a model.

Tech Stack

Plasmo Extension framework 0.90.5
TypeScript Language 5.3.3
React UI 18.2.0
Tailwind CSS Styling 3.4.17
OpenAI SDK LLM calls 5.16.0
Dexie.js IndexedDB 4.0.8
Stripe Payments 9.8.0

Architecture

selectly/
├── core/              # Business logic
│   ├── services/      # LLM, actions, collections, subscriptions
│   ├── storage/       # Encrypted storage, IndexedDB, migrations
│   ├── auth/          # OAuth2
│   ├── i18n/          # 7 languages
│   └── content/       # Content script UI
├── components/
│   ├── content/       # Floating buttons, streaming results, share cards
│   ├── options/       # Settings pages
│   └── ui/            # shadcn/ui primitives
├── background.ts      # Service worker
├── content.tsx        # Content script entry
├── popup.tsx          # Popup
└── options.tsx        # Options page

Each service owns one concern. LLM adapters are provider-swappable. Sensitive data is encrypted at rest. Everything stays in the browser.

Privacy

  • Config and API keys never leave your browser
  • Text goes only to the LLM provider you choose
  • No tracking, no analytics
  • Encrypted storage via Chrome's secure storage
  • Source code is open

Development

pnpm dev          # Hot reload
pnpm build        # Production build
pnpm package      # Zip for distribution
pnpm test         # Run tests
pnpm format       # Format with Prettier

Contributing

Pick anything: translations, new LLM providers, built-in functions, bug fixes, docs, UI improvements. Match the existing TypeScript + React style. Keep services small. Test your changes.

Roadmap

  • Firefox and Edge
  • More built-in functions
  • Advanced prompt templates
  • Export/import config
  • Function marketplace

License

MIT — LICENSE

Support

Issues · Discussions

About

All-in-one customizable AI-powered text browser extension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors