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

2.4 KiB
Raw Blame History

运行手册 · 心经诵读站点

技术栈

项 版本 / 说明
前端 原生 HTML + CSS + JS(无框架、无构建)
后端 Python 3 标准库 http.server(无第三方依赖)[Native]
TTS 千问 qwen3-tts-flash,走 DashScope 兼容接口 /api/v1/services/aigc/multimodal-generation/generation

首次准备

cd "/Users/freedak/Documents/AIDashboard/心经"
cp .env.example .env   # 填入真实 DASHSCOPE_API_KEY

.env 变量:DASHSCOPE_API_KEY(必填)、DASHSCOPE_BASE、TTS_MODEL、PORT(默认 8000)。

应用启停

# 启动 [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 为全部恢复所需。