50 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
faeee9ff4c feat(core): update DeepSeek provider for v4 models 2026-04-24 22:35:32 +08:00
linshen
713143d47b feat(models): add responses request style for openai apis 2026-04-15 21:47:23 +08:00
linshen
54fbd76685 fix(i18n): restore locale defaults and localized feedback
- restore locale bootstrap defaults across UI and MCP startup paths
- localize template, context editor, favorites, Prompt Garden, and history feedback toasts
- isolate UI consumer typechecks needed by the localization rollout
- add regression tests covering english-first runtime behavior and localized fallbacks
2026-04-09 22:17:34 +08:00
linshen
bb7af28d3d fix(repo): harden english-first checks and MCP packaging
- strengthen locale parity checks and related regression coverage
- stabilize repo-level english-first test expectations
- harden MCP packaging, install entrypoints, and supporting script validation
- tighten related config and model checks used by the rollout
2026-04-09 20:31:52 +08:00
linshen
7d2e17c3e2 fix(core): force seedream base64 image responses 2026-04-06 23:19:53 +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
Prashant Jain
6e028c738f feat(core): enable dynamic model fetching for Gemini image adapter (#268)
* feat(core): enable dynamic model fetching for Gemini image adapter

Implement getModelsAsync() in GeminiImageAdapter to dynamically fetch
available image models from the Gemini API, so new models appear without
code changes. Falls back to static list on failure.

* fix(core): restrict Gemini image models to generateContent-compatible families

---------

Co-authored-by: linshen <32978552+linshenkx@users.noreply.github.com>
2026-03-11 22:21:03 +08:00
linshen
03a62630bd fix(i18n): align core errors to structured codes
- Normalize IPC/plain-object errors via toErrorWithCode
- Align image adapter + storage config errors to i18n codes
- Add missing UI locale keys and update tests
2026-01-20 22:23:00 +08:00
linshen
007a37e26a feat(core): structured image errors and adapters
- Add structured image error codes and types\n- Update image adapters and service surface for explicit requests\n- Update core tests and vitest configuration
2026-01-18 10:08:00 +08:00
linshen
204c5d9816 feat(ui): 提升可访问性并稳定 Pro Multi 流程
- 提升 UI 组件可访问性与导航交互一致性\n- 稳定 Pro Multi 消息优化流程,降低 E2E flake
2026-01-13 21:17:00 +08:00
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
63ab9e66cd feat(test): 建立完整的测试基础设施和集成测试
- 建立 VCR 测试基础设施,支持 LLM API 回放
- 添加错误门禁和冒烟测试
- 添加 LLM 服务集成测试(P0)
- 记录测试进展并更新任务计划
2026-01-03 21:08:00 +08:00
linshen
9198b84278 feat(ui): 实现 AI 智能变量提取和生成功能
- 新增变量提取功能:支持从对话中智能提取变量
- 新增变量值生成:基于描述自动生成变量值
- 重构测试工具:使用系统配置加载器
- 修复安全性和健壮性问题:添加边界检查和错误处理
2026-01-01 10:08:00 +08:00
linshen
130b8fa880 feat(core): 新增 ModelScope(魔搭)API 集成支持
新增 ModelScope LLM 和图像生成服务的完整支持,包括:

LLM 适配器特性:
- 基于 OpenAI 兼容 API 实现,继承 OpenAIAdapter
- 支持动态获取模型列表(models.list() 返回 62 个模型)
- 内置 Qwen/Qwen3-Coder-480B-A35B-Instruct 静态模型
- 支持聊天和流式响应
- 每天免费 2000 次调用

图像生成适配器特性:
- 实现异步任务提交和轮询机制
- 支持文生图(text-to-image)功能
- 内置 Z-Image-Turbo 模型
- 增强的错误处理和状态管理
- 使用 resolveEndpointUrl() 确保 URL 规范化

技术改进:
- 正确处理自定义 baseURL 的 /v1 路径规范化
- 完善的轮询错误处理(SUCCEED/FAILED/ERROR/CANCELLED)
- 错误响应体解析,提供详细错误信息
- 处理未知终态,避免超时等待

测试覆盖:
- LLM 适配器单元测试(7 个测试用例)
- 图像适配器单元测试(7 个测试用例,包括真实 API 测试)
- 集成测试覆盖真实 API 调用和流式响应

配置集成:
- 环境变量支持:VITE_MODELSCOPE_API_KEY
- 自动注册到 LLM 和图像服务 registry
- 默认配置自动生成和启用

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 23:34:25 +08:00
linshen
e5c3ba29e8 feat(template): 改进消息优化模板,添加角色保持和适度优化原则
- 添加「优化 ≠ 回复」核心原则,确保保持原消息角色
- 添加「适度优化原则」,避免过度复杂化
- 添加变量占位符保留要求
- 优化模板命名,明确适用场景
- 调整模板导入顺序,通用模板优先
- 新增集成测试覆盖关键场景
2025-12-19 11:29:29 +08:00
linshen
1f1f6bcc1d feat(core): 新增 OpenRouter 文本模型适配器
- 创建 OpenRouterAdapter 继承 OpenAIAdapter
- 默认模型为 qwen/qwen3-235b-a22b:free
- 预置三个免费模型:Qwen3、Gemini 2.0 Flash、DeepSeek Chat V3
- 在 PROVIDER_ENV_KEYS 中添加 openrouter 配置
- 更新测试预期 Provider 数量
2025-12-06 17:04:56 +08:00
linshen
a3dc3285d0 feat: 完成收藏管理重构
- 🏗️ 实现三层分类体系:functionMode、optimizationMode、category
- 🏷️ 构建独立标签库系统,支持标签全生命周期管理
- 📁 增强分类管理,支持排序、使用统计、删除保护
- 🎨 重构UI组件:SaveFavoriteDialog、TagManager、CategoryManager
- 🔄 实现向后兼容的数据迁移机制
- 🧪 添加全面测试覆盖:754+测试,100%通过
- 📝 完善文档:CHANGELOG + 用户指南

Breaking Changes:
- 移除 isPublic 字段
- FavoritePrompt 接口变更(functionMode必填,metadata重组)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 14:50:56 +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
31cd6d0ac4 feat(core): 升级 Gemini SDK 到 @google/genai 并支持新特性
- 迁移到统一的 @google/genai SDK
- 支持动态模型列表获取
- 新增思考功能参数(thinkingBudget、includeThoughts)
- 实现工具调用支持
- 简化消息处理逻辑
- 添加完整的集成测试套件
2025-10-08 16:56:31 +08:00
linshen
c779b66203 refactor(core): 移除流式支持标识并修复TypeScript类型错误
- 移除TextModel接口中的supportsStreaming属性,简化模型能力定义
- 重构OpenAI适配器,简化模型配置和连接验证逻辑
- 修复useTextModelManager.ts中的TypeScript类型安全问题
- 更新所有相关测试文件,移除supportsStreaming相关断言
- 统一测试代码格式,确保编译通过

BREAKING CHANGE: 移除了supportsStreaming能力标识,所有模型默认支持流式响应
2025-10-07 23:56: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
2ffb7556ee feat: 实现图像模式与多模态功能架构
- 新增图像模式支持文生图(T2I)和图生图(I2I)功能
- 实现图像服务层,支持Gemini/Seedream/OpenAI等多适配器
- 升级功能模式架构:basic/pro/image三重模式系统
- 新增图像模型管理器与专用UI组件
- 优化存储键管理,统一图像模式相关配置
- 完善国际化支持,新增图像模式相关翻译
- 增强模型管理器,支持文本/图像双模型管理
2025-09-20 21:55:26 +08:00
linshen
e7687dfd8c feat: 新增toolsContext预定义变量支持
- 在核心常量中添加toolsContext变量定义
  - 用于快速模板中的{{toolsContext}}变量替换
  - 支持系统自动注入可用工具信息

- 更新变量编辑器和导入器
  - 将toolsContext加入预定义变量过滤列表
  - 防止用户创建同名自定义变量产生冲突

- 完善国际化支持
  - 中英文添加toolsContext变量说明文案
  - 标注为系统自动注入的工具信息

- 更新相关测试用例
  - 集成测试中同步更新预定义变量列表
  - 确保测试覆盖新增变量的处理逻辑

这个变更为工具上下文模板提供了完整的变量系统支持。
2025-09-11 21:11:03 +08:00
linshen
4f38852971 feat: 完整实现工具调用功能并修复测试环境问题
## 🎯 核心功能
- **LLM服务工具调用**: 支持OpenAI和Gemini的完整工具调用流程
- **UI工具管理**: ContextEditor工具管理面板,内置天气工具模板
- **工具同步机制**: 优化和测试阶段的工具信息双向同步
- **工具上下文注入**: 优化模板支持工具信息注入,提升优化质量

## 🔧 技术实现
- **统一工具调用接口**: ToolCall、ToolDefinition类型定义
- **Gemini工具调用适配**: 格式转换和流式处理支持
- **工具统计显示**: ConversationManager显示工具数量和名称
- **模板处理增强**: formatToolsAsText方法支持工具上下文

## 🧪 测试和修复
- **单元测试**: 工具调用核心功能测试覆盖
- **集成测试**: Gemini和OpenAI真实API工具调用验证
- **测试环境修复**: 修复Clipboard API mock,解决UI测试错误
- **全局测试设置**: 统一浏览器API mock管理

## 📊 代码统计
- 新增文件: 19个(包括测试和文档)
- 修改文件: 13个
- 新增代码: 876行,删除: 62行
2025-08-23 21:27:59 +08:00
linshen
cd533e834d feat(core): 允许 API key 为空以支持特定服务
- 移除了对 API key 的强制性验证
- 更新了错误消息,强调 API URL 的重要性- 调整了测试用例以适应新的 API key策略
- 更新了 UI组件和国际化文案,明确 API key 为可选字段
2025-07-18 00:15:08 +08:00
linshen
e54f1c77e0 feat(app): 集成自动更新、日志系统,优化构建和发布配置
- 集成electron-updater实现自动更新,支持检查、下载和安装;增强安全性,仅允许http/https链接。
- 实现自定义日志系统ConsoleLogger,劫持控制台日志,添加全局错误处理。
- 优化构建产物,更新发布配置和打包细节,移除package.json中的发布配置。
- 更新Electron应用图标结构,重构prompt-optimizer-data.json存储路径。
- 添加日志查看/清理脚本,更新UI组件和国际化支持。
2025-07-12 18:25:23 +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
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
8b55f0e574 feat: 修复Monorepo构建与依赖解析问题,优化开发命令,更新依赖,完善文档,简化项目结构,统一异步调用,优化错误处理
本次提交主要完成了以下变更:

- 在`package.json`中新增`dev:desktop:parallel:fixed`命令,解决并行进程导致的样式丢失问题。
- 更新`experience.md`文档,记录Monorepo中构建与依赖管理的最佳实践和遇到的问题。
- 在`scratchpad.md`中详细记录了修复过程和解决方案,确保后续开发者能够参考。
- 更新pnpm锁定文件,添加dotenv和@prompt-optimizer/core依赖。
- 更新Electron版本至^37.1.0,修复桌面端IndexedDB问题。
- 简化项目结构,删除 `pnpm-lock.yaml` 文件和冗余文档。
- 将多个同步方法改为异步方法,确保模板管理器的操作能够正确处理异步逻辑。
- 优化模板获取和列表加载的逻辑,统一使用 `await` 关键字,避免潜在的时序问题。

这些更新旨在提升项目的稳定性和开发效率,确保最佳实践得到贯彻。
2025-06-29 15:00:27 +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
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
2fc2ffb06a test(OptimizationModeSelector): update button active styles to use theme classes 2025-06-26 23:34:07 +08:00
linshen
bfd36b7176 feat(tests): 为Gemini API测试添加延迟处理以避免频率限制
- 在Gemini API集成测试中,添加了每个测试之间的延迟,以防止频率限制导致的失败。
- 更新了LLM参数测试,增加了延迟处理,确保测试稳定性。
- 修改OutputDisplay组件的测试,使用data-testid属性来查找工具栏元素,提升测试的准确性。
2025-06-25 22:34:51 +08:00
linshen
2e9dfd20c7 feat(LLMService): 重构消息发送逻辑,支持结构化响应与think标签处理
- 更新 `LLMService` 类,新增结构化消息发送方法,返回包含推理内容的响应
- 增强错误处理,确保API调用失败时提供友好的错误提示
- 实现流式处理中的think标签支持,优化推理内容与正文的分离
- 更新相关接口与类型定义,确保兼容性与可读性
- 添加新的单元测试与集成测试,验证结构化响应与think标签处理的正确性
- 更新文档,说明新的API使用方式与最佳实践
2025-06-23 21:54:34 +08:00
linshen
14ef914dee feat(template): 新增确保管理器初始化的方法并更新优化模式选择器
- 在模板管理器接口中新增 `ensureInitialized` 方法,确保管理器在使用前已正确初始化
- 更新多个组件和测试用例,将提示词类型更改为优化模式,提升代码一致性
- 修改国际化文件,确保优化模式相关文本的多语言支持
- 重构输入面板和优化面板,整合优化模式选择器,提升用户体验
2025-06-21 19:17:57 +08:00
linshen
2ef65e6fcc feat(template): 更新用户提示模板,移除冗余模板并新增基础与专业优化模板
- 删除多个冗余的用户提示优化模板文件
- 新增基础优化和专业优化模板,提升模板的多样性和适用性
- 更新模板集合,确保新模板的正确集成和使用
2025-06-21 11:27:19 +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
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
c1acf7d7b6 chore: Update project dependencies and development scripts
- Upgrade Vite, Vitest, and Vue-related dependencies to latest versions
- Modify package scripts for improved development workflow
- Update environment variable loading configuration
- Enhance test configuration and mocking strategies
- Simplify root and package-level scripts
- Improve cross-platform development support
2025-02-23 21:44:38 +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
e568dd77a0 feat: Enhance environment variable loading for testing and integration
- Update Vitest configuration to dynamically load environment variables
- Add dotenv configuration in test setup files
- Modify integration test files to use process.env instead of import.meta.env
- Add logging for environment variable status in test files
- Improve test configuration for different LLM service integrations
2025-02-22 22:03:28 +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