Files
haibao-tts-cli/agents.md
titor be83f288a5 feat: 初始化 Mimo-TTS CLI 工具
- 实现文本转语音功能(支持多种音色)
- 支持流式输出(--stream)和直接播放(--play)
- 实现自动语气转换器(根据标点自动添加语气标签)
- 使用 crossterm 美化 CLI 输出
- 配置分层设计(项目配置 + 用户配置)
- 独立模块划分:api.rs, cli.rs, config.rs, tone.rs, ui.rs

v0.1.0
2026-04-24 03:32:44 +08:00

69 lines
2.4 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.
# 项目规范与 AI 规范 (agents.md)
## 项目规范
### 代码风格
- 使用 Rust 官方代码风格rustfmt
- 所有公开 API 必须包含中文文档注释(///
- 复杂逻辑必须包含行内中文注释
- 结构体、枚举、trait 使用 PascalCase 命名
- 变量、函数使用 snake_case 命名
### 架构设计
本项目采用 **面向对象 (OOP) + 设计模式** 架构:
1. **Builder 模式**:用于构建复杂的 API 请求对象
2. **Strategy 模式**:不同音色和音频格式的处理策略
3. **Singleton 模式**:全局配置管理器(确保配置只加载一次)
4. **封装**:每个模块负责单一职责,通过 pub 控制可见性
### 错误处理
- 使用 `anyhow::Result<T>` 作为统一返回类型
- 自定义错误类型(如需更精细控制)
- 退出码规范:
- 0: 成功
- 1: 参数错误
- 2: 配置错误(如缺少 API Key
- 3: API 调用失败
- 4: 文件操作失败
### 文档要求
- 每次操作前必须更新对应文档
- 代码变更同步更新 changelog.md
- 踩坑记录及时写入【认知修正】章节
---
## AI 规范
### 沟通语言
- 全程使用中文与用户沟通
- 代码注释使用中文
- 文档使用中文编写
### 执行顺序
每次执行任何操作前,按以下顺序更新文档:
1. 更新 `taolun.md` - 记录本次对话要点
2. 更新 `agents.md` 的【认知修正】- 如有踩坑
3. 更新 `changelog.md` - 如有版本变更
4. 执行实际操作
---
## 认知修正(踩坑记录)
### 2026-04-24 - 项目初始化
#### 问题Mimo-TTS API 文档无法直接访问
**现象**:使用 webfetch 工具访问 https://platform.xiaomimimo.com/docs/ 返回的内容不完整
**原因**:网站可能有反爬虫机制或需要 JavaScript 渲染
**解决方案**:通过 websearch 搜索相关内容,从第三方文档(如 DMXAPI、GitHub 项目)获取 API 详细信息
**经验**:对于无法直接抓取的文档,可以通过搜索引擎找到镜像或第三方整理的资料
#### 问题API 认证需要双 Header
**现象**:标准的 OpenAI SDK 方式(仅使用 Authorization Bearer可能无法正常工作
**原因**Mimo-TTS API 要求同时提供 `api-key``Authorization: Bearer` 两个 Header
**解决方案**:在代码中同时设置两个 Header
**经验**:阅读 API 文档时要注意认证方式的特殊性,不能假设与标准 OpenAI API 完全一致