Files
fj/run.md
T
selfreleaseandDevin 198ee1c911 feat: 循环播放、单音频拼接播放、程序合成晨钟暮鼓配乐
- 播放改为全文拼接成单个 WAV:段间 0.8s/尾部 3s 静音写入文件,
  audio.loop 原生循环,解决手机锁屏/后台时定时器冻结导致的中断
- 新增"循环"开关与"配乐"开关
- 背景音乐 Web Audio 实时合成:低频 drone 垫底(相邻根音慢滑),
  晨钟(大钟非谐泛音簇)+ 暮鼓(膜鸣+击边噪声)+ 引磬稀疏点缀
- deploy.sh 一键部署(rsync + 重启 + 健康检查,不同步 .env)
- 新增页签图标与桌面 logo

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-29 09:28:55 +08:00

62 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 运行手册 · 心经诵读站点
## 技术栈
| 项 | 版本 / 说明 |
|---|---|
| 前端 | 原生 HTML + CSS + JS(无框架、无构建) |
| 后端 | Python 3 标准库 `http.server`(无第三方依赖)[Native] |
| TTS | 千问 `qwen3-tts-flash`,走 DashScope 兼容接口 `/api/v1/services/aigc/multimodal-generation/generation` |
## 首次准备
```bash
cd "/Users/freedak/Documents/AIDashboard/心经"
cp .env.example .env # 填入真实 DASHSCOPE_API_KEY
```
`.env` 变量:`DASHSCOPE_API_KEY`(必填)、`DASHSCOPE_BASE`、`TTS_MODEL`、`PORT`(默认 8000)。
## 应用启停
```bash
# 启动 [Native]
python3 server.py
# 打开 http://127.0.0.1:8000
# 停止:Ctrl+C
```
## 接口
- `POST /api/tts`,请求体 `{"text": "...", "voice": "Cherry"}`(≤600 字),返回 `audio/wav` 字节流;合成结果缓存在 `cache/` 目录。
- 静态文件由同一端口托管。
## 排错
| 现象 | 原因 | 处理 |
|---|---|---|
| 页面报"未配置 DASHSCOPE_API_KEY" | `.env` 缺失或键名不对 | 检查 `.env` |
| 502 / TTS 服务返回 4xx | 密钥失效、音色与模型不匹配 | 换音色或核对密钥 |
| 浏览器播放无声 | 系统静音 / 自动播放策略 | 点击播放按钮触发 |
## 端口表
| 服务 | 端口 |
|---|---|
| 本地 Web + API | 8000(`.env` 的 `PORT` 可改) |
| 线上应用 | 8018(127.0.0.1,仅经 nginx 反代) |
## 部署备份
**线上部署**(2026-09-28 已上线):
- 域名:`https://fj.all8ai.top`(HTTP 301 → HTTPS,Let's Encrypt 证书自动续期)
- 服务器:`154.8.162.18`(OpenCloudOS 9.4),应用目录 `/opt/fj`
- 进程:`systemctl status|restart fj`(`/etc/systemd/system/fj.service`,Restart=always)
- 反代:`/etc/nginx/conf.d/fj.conf` → `http://127.0.0.1:8018`(与 gugong/bs 等站点并存,互不冲突)
- 环境变量:服务器上 `/opt/fj/.env`(`PORT=8018`、密钥等,不入 Git,也不被 deploy.sh 覆盖)
- 更新发布:一键 `./deploy.sh`(同步前端+`server.py` → 重启 `fj.service` → 健康检查 https://fj.all8ai.top)。密码登录用 `FJ_PASS=xxx ./deploy.sh`(需本机 sshpass);已配 SSH key 则直接 `./deploy.sh`。**注意**:`.env` 不在同步列表内,服务器端 `PORT=8018` 不会被本地 `PORT=8000` 覆盖
备份:`cache/` 可删(自动重建);`/opt/fj` 目录 + `fj.service` + `fj.conf` 为全部恢复所需。