独立依赖

This commit is contained in:
xsl
2026-04-08 14:38:04 +08:00
parent 760cf864eb
commit 64c894b673
36 changed files with 431 additions and 337 deletions
+10 -4
View File
@@ -77,7 +77,11 @@ export LLM_BASE_URL="https://api.deepseek.com/v1"
export LLM_MODEL="deepseek-chat"
```
也可以直接复制 [.env.example](.env.example) 作为本地配置模板
复制 [.env.example](.env.example) `.env`,填入有效的 `LLM_API_KEY`
**本地权重(除 LLM 外全部在仓库内 `models/`**:首次可用联网环境执行 `python scripts/vendor_hf_models.py`;其中 VAD 的 `silero_vad.jit` 会从已安装的 `silero-vad` 包复制到 `models/vad/`。ASR 使用 `models/asr/SenseVoiceSmall/`TTS 使用 `models/tts/Kokoro-82M/`
完整部署步骤(新机器、模型打包、HTTPS、防火墙、排错)见 **[docs/deployment.md](docs/deployment.md)**。
语音如果偏快、偏硬,可以优先调这几个参数:
@@ -88,6 +92,8 @@ export LLM_MODEL="deepseek-chat"
- `TTS_SEGMENT_PAUSE_MS`:默认 `90`,给分段之间留一点停顿,但不要太拖。
- `TTS_FADE_MS`:默认 `12`,减轻段间拼接的突兀感。
部署到任意机器时:在项目根目录运行(保证 `models/``web/``certs/` 等相对路径有效)。证书可在 `.env` 里写相对路径(例如 `certs/dev-cert.pem`),会按项目根目录解析。也可用环境变量 `VISUAL_CHAT_PYTHON` 指定解释器。
本地启动:
```bash
@@ -119,7 +125,7 @@ python scripts/smoke_test.py --text "你好,请做一个简短自我介绍。"
- `http://127.0.0.1:8080/`
- `http://127.0.0.1:8080/health`
如果 `.env` 里已经配置了 `WEBRTC_PORT=8018``SSL_CERTFILE` / `SSL_KEYFILE`,实际访问地址通常会变成:
如果 `.env` 里已经配置了 `HTTP_PORT=8018``SSL_CERTFILE` / `SSL_KEYFILE`,实际访问地址通常会变成:
- `https://<server-ip>:8018/`
- `https://<server-ip>:8018/health`
@@ -135,7 +141,7 @@ bash scripts/gen-self-signed-cert.sh
监听规则:
- 服务监听地址固定按 `0.0.0.0` 规则执行。
- 即使把 `WEBRTC_HOST` 写成 `127.0.0.1``localhost``::1`,启动时也会自动归一化成 `0.0.0.0`,避免局域网访问被误伤。
- 即使把 `HTTP_HOST` 写成 `127.0.0.1``localhost``::1`,启动时也会自动归一化成 `0.0.0.0`,避免局域网访问被误伤。
## 核心接口
@@ -143,7 +149,7 @@ bash scripts/gen-self-signed-cert.sh
- `POST /chat/text`: 文本输入链路,跳过 ASR/VAD。
- `POST /chat/reset`: 清空上下文和运行时状态。
- `GET /health`: 返回后端运行指标和组件健康状态。
- `GET /meta`: 返回 STUN、HTTPS、端口和动画协议配置。
- `GET /meta`: 返回 HTTPS、监听端口和动画协议配置。
- `GET /events`: Server-Sent Events 运行状态流。
- `WS /ws/audio`: 双向语音通道,上传麦克风 PCM 并接收回复语音。
- `WS /ws/subtitles`: 字幕流。