2026-03-28 23:19:13 +08:00
|
|
|
|
# 变更日志 (changelog.md)
|
|
|
|
|
|
|
|
|
|
|
|
> 本文档记录所有版本变更,包含功能、修复和讨论链接。
|
|
|
|
|
|
|
|
|
|
|
|
## 使用说明
|
|
|
|
|
|
- 版本号格式:`主版本.次版本.修订版本`(如 `0.0.1`)
|
|
|
|
|
|
- 第三位为00-99,超过99时增加第二位
|
|
|
|
|
|
- 每个版本包含指向讨论记录的链接
|
|
|
|
|
|
|
|
|
|
|
|
## 未来架构想法
|
|
|
|
|
|
- [ ] 支持流式翻译输出
|
|
|
|
|
|
- [ ] 添加本地缓存减少API调用
|
|
|
|
|
|
- [ ] 实现插件系统支持自定义厂商
|
|
|
|
|
|
- [ ] 支持批量翻译文件
|
|
|
|
|
|
- [ ] 添加Web界面(可选)
|
|
|
|
|
|
|
|
|
|
|
|
## 待实现
|
|
|
|
|
|
- [ ] 实现硅基流动厂商
|
|
|
|
|
|
- [ ] 实现火山引擎厂商
|
|
|
|
|
|
- [ ] 实现国家超算厂商
|
|
|
|
|
|
- [ ] 实现Qwen厂商
|
|
|
|
|
|
- [ ] 实现OpenAI兼容厂商
|
|
|
|
|
|
- [ ] 配置文件热重载
|
|
|
|
|
|
- [ ] 翻译历史记录
|
|
|
|
|
|
|
|
|
|
|
|
## 当前正实现
|
|
|
|
|
|
- [ ] 项目基础架构搭建
|
|
|
|
|
|
- [ ] 核心类设计实现
|
|
|
|
|
|
|
|
|
|
|
|
## 待修复BUG
|
|
|
|
|
|
- 无
|
|
|
|
|
|
|
|
|
|
|
|
## 版本历史
|
|
|
|
|
|
|
feat: add language support and onboard configuration wizard (v0.2.0)
- Add language code intelligent parsing module (internal/lang)
- Support --lang parameter for target language specification
- Support multiple language code formats (BCP47, aliases, Chinese names)
- Implement interactive onboard configuration wizard
- Update Config struct with language fields
- Add survey library dependency for interactive UI
- Improve CLI command interface
- Add comprehensive unit tests for language module
- Update documentation (AGENTS.md, changelog.md, taolun.md, memory.md)
Supported language codes:
- Standard: zh-CN, zh-TW, en-US, en-GB, ja, ko, es, fr, de
- Aliases: cn, en, jp, kr, es, fr, de
- Chinese names: chinese, english, japanese
Commands:
- yoyo "Hello world" - basic translation
- yoyo --lang=cn "Hello world" - specify target language
- yoyo onboard - start configuration wizard
- yoyo onboard --force - force reconfiguration
Version: 0.2.0
2026-03-29 01:30:42 +08:00
|
|
|
|
### 0.2.0 (2026-03-29) - 语言支持和配置向导
|
|
|
|
|
|
**类型**: 功能版本
|
|
|
|
|
|
**状态**: 开发中
|
|
|
|
|
|
|
|
|
|
|
|
**变更内容**:
|
|
|
|
|
|
- ✅ 添加语言代码智能解析模块 (internal/lang)
|
|
|
|
|
|
- ✅ 支持 `--lang` 参数指定目标语言
|
|
|
|
|
|
- ✅ 支持多种语言代码格式(标准BCP47、别名、中文名称)
|
|
|
|
|
|
- ✅ 实现 onboard 交互式配置向导
|
|
|
|
|
|
- ✅ 更新配置结构添加语言字段
|
|
|
|
|
|
- ✅ 添加 survey 库依赖用于交互式界面
|
|
|
|
|
|
- ✅ 改进CLI命令行接口
|
|
|
|
|
|
- ✅ 添加语言模块单元测试
|
|
|
|
|
|
|
|
|
|
|
|
**新增文件**:
|
|
|
|
|
|
- `internal/lang/lang.go` - 语言代码解析模块
|
|
|
|
|
|
- `internal/lang/lang_test.go` - 语言模块测试
|
|
|
|
|
|
- `internal/onboard/onboard.go` - 配置向导实现
|
|
|
|
|
|
|
|
|
|
|
|
**支持的语言代码**:
|
|
|
|
|
|
- 标准格式: zh-CN, zh-TW, en-US, en-GB, ja, ko, es, fr, de 等
|
|
|
|
|
|
- 简短别名: cn(中文), en(英文), jp(日文), kr(韩文) 等
|
|
|
|
|
|
- 中文名称: chinese(中文), english(英文), japanese(日文) 等
|
|
|
|
|
|
|
|
|
|
|
|
**使用示例**:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 基本翻译
|
|
|
|
|
|
yoyo "Hello world"
|
|
|
|
|
|
yoyo --lang=cn "Hello world"
|
|
|
|
|
|
yoyo --lang=en "你好世界"
|
|
|
|
|
|
yoyo --lang=zh-TW "Hello world"
|
|
|
|
|
|
|
|
|
|
|
|
# 配置向导
|
|
|
|
|
|
yoyo onboard
|
|
|
|
|
|
yoyo onboard --force
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**讨论记录**:
|
|
|
|
|
|
- [语言代码解析设计](taolun.md#语言代码解析设计)
|
|
|
|
|
|
- [onboard配置向导](taolun.md#onboard配置向导)
|
|
|
|
|
|
|
|
|
|
|
|
**下一步**:
|
|
|
|
|
|
- 实现更多厂商(火山引擎、国家超算、Qwen、OpenAI兼容)
|
|
|
|
|
|
- 添加配置文件路径查找机制
|
|
|
|
|
|
- 实现配置文件迁移工具
|
|
|
|
|
|
- 完善错误处理和用户体验
|
|
|
|
|
|
|
2026-03-28 23:30:57 +08:00
|
|
|
|
### 0.0.3 (2026-03-29) - 环境变量加载修复
|
|
|
|
|
|
**类型**: 修复版本
|
|
|
|
|
|
**状态**: 开发中
|
|
|
|
|
|
|
|
|
|
|
|
**变更内容**:
|
|
|
|
|
|
- ✅ 修复环境变量加载问题
|
|
|
|
|
|
- ✅ 添加godotenv依赖
|
|
|
|
|
|
- ✅ 更新memory.md记录踩坑经验
|
|
|
|
|
|
- ✅ 测试CLI基本功能
|
|
|
|
|
|
|
|
|
|
|
|
**讨论记录**:
|
|
|
|
|
|
- [环境变量加载修复](taolun.md#2026-03-29-0000-版本-003-环境变量加载修复)
|
|
|
|
|
|
|
|
|
|
|
|
**下一步**:
|
|
|
|
|
|
- 实现更多厂商
|
|
|
|
|
|
- 添加更多测试
|
|
|
|
|
|
- 完善错误处理
|
|
|
|
|
|
|
2026-03-28 23:27:02 +08:00
|
|
|
|
### 0.0.2 (2026-03-28) - 核心架构实现
|
|
|
|
|
|
**类型**: 功能版本
|
|
|
|
|
|
**状态**: 开发中
|
|
|
|
|
|
|
|
|
|
|
|
**变更内容**:
|
|
|
|
|
|
- ✅ 实现Config配置类(internal/config/config.go)
|
|
|
|
|
|
- ✅ 实现Provider接口和工厂模式(internal/provider/)
|
|
|
|
|
|
- ✅ 实现硅基流动厂商(internal/provider/siliconflow.go)
|
|
|
|
|
|
- ✅ 实现Translator核心翻译类(internal/translator/)
|
|
|
|
|
|
- ✅ 实现Prompt管理器(internal/translator/prompt.go)
|
|
|
|
|
|
- ✅ 创建CLI入口点(cmd/yoyo/main.go)
|
|
|
|
|
|
- ✅ 添加配置文件模板(configs/config.yaml)
|
|
|
|
|
|
- ✅ 添加单元测试(internal/config/config_test.go)
|
|
|
|
|
|
- ✅ 初始化Git仓库和版本标签
|
|
|
|
|
|
|
|
|
|
|
|
**讨论记录**:
|
|
|
|
|
|
- [实现核心架构](taolun.md#2026-03-28-2350-版本-002-实现核心架构)
|
|
|
|
|
|
|
|
|
|
|
|
**下一步**:
|
|
|
|
|
|
- 实现其他厂商(火山引擎、国家超算、Qwen、OpenAI兼容)
|
|
|
|
|
|
- 添加更多测试
|
|
|
|
|
|
- 实现批量翻译功能
|
|
|
|
|
|
- 添加翻译历史记录
|
|
|
|
|
|
- 实现配置文件热重载
|
|
|
|
|
|
|
2026-03-28 23:19:13 +08:00
|
|
|
|
### 0.0.1 (2026-03-28) - 项目初始化
|
|
|
|
|
|
**类型**: 初始化版本
|
|
|
|
|
|
**状态**: 开发中
|
|
|
|
|
|
|
|
|
|
|
|
**变更内容**:
|
|
|
|
|
|
- ✅ 确定技术栈为Go语言
|
|
|
|
|
|
- ✅ 设计OOP架构(Config、Provider、Translator)
|
|
|
|
|
|
- ✅ 制定开发规范(taolun.md、changelog.md、memory.md、why.md)
|
|
|
|
|
|
- ✅ 确定分支策略(main、dev)
|
|
|
|
|
|
- ✅ 设计项目结构
|
|
|
|
|
|
- ✅ 创建项目初衷文档(why.md)
|
|
|
|
|
|
|
|
|
|
|
|
**讨论记录**:
|
|
|
|
|
|
- [确定技术栈](taolun.md#2026-03-28-2230-版本-001-确定技术栈)
|
|
|
|
|
|
- [设计OOP架构](taolun.md#2026-03-28-2300-版本-001-设计oop架构)
|
|
|
|
|
|
- [制定开发规范](taolun.md#2026-03-28-2330-版本-001-制定开发规范)
|
|
|
|
|
|
- [创建项目初衷文档](taolun.md#2026-03-28-2345-版本-001-创建项目初衷文档)
|
|
|
|
|
|
|
|
|
|
|
|
**下一步**:
|
|
|
|
|
|
- 创建项目目录结构
|
|
|
|
|
|
- 初始化Go模块
|
|
|
|
|
|
- 实现Config类
|
|
|
|
|
|
- 实现Provider接口
|
|
|
|
|
|
- 用户填写why.md内容
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 版本号管理规则
|
|
|
|
|
|
|
|
|
|
|
|
### 版本号格式
|
|
|
|
|
|
`主版本.次版本.修订版本`(例如:`1.2.3`)
|
|
|
|
|
|
|
|
|
|
|
|
### 更新规则
|
|
|
|
|
|
1. **主版本**(第一位):重大架构变更、不兼容更新
|
|
|
|
|
|
2. **次版本**(第二位):新功能、重要特性
|
|
|
|
|
|
3. **修订版本**(第三位):小修复、优化(00-99)
|
|
|
|
|
|
|
|
|
|
|
|
### 更新流程
|
|
|
|
|
|
1. 完成开发并测试
|
|
|
|
|
|
2. 更新changelog.md
|
|
|
|
|
|
3. 更新taolun.md(如有讨论)
|
|
|
|
|
|
4. 更新memory.md(如有新知识)
|
|
|
|
|
|
5. 更新版本号
|
|
|
|
|
|
6. 提交到dev分支
|
|
|
|
|
|
7. 测试通过后合并到main
|
|
|
|
|
|
8. 创建版本标签:`git tag v0.0.1`
|
|
|
|
|
|
|
|
|
|
|
|
### 示例版本递增
|
|
|
|
|
|
- `0.0.1` → `0.0.2`:小修复
|
|
|
|
|
|
- `0.0.99` → `0.1.0`:新功能(修订版本溢出)
|
|
|
|
|
|
- `1.2.3` → `2.0.0`:重大架构变更
|