f0962471b47031efed34efd98109f9abb888013e
src/lib/providers.ts holds a per-provider spec (url, headers, body, extractor, default model) and a single callProvider() covering both the action-prompt and custom-prompt families (~250 lines -> one path). getSystemPrompt, fetchWithTimeout, and listModels move along with it; background.ts drops from 553 to 130 lines. Behavior pinned by 20 parity tests written from the old functions (request shapes, headers, defaults, error strings). One deliberate change: max_tokens now scales with input length (1024-8192) instead of a hard-coded 1024, so Expand no longer truncates long selections. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
⚡ LexAI — AI Writing Assistant
A Grammarly-like Chrome Extension powered by your own LLM API key. No monthly subscription. Full control.
Features (Roadmap)
- ✅ Grammar & spelling correction
- ✅ Rephrase / rewrite text
- ✅ Shorten or expand text
- 🔜 Tone suggestions
- 🔜 Autocomplete
- 🔜 Custom style profiles
Supported LLM Providers
- OpenAI (GPT-4o, GPT-4o-mini)
- Anthropic (Claude 3.5 Haiku, Sonnet)
- Groq (free tier — fast!)
- OpenRouter (100+ models)
Tech Stack
- WXT + React 18 + TypeScript
- Manifest V3
- Inline-styled UI (no CSS framework)
Development
npm install
npm run dev # Dev mode with hot reload
npm run build # Production build
npm run zip # Package for Chrome Web Store
npm test # Run unit tests
Load in Chrome
- Run
npm run build - Open Chrome →
chrome://extensions - Enable Developer Mode
- Click Load unpacked → select
.output/chrome-mv3
Project Management
Plane: LEXAI project → https://plane-pro.juankibin.space
Releases
1
LexAI v1.0.0
Latest
Languages
TypeScript
87.6%
JavaScript
9.7%
CSS
2.3%
HTML
0.4%