feat: implement OpenAI-compatible Realtime API with authentication and management features

- Added support for public Realtime API, including new routes for managing API keys and handling WebRTC connections.
- Introduced RealtimeApiKey model and associated CRUD operations for admin management of API keys.
- Implemented authentication mechanisms for API keys and client secrets.
- Enhanced environment configuration with new secrets for Realtime API.
- Created OpenAIRealtime session management and event processing for real-time interactions.
- Updated schemas and settings to accommodate new features and ensure compatibility with existing systems.
This commit is contained in:
Xin Wang
2026-08-11 10:05:55 +08:00
parent cf32ea605d
commit 86639692ba
28 changed files with 3286 additions and 128 deletions
+5
View File
@@ -14,6 +14,11 @@ PORT=8000
# 前端开发地址,允许跨域(公网部署时加上实际前端 origin)
CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
# ---- OpenAI-compatible Realtime API ----
# 用独立随机值签名长期 API Key 摘要和短期 Client Secret;生产环境必须修改。
REALTIME_TOKEN_SECRET=replace-with-a-long-random-secret
REALTIME_CLIENT_SECRET_TTL_SECONDS=60
# ---- RustFS / S3-compatible storage ----
# Use 127.0.0.1 (not localhost) if HTTP_PROXY is set — proxies often return 502 for localhost.
S3_ENDPOINT_URL=http://127.0.0.1:9000