- Add SSRF validation to TTS route with baseUrl allowlist - Fix concurrency.ts: validate maxConcurrent >= 1, fill aborted slots - Add .env existence check to shell script with error messaging - Add language identifier to README code block (markdownlint MD040) - Add input validation and 30s timeout to groq-tts route - Preserve previous summary on error in SummarizeModal - Pass maxLength parameter through to summarize API - Fix unused docType parameter in dexie.ts getSummary - Reject whitespace-only text in summarize API Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
637 B
637 B
OpenReader WebUI Scripts
Scripts for running OpenReader WebUI with Groq Orpheus TTS.
Files
openreader-webui.sh- Main startup script.env- Environment variables (containsGROQ_API_KEY)
Usage
./openreader-webui.sh
URL
Architecture
OpenReader WebUI (:3003)
↓
Built-in /api/groq-tts route
↓
Groq API (canopylabs/orpheus-v1-english)
API Endpoints
POST /api/groq-tts- Generate speech from textGET /api/groq-tts/voices- List available voices
Available Voices
- troy, austin, daniel (male)
- autumn, diana, hannah (female)