- 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>
38 lines
637 B
Markdown
38 lines
637 B
Markdown
# OpenReader WebUI Scripts
|
|
|
|
Scripts for running OpenReader WebUI with Groq Orpheus TTS.
|
|
|
|
## Files
|
|
|
|
- `openreader-webui.sh` - Main startup script
|
|
- `.env` - Environment variables (contains `GROQ_API_KEY`)
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
./openreader-webui.sh
|
|
```
|
|
|
|
## URL
|
|
|
|
http://localhost:3003
|
|
|
|
## Architecture
|
|
|
|
```text
|
|
OpenReader WebUI (:3003)
|
|
↓
|
|
Built-in /api/groq-tts route
|
|
↓
|
|
Groq API (canopylabs/orpheus-v1-english)
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
- `POST /api/groq-tts` - Generate speech from text
|
|
- `GET /api/groq-tts/voices` - List available voices
|
|
|
|
## Available Voices
|
|
|
|
- troy, austin, daniel (male)
|
|
- autumn, diana, hannah (female)
|