Files
haibao-tts-cli/changelog.md

117 lines
4.3 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.
# 版本变更记录 (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简洁易调试
- 风格参数自动转换为 `<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](https://semver.org/lang/zh-CN/)
- 主版本号:不兼容的 API 修改
- 次版本号:向下兼容的功能性新增
- 修订号:向下兼容的问题修正