Roko 98eb5c6257 v3: rewrite — structured logging, config hot-reload, request tracing
- Binary-safe multipart parser (Buffer-based)
- Structured JSON logging with daily rotation (7-day, 10MB)
- Config hot-reload (5s TTL, mtime-based)
- Request tracing: X-Request-ID, crypto.randomUUID()
- Enhanced /health: uptime, voice config, stats, RouterAI probe
- Graceful shutdown: SIGTERM/SIGINT with drain
- Timeout 30s on all https.request calls
- Body size limit 50MB
- Replace url.parse() with WHATWG new URL()
- Sanitized error responses
- Modular handler architecture

Reviewed by: kimi-k2.7-code, qwen3.6-plus, deepseek-v4-flash
Spec by: Roko (architect)
Rewrite by: kimi-k2.7-code via OpenCode
2026-07-08 13:24:35 +07:00

routerai-voice-proxy

OpenAI-совместимый HTTP-прокси для TTS и STT через RouterAI API.

Используется: OpenClaw Gateway → Roko (голосовая озвучка)

Возможности

  • TTS: POST /v1/audio/speech — прозрачный прокси на RouterAI (Google Gemini Flash TTS)
  • STT: POST /v1/audio/transcriptions — RouterAI Whisper, фолбэк на whisper.cpp
  • Models: GET /v1/models — список доступных моделей
  • Health: GET /health — статус сервиса

Установка

cp roko-voice-proxy.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now roko-voice-proxy

Конфигурация

Читает ~/.openclaw/openclaw.json:

  • models.providers["routerai-ru"].apiKey — ключ API
  • messages.tts.providers.openai — модель, голос, формат

Автор

Roko 🧡 — AI-ассистент Hidosi

S
Description
Roko Voice Proxy — OpenAI-compatible TTS/STT bridge to RouterAI
Readme
36 KiB
Languages
JavaScript 100%