Add TTS markdown sanitization and expand deployment docs.

Strip Markdown and stage directions before ChatTTS synthesis with chunked long scripts; document model pre-download, server-update, and microphone HTTPS notes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-12 16:31:06 +08:00
parent 0f5277c22e
commit f36056d293
6 changed files with 409 additions and 50 deletions
+48 -10
View File
@@ -66,12 +66,30 @@ bash deploy.sh
浏览器访问:`http://<服务器IP>:5683`
日常更新
**首次部署后必做 — 预下载 AI 模型**(内网服务器无外网时必需,否则 Whisper 报 `Network is unreachable`
```bash
cd /opt/Trading_Studio && bash deploy.sh update
cd /opt/Trading_Studio
bash scripts/download_all_models.sh
pm2 restart trading_studio
```
日常更新(代码已 `git push` 到远端后,在服务器执行):
```bash
cd /opt/Trading_Studio
bash server-update.sh
```
若更新涉及模型脚本或首次部署,追加:
```bash
bash scripts/download_all_models.sh
pm2 restart trading_studio
```
完整说明见 [DEPLOY.md §0.4.2 / §0.8](./DEPLOY.md)。
### 手动部署(开发调试)
```bash
@@ -116,7 +134,9 @@ python app.py
| 中控端口 | `5683``0.0.0.0` 局域网可访问) |
| Ollama 地址 | `http://192.168.8.64:11434` |
| 模型名称 | `huihui_ai/gemma-4-abliterated:e4b` |
| Whisper 模型 | `small` / CUDA / float16 |
| Whisper 模型 | `small` / CUDA / float16,本地路径 `models/whisper/small/` |
| ChatTTS 模型 | `models/ChatTTS/`(须预下载脚本) |
| HF 镜像 | `HF_ENDPOINT=https://hf-mirror.com``.env` 可改) |
| 音色文件 | `speaker_emb.pt` |
| 音频输出 | `outputs/` 目录 |
@@ -170,16 +190,25 @@ outputs/
```
Trading_Studio/
├── deploy.sh # 一键部署脚本(/opt + PM2
├── server-update.sh # 强制同步远端 main + PM2 重启
├── app.py # Gradio 主入口
├── config.py # 全局配置
├── whisper_service.py # Whisper CUDA 识别
├── config.py # 全局配置Ollama 等请用 .env 覆盖)
├── whisper_service.py # Whisper CUDA 识别(优先本地模型)
├── llm_service.py # Ollama 远程润色
├── tts_service.py # ChatTTS 音色与合成
├── tts_service.py # ChatTTS 音色与合成(优先本地模型)
├── scripts/
│ ├── download_all_models.sh # Whisper + ChatTTS 一键下载
│ ├── download_whisper_models.sh
│ └── download_chattts_models.sh
├── models/ # AI 模型(预下载,不入 Git)
│ ├── whisper/small/
│ └── ChatTTS/
├── ecosystem.config.js # PM2 守护配置
├── requirements.txt # Python 依赖
├── .env.example # 服务器本地配置模板 → 复制为 .env
├── README.md # 本文件
├── DEPLOY.md # 部署指南(含一键部署教程
├── PWA_NPS.md # 云服务器反代 + NPS 穿透 + PWA 安装教程
├── DEPLOY.md # 部署指南(含模型预下载、故障排查
├── PWA_NPS.md # HTTPS / NPS 穿透 / 手机麦克风教程
├── .gitignore
├── speaker_emb.pt # 音色文件(运行时生成,不入库)
├── uploads/ # 上传临时目录
@@ -201,11 +230,20 @@ Trading_Studio/
## 常见问题
**Q: Whisper 报 `Network is unreachable`**
A: 内网服务器无法访问 HuggingFace。执行 `bash scripts/download_whisper_models.sh small`,确认 `models/whisper/small/model.bin` 存在后 `pm2 restart trading_studio`。详见 [DEPLOY.md §0.8](./DEPLOY.md)。
**Q: Whisper 报 CUDA 错误?**
A: 确认 `nvidia-smi` 正常,且未同时运行其他占显存任务。Whisper 使用 `float16` 已针对 8GB 优化。
A: 确认 `nvidia-smi` 正常,且未同时运行其他占显存任务。Whisper 使用 `float16` 已针对 8GB 优化。可在 `.env` 设置 `WHISPER_MODEL_SIZE=base` 并重新下载。
**Q: ChatTTS 报 GitHub / 下载超时?**
A: 执行 `bash scripts/download_chattts_models.sh`,或一键 `bash scripts/download_all_models.sh`
**Q: Ollama 连接失败?**
A: 在服务器上执行 `curl http://192.168.8.64:11434/api/tags` 验证连通性,确认模型已 `ollama pull`
A: 在服务器上执行 `curl http://192.168.8.64:11434/api/tags` 验证连通性,确认模型已 `ollama pull`Ollama IP 写在 `.env``OLLAMA_HOST`
**Q: 手机显示「找不到麦克风」?**
A: `http://内网IP:5683` 非 HTTPS,浏览器禁用麦克风。请按 [PWA_NPS.md](./PWA_NPS.md) 配置 HTTPS 域名,或改用 Web UI **「上传」** 录音文件。
**Q: TTS 音色不稳定?**
A: 重新锁定音色,填写参考音频精确转写,并保持 `temperature=0.3` 低随机性。