2026-04-24 03:32:44 +08:00
|
|
|
|
# 版本变更记录 (changelog.md)
|
|
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
## [0.3.2] - 2026-05-09
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 修复
|
|
|
|
|
|
- 修复流式播放无声音问题(守护进程 `send --stream` 和 CLI `--stream --play`)
|
|
|
|
|
|
- 修复 SSE 解析结构体层级:`audio` 在 `choices[0].delta.audio.data`,非顶层字段
|
|
|
|
|
|
- 修复 SSE 行分割问题:HTTP bytes_stream chunk 边界不对齐 `\n`,添加 `line_buf` 行缓冲器
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 重构
|
|
|
|
|
|
- 重写 daemon 主循环:`LocalSet` + `spawn_local` 替代 `std::thread::spawn` + 桥接,简化流式播放路径
|
|
|
|
|
|
- 统一 CLI 和 daemon 的流式播放逻辑
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
## [0.3.1] - 2026-05-09
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 修复
|
|
|
|
|
|
- 修复 HTTP `/synthesize` 接口未实际调用 TTS 合成的问题(之前只返回"请求已接收")
|
|
|
|
|
|
- 修复语气替换 bug:长匹配(`...`/`……`)优先于短匹配(`.`/`。`),避免替换冲突
|
|
|
|
|
|
- 修复 `show_voices()` 显示旧版 3 音色而非完整 9 音色列表
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 代码质量
|
|
|
|
|
|
- 清理 9 个编译器警告(unused code/import/variable)
|
|
|
|
|
|
- 修复 `write_log` 线程安全问题:使用 `Mutex` 保护 HTTP 线程与 async 线程的并发文件写入
|
|
|
|
|
|
- 实现 0 警告 0 错误构建
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
---
|
2026-04-24 03:32:44 +08:00
|
|
|
|
|
2026-04-25 05:50:28 +08:00
|
|
|
|
## [0.3.0] - 2026-04-25
|
|
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 新增
|
|
|
|
|
|
- 实现守护进程(Daemon)模式,类似 Docker 架构
|
|
|
|
|
|
- TCP Socket 服务器(tokio::net::TcpListener),多客户端并发支持
|
2026-04-25 05:50:28 +08:00
|
|
|
|
- PID 文件管理(启动/停止/状态检测)
|
|
|
|
|
|
- 日志记录到 `~/.config/tts/ttsd.log`
|
|
|
|
|
|
- 复用现有 TTS API 调用和音频播放功能
|
2026-05-09 04:06:47 +08:00
|
|
|
|
- 新增 `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>` 标签(符合官方文档)
|
2026-04-25 05:50:28 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
---
|
2026-04-25 06:34:54 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
## [0.2.0] - 2026-04-24
|
2026-04-25 06:34:54 +08:00
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 新增
|
|
|
|
|
|
- 实现 `--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 污染
|
2026-04-25 06:34:54 +08:00
|
|
|
|
|
2026-04-25 05:50:28 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## [0.1.0] - 2026-04-24
|
|
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
### 新增
|
|
|
|
|
|
- 初始化 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)
|
2026-04-25 05:50:28 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-09 04:06:47 +08:00
|
|
|
|
## 版本规范
|
|
|
|
|
|
遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/):
|
|
|
|
|
|
- 主版本号:不兼容的 API 修改
|
|
|
|
|
|
- 次版本号:向下兼容的功能性新增
|
|
|
|
|
|
- 修订号:向下兼容的问题修正
|