linshen
69a636921e
feat: refresh built-in provider models
2026-08-13 22:13:54 +08:00
linshen
5d3b7ada92
fix(model): tolerate malformed stored text configs
2026-05-18 21:38:27 +08:00
linshen
74c229a8f5
refactor(model): normalize model config identity
2026-05-16 16:47:18 +08:00
linshen
69db225a1a
feat(model): support headers and text quick switching
...
- Add custom request header parsing and provider metadata resolution
- Add quick switching controls for text model workspaces
- Keep model UI labels and custom header output tidy
2026-05-10 23:08:14 +08:00
linshen
faeee9ff4c
feat(core): update DeepSeek provider for v4 models
2026-04-24 22:35:32 +08:00
linshen
b6fbc21c08
fix(image): stabilize cloudflare-backed reference flow
...
- Align Cloudflare model defaults, metadata, and connection labels across core and UI
- Add transient retry handling for Cloudflare image requests
- Harden reference prompt normalization and extend related regression coverage
2026-04-01 21:07:29 +08:00
linshen
8c0b9ffded
fix(core): backfill builtin model api keys
...
- Backfill builtin model API keys when restoring stored model configurations
- Keep model manager defaults aligned with the new image model loading flow
- Add focused manager test coverage for missing-key recovery
2026-03-31 21:11:37 +08:00
linshen
aa8fe80953
test(e2e): refresh evaluation fixtures and stabilize image flows
2026-03-15 16:30:00 +08:00
linshen
81b8dcda20
fix(core): backfill provider CORS metadata
...
- Mark ModelScope provider as CORS-restricted
- Backfill missing providerMeta.corsRestricted on read
- Avoid eager adapter registry load unless needed
2026-02-03 21:17:00 +08:00
linshen
4098b78354
fix(core): 优化模型初始化策略,保护用户自定义配置不被覆盖
...
- 改进ModelManager初始化逻辑,仅在缺失元数据时补齐默认值
- 增强连接测试功能,提升配置验证和错误处理
- 新增测试用例验证配置保护机制的有效性
2025-10-08 17:47:45 +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
71600b5081
feat: 重构导入导出架构
...
## 核心架构重构
- 创建IImportExportable接口,定义统一的导入导出规范
- 新增ImportExportError错误类,提供专门的错误处理
- 将导入导出逻辑从集中式DataManager分散到各个服务
- DataManager职责精简:从375行减至67行(-308行),仅负责协调
## 存储键架构优化
- 移动storage-keys.ts从ui包到core包,实现统一管理
- 修复存储键双重用途问题:物理存储键vs逻辑JSON导出键
- PreferenceService添加'pref:'前缀处理物理存储
- 解决数据导出不完整的关键架构缺陷
## 服务层改造
### ModelManager
- 实现IImportExportable接口(+209行,-153行)
- 添加exportData/importData/validateData方法
- 保持向后兼容的数据格式
### TemplateManager
- 实现分布式导入导出逻辑
- 移除过度设计的configurable storageKey
- 统一使用PreferenceService管理用户偏好
### HistoryManager
- 添加完整的导入导出实现
- 支持数据验证和错误处理
### PreferenceService
- 实现统一的用户设置导入导出
- 处理存储键前缀转换逻辑
- 支持builtin-template-language等核心设置
## Electron桌面端更新
- main.js: 新增148行IPC处理逻辑
- preload.js: 新增177行API暴露
- 更新所有service proxy类支持新接口
- 保持IPC通信的类型安全
## 测试体系完善
- 新增各服务专门的import-export.test.ts文件
- 创建data/import-export-integration.test.ts集成测试
- 建立AI自动化测试框架验证存储键一致性
- 更新现有测试适配新架构
## 文档与架构说明
- 创建import-export-interface-design.md设计文档
- 添加storage-key-architecture.md架构说明
- 建立AI自动化测试文档体系
- 更新workspace文档记录重构过程
BREAKING CHANGE: 导入导出接口从集中式DataManager重构为分布式服务实现,
各服务现在必须实现IImportExportable接口,存储键架构发生变化
2025-07-12 11:56:14 +08:00
linshen
2f4d7429ef
feat: 更新文档与组件,引入应用初始化器与服务依赖注入,完成Vue Composable架构重构
...
- 更新 `composables-refactor-plan.md` 与 `experience.md`,记录重构成果、问题与后续计划,强调顶层声明和响应式连接。引入 `useAppInitializer`,及其对架构统一和代码复用的贡献。
- 更新多个组件与Composable文件,使其通过 `inject` 获取服务实例引用,解决了`ref` 迁移到 `reactive` 和异步回调中调用Composable函数导致的错误,优化了模板管理器的使用方式,并移除对服务单例的直接依赖。
- 修复 `templateLanguageService` 依赖注入失败的 bug,更新组件导出和模板管理器,优化代码结构与可读性。
- 将背景与目标修改为当前状态与问题,明确上层应用尚未适配底层重构的现状,并记录Web应用和浏览器插件启动失败问题,提出后续修复步骤。更新实施计划,强调对齐上层应用与底层服务架构的必要性。
2025-06-28 19:43:11 +08:00
linshen
31b807ba0b
feat: 重构核心服务以支持Electron环境,并增强历史管理器功能
...
- 核心服务:
- 移除单例导出,引入工厂函数模式以提升灵活性和可测试性。
- 显式接收依赖并处理重构中的依赖问题,更新文档以反映新的服务创建方式和依赖注入策略。
- 添加相应的代理和管理器工厂函数,优化服务初始化逻辑,确保在Electron环境下的配置同步。
- 历史管理器:引入 `IModelManager` 支持模型管理,修改构造函数并恢复模型名称获取逻辑。
- 构建配置:
- 更新 `.gitignore` 文件,添加桌面应用相关构建和分发文件的忽略规则。
- 在 `package.json` 中新增桌面应用构建和开发命令。
- 更新 `pnpm-lock.yaml` 以包含新依赖。
- 重构计划文档:移除循环依赖描述,增加重构反思与后续决策,优化 `ensureInitialized()` 调用,修正错误处理行为并提升测试代码严谨性。
2025-06-28 11:21:33 +08:00
linshen
d00fda6cec
feat(prompt): 优化提示词服务和用户界面,简化上下文提示词要求
...
- 移除对 contextPrompt 的强制要求,提升用户体验
- 更新测试用例,验证新功能的正确性
- 修改国际化文件,去掉不必要的提示信息
- 优化模型管理测试,确保新增模型的正确性
2025-06-18 22:25:03 +08:00
linshen
688bb2e2bf
feat(core): 添加高级LLM参数配置功能
...
- 在模型配置中引入 `llmParams` 字段,允许用户为每个模型单独设置高级LLM参数
- 更新文档,详细说明 `llmParams` 的使用方法及示例
- 在模型管理器中实现对 `llmParams` 的验证和处理逻辑
- 增强 LLMService 以支持从 `llmParams` 中提取参数,优化模型行为控制
- 更新 UI 组件以支持高级参数的配置和展示,提升用户体验
2025-06-07 16:30:39 +08:00
linshen
a2173548d7
feat(core): 重构数据管理器并添加 UI 配置导入导出功能
...
- 重构了 DataManager 类,增加了 UI 配置导入导出功能
- 优化了数据导入流程,能够处理部分数据导入失败的情况
- 添加了对 UI 配置数据的导入导出支持
- 重构了部分错误处理逻辑,提高了代码的健壮性
2025-05-26 22:48:01 +08:00
linshen
22638cbde0
refactor: Migrate from LangChain to native SDKs for LLM services
...
- Replace LangChain dependencies with native OpenAI and Google Generative AI SDKs
- Rewrite LLMService to use direct API calls for OpenAI and Gemini
- Update core package dependencies to remove LangChain-related packages
- Modify message handling and streaming logic to work with new SDK implementations
- Simplify model configuration and instance management
- Update integration and unit tests to support new SDK approach
- Remove LangChain-specific message conversion and streaming methods
2025-02-23 09:12:00 +08:00
linshen
4d88c3093d
refactor: Consolidate and clean up test files across core and web packages
...
- Remove redundant integration and unit test files from web package
- Update import paths in remaining test files to use local source
- Remove console logs and unnecessary comments in test files
- Simplify test structure and remove duplicate test scenarios
- Add dotenv dependency to core package for environment variable support
2025-02-22 16:02:52 +08:00