linshen
|
8467b96263
|
feat(test): 实现智能测试系统并改进测试策略
- 实现智能测试系统,统一测试入口
- 完成 Pro 路由重构和 Image 模式评估测试
- 为 Image 模式添加 data-testid 支持
- 完善 E2E 测试并修复选择器策略
- 优化 Seedream、OpenAI 和 SiliconFlow 适配器
- 移除调试日志,保留错误和警告日志
- 重命名 Pro 模式子模式(system/user → multi/variable)
- 清理测试代码并改进稳定性
|
2026-01-10 11:23:00 +08:00 |
|
linshen
|
5de5614664
|
refactor(core): 重构LLM服务为Adapter模式架构
重大架构升级:
- 引入Adapter模式,实现Provider解耦
- 新增7个Provider适配器(OpenAI、Gemini、Anthropic等)
- 精简LLMService从2000+行到300+行
- 引入TextModelConfig新类型系统,支持向后兼容
- 完善类型定义和测试覆盖
架构改进:
- 抽象基类AbstractTextProviderAdapter提供模板方法
- TextAdapterRegistry统一管理所有适配器
- 支持动态模型获取(OpenAI兼容API)
- 提供配置转换器实现平滑升级
新增文件:
- packages/core/src/services/llm/adapters/ (8个文件)
- packages/core/src/services/model/converter.ts
- packages/core/src/services/model/text-model-defaults.ts
- docs/architecture/llm-refactor.md
- 9个新增测试文件
修改文件:
- packages/core/src/services/llm/service.ts
- packages/core/src/services/model/types.ts
- packages/core/src/index.ts
- 31个测试文件更新
- UI组件和composables适配新类型
BREAKING CHANGE: 模型配置结构从ModelConfig升级为TextModelConfig
(已提供converter.ts确保向后兼容和自动转换)
测试结果:
✅ TypeScript类型检查通过 (core + ui)
✅ 563个测试通过,90个跳过
✅ Core包构建成功
|
2025-10-04 01:01:08 +08:00 |
|
linshen
|
ba63eff9ad
|
feat: 重构图像模型管理架构并优化用户界面
## 核心改进
### 🏗️ 架构重构
- 实现ImageModelManager组件分离设计,关注点明确分离
- 重构ModelManager.vue为统一模型管理入口,支持文本/图像双模式
- 采用组件复用和扩展性设计,易于添加新模型类型
### 🎨 界面优化
- 摒弃5步导航式编辑,改为一体化界面设计
- 优化ImageModelEditModal为单页滚动布局,提升操作效率
- 统一文本和图像模型管理的交互体验和视觉风格
### 🔌 适配器扩展
- 新增OpenRouter和SiliconFlow图像适配器支持
- 完善AbstractImageProviderAdapter抽象基类设计
- 优化适配器注册表和动态模型发现机制
### 💻 类型系统
- 完善ImageModelConfig和相关类型定义
- 增强TypeScript类型安全和智能提示
- 优化服务层接口设计和依赖注入架构
### 🧪 测试覆盖
- 新增图像适配器单元测试和集成测试
- 添加E2E验收测试保证功能完整性
- 增强连接测试和参数验证测试覆盖
### 📚 文档完善
- 新增图像模型管理架构设计文档
- 添加一体化界面改进方案文档
- 更新项目结构和开发指南
## 技术特点
- **SOLID原则**:清晰的单一职责和开闭扩展设计
- **组合模式**:ImageModelManager + ModelManager.vue 组合架构
- **响应式设计**:基于Vue 3 Composition API的状态管理
- **依赖注入**:松耦合的服务架构和组件通信
这次重构显著提升了图像模型管理的用户体验和代码可维护性,
为后续音频、视频等多模态功能扩展奠定了坚实基础。
|
2025-09-21 20:17:03 +08:00 |
|
linshen
|
8a35c010cc
|
feat: 新增文件存储支持与历史记录管理优化
- 在`.gitignore`中添加了`prompt-optimizer-datas`以排除相关数据文件。
- 更新`INDEX.md`,新增桌面版文件存储实现的相关信息,确保文档的完整性。
- 在`index.ts`中导出了`FileStorageProvider`,支持文件存储功能。
- 修改`factory.ts`,新增对文件存储类型的支持,并优化错误处理逻辑。
- 在集成测试中模拟了历史记录的保存与验证,确保功能的正确性。
- 更新了多个测试用例,确保历史记录管理逻辑的准确性与一致性。
这些变更旨在提升数据存储的灵活性与历史记录管理的可靠性,确保用户体验的优化。
|
2025-07-05 16:24:21 +08:00 |
|
linshen
|
6c6b68726f
|
feat: 接口驱动架构改造与TemplateManager重构
本次提交主要完成了以下变更:
- 在`experience.md`中新增接口驱动架构改造的核心原则、最佳实践和审核检查清单,确保所有模块通过明确定义的接口进行交互。
- 重构`TemplateManager`,移除复杂的异步初始化逻辑,简化其依赖关系,确保其只关注核心业务。
- 在`scratchpad.md`中更新当前任务进展,记录了对各个服务的重构状态和计划步骤。
- 在`todo.md`中添加了紧急任务和重要任务,确保架构改造的顺利进行。
这些更新旨在提升项目的可维护性和一致性,确保开发者能够更专注于核心功能的开发。
|
2025-06-29 20:31:42 +08:00 |
|
linshen
|
58b5e9e91d
|
feat: 更新Gemini模型名称并统一异步调用逻辑,修复GoogleGenerativeAI实例创建
- 更新Gemini模型名称从`gemini-2.0-flash-exp`到`gemini-2.0-flash`,确保一致性。
- 统一测试文件中异步方法调用,使用`await`关键字提升代码可读性和稳定性。
- 修复GoogleGenerativeAI实例创建逻辑,直接传入API key。
|
2025-06-29 13:32:47 +08:00 |
|
linshen
|
31b807ba0b
|
feat: 重构核心服务以支持Electron环境,并增强历史管理器功能
- 核心服务:
- 移除单例导出,引入工厂函数模式以提升灵活性和可测试性。
- 显式接收依赖并处理重构中的依赖问题,更新文档以反映新的服务创建方式和依赖注入策略。
- 添加相应的代理和管理器工厂函数,优化服务初始化逻辑,确保在Electron环境下的配置同步。
- 历史管理器:引入 `IModelManager` 支持模型管理,修改构造函数并恢复模型名称获取逻辑。
- 构建配置:
- 更新 `.gitignore` 文件,添加桌面应用相关构建和分发文件的忽略规则。
- 在 `package.json` 中新增桌面应用构建和开发命令。
- 更新 `pnpm-lock.yaml` 以包含新依赖。
- 重构计划文档:移除循环依赖描述,增加重构反思与后续决策,优化 `ensureInitialized()` 调用,修正错误处理行为并提升测试代码严谨性。
|
2025-06-28 11:21:33 +08:00 |
|
linshen
|
bfd36b7176
|
feat(tests): 为Gemini API测试添加延迟处理以避免频率限制
- 在Gemini API集成测试中,添加了每个测试之间的延迟,以防止频率限制导致的失败。
- 更新了LLM参数测试,增加了延迟处理,确保测试稳定性。
- 修改OutputDisplay组件的测试,使用data-testid属性来查找工具栏元素,提升测试的准确性。
|
2025-06-25 22:34:51 +08:00 |
|
linshen
|
14ef914dee
|
feat(template): 新增确保管理器初始化的方法并更新优化模式选择器
- 在模板管理器接口中新增 `ensureInitialized` 方法,确保管理器在使用前已正确初始化
- 更新多个组件和测试用例,将提示词类型更改为优化模式,提升代码一致性
- 修改国际化文件,确保优化模式相关文本的多语言支持
- 重构输入面板和优化面板,整合优化模式选择器,提升用户体验
|
2025-06-21 19:17:57 +08:00 |
|
linshen
|
ff21975d9d
|
feat(template): 重构模板管理,每个功能提示词版本单独一个文件
- 移除默认模板文件,改为使用静态加载器加载模板
- 在模板元数据中添加语言字段,支持中英文模板切换
- 更新模板验证逻辑,确保语言字段的正确性
- 修改相关测试用例,验证新功能的正确性和稳定性
|
2025-06-19 22:17:23 +08:00 |
|
linshen
|
ebf4d2730b
|
feat(prompt): 增强提示词服务以支持用户和系统提示词优化
- 新增提示词类型选择功能,允许用户选择优化模式(系统或用户)
- 更新优化提示词接口,支持传入优化请求对象
- 修改相关模板管理和测试用例,以适应新的提示词类型
- 增强国际化支持,更新相关语言文件以反映新功能
|
2025-06-18 22:25:02 +08:00 |
|
linshen
|
a2173548d7
|
feat(core): 重构数据管理器并添加 UI 配置导入导出功能
- 重构了 DataManager 类,增加了 UI 配置导入导出功能
- 优化了数据导入流程,能够处理部分数据导入失败的情况
- 添加了对 UI 配置数据的导入导出支持
- 重构了部分错误处理逻辑,提高了代码的健壮性
|
2025-05-26 22:48:01 +08:00 |
|