Santhosh Janardhanan eaa1544e66 feat: show routed model name when using openrouter/free
When the configured model is a routing endpoint like 'openrouter/free',
the actual model used (e.g. 'upstage/solar-pro-3:free') is returned in
the LLM response's 'model' field. We now extract that and display it as:

  Responded by upstage/solar-pro-3:free model from openrouter/free

For any other model (e.g. 'llama3', 'gemma2'), we still show just:

  Responded by llama3

Implementation:
- LLM client returns both requestedModel and actualModel
- API endpoint builds a display-friendly modelLabel
- Frontend uses modelLabel for the attribution line
2026-04-13 01:13:47 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00
2026-04-12 21:22:34 -04:00

English Style Converter

A SvelteKit web app that converts English text into various styles and tones using an LLM.

Quick Start (Docker)

# Option 1: Use default model (llama3)
docker compose up

# Option 2: Choose a different model
OLLAMA_MODEL=gemma2 docker compose up

First startup pulls the model from Ollama, which may take a few minutes depending on model size and your connection. Subsequent starts are instant (model is cached in a Docker volume).

To change the model later, edit .env.docker and run:

docker compose down
docker compose up --build

Local Development (without Docker)

Prerequisites: Ollama running locally with a model pulled.

# Install dependencies
npm install

# Copy env config (defaults to Ollama at localhost:11434)
cp .env.example .env

# Start dev server
npm run dev

Configuration

Variable Default Description
OPENAI_BASE_URL http://localhost:11434/v1 OpenAI-compatible API endpoint
OPENAI_API_KEY ollama API key (use ollama for local Ollama)
OPENAI_MODEL llama3 Model to use
PORT 3000 App port (Docker/adapter-node only)

For Docker, set OLLAMA_MODEL in .env.docker — it controls both the model Ollama pulls and the model the app requests.

Styles

6 categories, 25 styles: Sarcastic, Formal, British (Polite, Formal, Witty, Gentlemanly, Upper Class, Royal, Victorian, Downton Abbey), American (New Yorker, AAVE, Southern, Redneck), Pirate, Shakespearean, Gen Z, Game of Thrones (King's Landing, Wildlings, Winterfell), and Newspeak (Orwellian).

Testing

npm test
Description
No description provided
Readme 152 KiB
Languages
TypeScript 50.3%
Svelte 43%
CSS 3.6%
HTML 1.5%
Dockerfile 1%
Other 0.6%