# 版本变更记录 (changelog.md) ## [0.3.2] - 2026-05-09 ### 修复 - 修复流式播放无声音问题(守护进程 `send --stream` 和 CLI `--stream --play`) - 修复 SSE 解析结构体层级:`audio` 在 `choices[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,简洁易调试 - 风格参数自动转换为 `` 标签(符合官方文档) --- ## [0.2.0] - 2026-04-24 ### 新增 - 实现 `--stream` 流式输出功能 - SSE(Server-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](https://semver.org/lang/zh-CN/): - 主版本号:不兼容的 API 修改 - 次版本号:向下兼容的功能性新增 - 修订号:向下兼容的问题修正