Files
haibao-tts-cli/changelog.md

4.3 KiB
Raw Permalink Blame History

版本变更记录 (changelog.md)

[0.3.2] - 2026-05-09

修复

  • 修复流式播放无声音问题(守护进程 send --stream 和 CLI --stream --play
  • 修复 SSE 解析结构体层级:audiochoices[0].delta.audio.data,非顶层字段
  • 修复 SSE 行分割问题HTTP bytes_stream chunk 边界不对齐 \n,添加 line_buf 行缓冲器

重构

  • 重写 daemon 主循环:LocalSet + spawn_local 替代 std::thread::spawn + 桥接,简化流式播放路径
  • 统一 CLI 和 daemon 的流式播放逻辑

[0.3.1] - 2026-05-09

修复

  • 修复 HTTP /synthesize 接口未实际调用 TTS 合成的问题(之前只返回"请求已接收"
  • 修复语气替换 bug长匹配.../……)优先于短匹配(./),避免替换冲突
  • 修复 show_voices() 显示旧版 3 音色而非完整 9 音色列表

代码质量

  • 清理 9 个编译器警告unused code/import/variable
  • 修复 write_log 线程安全问题:使用 Mutex 保护 HTTP 线程与 async 线程的并发文件写入
  • 实现 0 警告 0 错误构建

[0.3.0] - 2026-04-25

新增

  • 实现守护进程Daemon模式类似 Docker 架构
    • TCP Socket 服务器tokio::net::TcpListener多客户端并发支持
    • PID 文件管理(启动/停止/状态检测)
    • 日志记录到 ~/.config/tts/ttsd.log
    • 复用现有 TTS API 调用和音频播放功能
  • 新增 src/client.rs TCP 客户端模块
  • 新增 daemon start/stop/status/logs 子命令
  • 新增 send 子命令(发送文本到守护进程进行 TTS 合成播放)
  • 新增 ttsd 内部子命令(由 daemon start -d 自动调用)
  • 新增 HTTP 接口(端口 = TCP 端口 + 1
    • POST /synthesize 语音合成接口
    • GET /health 健康检查
  • 新增日志级别INFO/WARN/ERROR 自动检测)+ PID 信息
  • 新增 --style 参数支持宏观场景风格标签

跨平台

  • 所有平台统一使用 ~/.config/tts/ 目录
  • TCP Socket 通用方案Windows/Linux/macOS
  • nohup 后台运行Unix/ cmd /C start 后台运行Windows

协议设计

  • JSON over TCP简洁易调试
  • 风格参数自动转换为 <style>...</style> 标签(符合官方文档)

[0.2.0] - 2026-04-24

新增

  • 实现 --stream 流式输出功能
    • SSEServer-Sent Events处理流式响应
    • 流式输出自动使用 pcm16 格式
    • 支持流式输出到 stdout 或保存到文件
    • pcm16_to_wav() 函数自动封装 WAV 头
  • 创建 src/tone.rs 自动语气转换模块
    • apply_tone() 根据标点添加整体语气标签
    • insert_mid_tone() 细粒度控制标签
    • analyze_tone() 分析组合语气
    • has_tone_tag() 检测已有标签避免重复
  • 实现分层配置设计:
    • project.config.toml 项目默认配置
    • ~/.config/tts/config.toml 用户配置
  • 新增 ratatui + crossterm 依赖,创建 src/ui.rs 模块
    • 美化所有 CLI 输出(彩色表格/标签)
    • 交互式 onboard 表单(支持 API Key 隐藏输入)

修改

  • 更新音色列表为 Mimo-TTS 完整 9 音色
  • 默认音色从 default_zh 改为 mimo_default
  • 添加音色验证,无效时回退默认

修复

  • 默认音色未生效问题
  • 流式 SSE 解析编译错误
  • stdout 输出被 println 污染

[0.1.0] - 2026-04-24

新增

  • 初始化 Rust 项目结构edition 2021
  • 实现 CLI 模块cli.rs- clap derive 模式
    • --text/--file 文本输入
    • --voice/--format/--output/--play 参数
    • Onboard/Voices/Config/ShowConfig 子命令
  • 实现 API 调用模块api.rs- Builder 模式
    • 双 Header 认证api-key + Authorization: Bearer
    • Base64 解码音频数据
  • 实现配置管理模块config.rs- Singleton 模式
    • 统一配置路径 ~/.config/tts/config.toml
  • 实现主程序入口main.rs
    • tokio 异步运行时
    • 退出码规范0=成功, 1=参数, 2=配置, 3=API, 4=文件)
  • 支持三种输出方式:播放 / 保存 / stdout 流式
  • 创建文档体系taolun.md、changelog.md、agents.md

版本规范

遵循 语义化版本 2.0.0

  • 主版本号:不兼容的 API 修改
  • 次版本号:向下兼容的功能性新增
  • 修订号:向下兼容的问题修正