3 Commits
Author SHA1 Message Date
linshen 93377e1b70 feat(favorites): standardize prompt asset sessions
- Add prompt-model services for content, examples, modes, sessions, and history
- Persist richer favorite prompt-asset metadata and session projections
- Wire favorite save/apply paths across supported workspaces
- Cover the new prompt-asset contract with core and UI regressions
2026-05-01 10:24:18 +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