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

2.4 KiB
Raw Blame History

项目规范与 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-keyAuthorization: Bearer 两个 Header 解决方案:在代码中同时设置两个 Header 经验:阅读 API 文档时要注意认证方式的特殊性,不能假设与标准 OpenAI API 完全一致