14 Commits
Author SHA1 Message Date
linshen bfd1543110 feat: refresh built-in model catalog 2026-09-10 16:42:28 +08:00
linshen 90b957c983 feat(image): deliver multi-image generation workflow
- add multi-image request types, routing, favorites integration, and desktop bridges
- support multimodal streaming prompt optimization with ordered image inputs
- enable Seedream multi-image generation and redesign the multi-image workspace
- add coverage for routing, persistence, workspace guards, and end-to-end flows
2026-04-06 14:13:28 +08:00
linshen 204c5d9816 feat(ui): 提升可访问性并稳定 Pro Multi 流程
- 提升 UI 组件可访问性与导航交互一致性\n- 稳定 Pro Multi 消息优化流程,降低 E2E flake
2026-01-13 21:17:00 +08:00
linshen f4c24aaa03 refactor(core): 优化 Gemini adapter 与测试架构
主要改进:
- 优化 Gemini adapter 文本提取逻辑,优先使用 SDK response.text 属性
- 正确处理 Gemini 2.5+ 思考内容(thought)与普通文本的区分
- thinkingBudget 最小值改为 0,允许禁用思考功能
- 增强 PromptService 错误处理,验证失败时正确触发 onError 回调
- 重构集成测试,引入 createTestConfig 辅助函数消除硬编码
- 迁移 Anthropic adapter 测试到官方 SDK mock
- 添加测试间速率限制保护机制

测试结果:
- 565/566 测试通过 (99.8%)
- 类型检查全部通过
- 代码量净减少 27 行
2025-10-09 22:23:31 +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 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 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 8c7eebe12a feat(prompt): 增强提示词服务以支持模板ID和错误信息国际化
- 更新 PromptService 以接受可选的 templateId 参数,支持不同模板的优化和迭代
- 增加默认模板ID常量,简化模板管理
- 优化错误信息,提供英文提示以增强可读性
- 更新 TemplateProcessor 以验证模板内容和上下文兼容性
- 修改相关测试用例以适应新功能
2025-06-08 16:00:46 +08:00
linshen 316893023b feat(template): 实现高级模板支持并优化提示词服务
- 新增 TemplateProcessor 类实现模板处理功能
- 更新 PromptService 以支持高级模板
- 修改 Template 类增加 MessageTemplate 类型
- 优化迭代模板以支持变量替换
- 增加模板验证和错误处理
2025-06-08 14:49:18 +08:00