linshen
|
e51825c19a
|
fix(templates): 同步图像优化模板的中英文版本
## 主要变更
### 1. 更新英文模板以匹配中文版本
- **image2image-optimize**: 补充完整的意图识别体系(添加/删除/替换/增强)和详细的创作指引
- **chinese-model-optimize**: 补充结构化输出要求(3-6句、每句1个核心维度、每个名词2-3个修饰词)
- **photography-optimize**: 补充结构化输出要求和推荐摄影结构
### 2. 新增创意文生图模板
- 添加 creative-text2image 中英文模板
- 基于本源解构与奇幻重构的创造性提示词生成
- 更新 index.ts 导入导出新模板
### 3. 优化现有中文模板
- 完善图生图模板的意图识别能力
- 统一输出格式要求
## 影响范围
- 图像优化模板系统
- 不影响现有功能,仅增强模板质量
## 技术细节
- 所有模板保持中英文内容完全对应
- 统一结构化输出标准
- 强化自然语言表达,避免参数化语法
|
2025-10-01 23:30:03 +08:00 |
|
linshen
|
8ac4cd795c
|
fix: 修复网页标签切换后流式输出暂停问题
移除流式输出中的人为延迟(setTimeout 10ms),解决标签页切换到后台时
浏览器限制导致的输出暂停问题。
修改内容:
- streamOpenAIMessage: 移除推理和内容输出的延迟
- streamOpenAIMessageWithTools: 移除推理和内容输出的延迟
- streamGeminiMessage: 移除文本输出的延迟
- streamGeminiMessageWithTools: 移除文本输出的延迟
修复效果:
- 标签页切换到后台时流式输出继续进行
- 切回标签页时立即显示完整结果
- 提升整体性能和用户体验
Fixes #171
|
2025-10-01 10:49:15 +08:00 |
|
linshen
|
692ae08dfc
|
feat(i18n): 添加繁體中文語言支援
- 在語言切換下拉選單中新增繁體中文選項
- 建立繁體中文語言包檔案 (zh-TW.ts) 並完成所有UI文字翻譯- 更新i18n插件配置以支援繁體中文,包括語言類型定義和訊息載入
- 設定繁體中文的語言檢測規則,支援 zh-TW、zh-HK 及包含 Hant 的語言代碼
- 配置繁體中文的fallback規則,優先回退到簡體中文再回退到英文
- 更新README文件,新增繁體中文語言支援說明和當前支援語言列表
|
2025-10-01 10:18:59 +08:00 |
|
linshen
|
34802fe5a5
|
feat(image-workspace): 实现文本模型选择器自动刷新功能
- 添加文本模型下拉获得焦点时的自动刷新逻辑- 新增 refreshTextModels 方法用于刷新文本模型选项
- 在模型管理器关闭后同步刷新文本模型
-为文本模型选择组件添加 focus事件处理
- 注册和移除 image-workspace-refresh-text-models 全局事件监听器
- 更新文本模型选项时校验当前选择并设置回退选项- 确保模型管理器初始化后再获取启用的模型列表
|
2025-10-01 10:16:16 +08:00 |
|
linshen
|
00c3ec9b39
|
docs(readme): 更新图像生成功能说明
- 添加模型参数配置功能描述
- 补充预览与下载功能说明- 调整功能列表展示顺序
|
2025-09-30 23:09:52 +08:00 |
|
linshen
|
7b71801c85
|
docs: 更新 README 反映高级功能和图像生成已完成
## 变更内容
### 核心特性更新
- ✅ 添加图像生成功能说明(T2I和I2I)
- ✅ 添加高级测试模式功能说明
- ✅ 将这些功能从"预览版(Beta)"升级为正式功能
### 高级功能章节重构
**之前状态**: "高级功能预览(Beta)" - 标注为开发中
**当前状态**: "高级功能" - 正式发布
#### 图像生成模式
- 文生图(T2I):文本提示词生成图像
- 图生图(I2I):基于本地图片变换优化
- 多模型支持:Gemini、Seedream等
- 模型参数:支持各模型特有参数配置(尺寸、风格等)
- 预览与下载:实时预览生成结果,支持下载保存
#### 高级测试模式
- 上下文变量管理:自定义变量、批量替换
- 多轮会话测试:模拟真实对话场景
- 工具调用支持:Function Calling集成
- 灵活调试能力
### 开发路线更新
- ✅ 高级模式:变量管理、上下文测试、工具调用
- ✅ 图像生成:文生图(T2I)和图生图(I2I)支持
- ❌ 移除"支持图片输入和多模态处理"(已完成)
## 文档同步
- README.md (中文版)
- README_EN.md (英文版)
- 添加图像模式文档链接
关联文档: docs/image-mode.md
|
2025-09-30 23:03:08 +08:00 |
|
linshen
|
ad15374019
|
docs: 更新 README 移除已废弃的 Vercel 代理说明
## 变更内容
### 修正关键认知错误
- Docker部署同样是纯前端应用,会受到浏览器CORS限制
- 只有桌面版和API中转服务能真正解决CORS问题
### 中文 README (README.md)
- 移除 Q3 中关于 Vercel 代理的说明
- 移除 Q4"Vercel代理有什么缺点或风险?"整个问题
- 更新 Q3 推荐方案:桌面版(最推荐)、自建API代理
- 添加重要提示:所有Web版都受CORS限制
- 更新 Q4(原Q5):明确Docker部署用于解决Mixed Content问题
- 重新编号 Q5 → Q4
### 英文 README (README_EN.md)
- 同步移除 Vercel 代理相关说明
- 更新为推荐桌面版、自建代理两种方案
- 添加Web版CORS限制说明
- 明确Docker部署的实际作用
- 重新编号问题序号
## 新的推荐方案
**解决商业API跨域问题:**
1. **桌面版应用**(最推荐) - 原生应用,无CORS限制
2. **自建API代理** - 专业方案,完全可控
**解决本地模型Mixed Content问题:**
- 桌面版(最推荐)
- Docker部署(HTTP协议)
- Chrome插件
关联提交: c7194ba (代理功能移除)
|
2025-09-30 22:53:41 +08:00 |
|
linshen
|
1ad32ca217
|
refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
修复 #179
## 变更内容
### 核心代码清理 (-2473行)
- 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点
- 删除 node-proxy/ 服务器实现
- 移除 environment.ts 中的代理检测逻辑
- 简化所有图像适配器和 LLM 服务,直接使用 baseURL
- 移除模型配置中的 useVercelProxy/useDockerProxy 字段
### 基础设施更新
- 更新 Dockerfile 移除 node-proxy 构建
- 更新 nginx.conf 移除代理路由
- 更新 supervisord.conf 移除 node-proxy 进程
### UI 优化
- 移除模型管理界面中的代理选项
- 清理国际化文件中的代理相关翻译
- 删除备份文件 ModelManager.bak.vue
### 文档同步
- 更新技术开发指南,说明功能移除原因
- 更新 Vercel 部署文档,移除代理相关说明
- 更新图像模式文档
## 安全说明
由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。
推荐用户使用:
1. 桌面版应用 (无跨域限制)
2. 自建反向代理 (完全控制)
3. LLM 提供商的 CORS 友好端点
## 向后兼容性
历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
|
2025-09-30 22:08:00 +08:00 |
|
linshen
|
6dc151d189
|
feat(desktop): 支持macOS Intel芯片版本构建
新增功能:
- 同时构建 x64 (Intel) 和 arm64 (Apple Silicon) 架构
- macOS用户可根据芯片类型选择对应版本下载
技术实现:
- 修改electron-builder配置,为dmg和zip目标指定多架构支持
- 更新GitHub Release工作流,区分Intel和Apple Silicon版本说明
- 优化安装指南,帮助用户选择正确架构
关联issue: #165
|
2025-09-30 00:12:42 +08:00 |
|
linshen
|
b5eba3dfb7
|
fix(docker): MCP路由绕过Basic认证以支持MCP Inspector连接
修复问题:
- Docker部署启用ACCESS_PASSWORD后,/mcp路由继承了Basic认证配置
- 导致MCP Inspector连接时返回401错误
技术方案:
- 在nginx.conf的/mcp location中添加auth_basic off指令
- MCP协议本身不支持HTTP Basic认证,需要明确禁用
- Web应用路由的访问控制保持不变
文档更新:
- 在MCP服务器用户文档中添加故障排除说明
- 包含中英文文档和mkdocs文档
关联issue: #169
|
2025-09-29 23:56:47 +08:00 |
|
linshen
|
22a1e4ac3f
|
fix(core): 修复图像模型配置的删除和容错处理
## 问题
- 开发期间修改配置ID后,旧配置存储在本地但数据结构不完整
- 删除损坏配置时报错"Configuration does not exist"
- 即使删除成功,配置仍然存在于列表中
## 根本原因
- 存储key和配置ID不一致:旧配置自带ID字段与存储key不匹配
- 删除操作使用修复后的ID查找,无法匹配存储中的实际key
## 解决方案
### 1. deleteConfig - 容错处理
- 移除严格的存在性检查,不再抛出异常
- 允许删除不存在的配置(降级处理)
- 添加详细的日志输出用于诊断
### 2. getConfig - 安全修复
- 尝试修复损坏的配置结构
- 即使修复失败也返回配置,确保可以删除
- 补齐缺失的provider/model字段
### 3. getAllConfigs - 关键修复
- **强制使用存储key作为配置ID**(最关键)
- 保证读写一致性:删除时使用的ID = 存储中的key
- 对无法修复的配置返回占位对象,标记为disabled
### 4. ensureSelfContained - 容错降级
- 捕获修复失败的异常
- 创建占位配置,包含完整的provider/model结构
- 自动标记为disabled,引导用户删除
## 效果
- ✅ 损坏配置可以正常显示和删除
- ✅ 删除操作不再报错
- ✅ ID一致性得到保证
- ✅ 向后兼容,支持配置结构变更
- ✅ 用户无需手动清理本地存储
|
2025-09-29 23:40:24 +08:00 |
|
linshen
|
719ce8daa9
|
refactor(ui):重构图像工作区导入语句
- 将 IMAGE_MODE_KEYS 的导入语句独立出来
- 调整导入顺序以提高代码可读性- 保持核心功能逻辑不变
|
2025-09-29 23:11:47 +08:00 |
|
linshen
|
9c7b7d7fe5
|
refactor(ui):重构选择器选项数据结构和访问器
- 引入标准化的 SelectOption、ModelSelectOption 和 TemplateSelectOption 类型定义
- 创建 DataTransformer 工具类用于将原始数据转换为标准选项格式
- 添加 OptionAccessors 简化 SelectWithConfig 组件的属性访问
- 统一模板和模型选择器的数据处理逻辑
- 移除重复的选项格式化函数,提升代码复用性
- 增强类型安全性并保持向后兼容性
- 更新 ImageWorkspace 和 App 组件以使用新的数据结构
- 导出新的工具类和类型定义供外部使用
|
2025-09-27 23:36:39 +08:00 |
|
linshen
|
285b2c50bf
|
refactor(ui): 重构组件架构并新增上下文模板类型支持
- feat(TemplateManager): 新增3个上下文相关模板类型
- contextSystemOptimize: 上下文系统优化模板
- contextUserOptimize: 上下文用户优化模板
- contextIterate: 上下文迭代模板
- 完善类型映射和选择逻辑
- refactor(App): 组件统一化重构
- 将ModelSelectUI和TemplateSelectUI替换为SelectWithConfig
- 实现统一的选择器组件,提高代码复用性
- 新增响应式数据管理和状态同步机制
- 优化模板和模型选择的刷新逻辑
- 改进v-model绑定方式,符合Vue 3最佳实践
- improve: 状态管理优化
- 新增templateOptions和textModelOptions响应式数据
- 实现自动状态同步和选择验证
- 优化错误处理和边界情况处理
|
2025-09-27 22:59:44 +08:00 |
|
linshen
|
0d2322b118
|
feat(ui): 更新图像模式模板选择逻辑与组件交互
- 在storage-keys.ts中新增文本到图像和图像到图像的模板选择存储键
- 在App.vue中优化模板管理器关闭逻辑,确保图像模式下模板列表刷新
- 在ImageWorkspace.vue中引入SelectWithConfig组件,增强模板选择的灵活性与可配置性
- 在useImageWorkspace.ts中完善模板恢复逻辑,支持不同模式下的模板选择持久化
- 在ModelManager.vue中支持外部事件切换页签,提升用户体验
- 增强了模板选择的用户交互反馈,确保更好的使用体验
|
2025-09-27 22:28:18 +08:00 |
|
linshen
|
9fa70ef2f1
|
feat(template): 重构图像优化模板,新增多种优化选项
- 更新图像优化模板,移除不再使用的DALL-E优化模板
- 新增摄影优化和设计文本编辑优化模板,增强图像生成的灵活性
- 优化现有模板描述,强调自然语言表达,避免使用技术参数
- 更新模板内容,确保符合中文和英文的文化背景与美学要求
- 改进输出要求,确保生成的提示词清晰、具体且易于理解
|
2025-09-27 22:00:15 +08:00 |
|
linshen
|
fbf6b92cdb
|
feat(ui): 更新主题颜色配置以支持多种视觉模式- 调整了浅色主题的主色调及相关组件颜色
- 新增了米杏模式的主题配置选项
- 优化了深色主题下的色彩对比度和可读性
- 统一了各组件在不同主题下的视觉表现- 增强了主题颜色在各种状态下的交互反馈- 改进了滚动条、边框和文本颜色的细节处理-为按钮、输入框等组件添加了更丰富的主题变量
|
2025-09-27 20:59:12 +08:00 |
|
linshen
|
2e6931780d
|
feat(ui): 新增经典主题风格及相关国际化支持
- 在naive-theme.ts中添加经典主题配置,包含颜色和样式设置
- 在MainLayout.vue中优化布局,增加主内容包装器以支持新主题
- 在ThemeToggleUI.vue中实现经典主题图标的渲染逻辑
- 更新en-US.ts和zh-CN.ts文件,新增经典主题的国际化翻译
此次更新增强了用户界面的主题选择功能,提供了更多样化的视觉体验。
|
2025-09-27 00:16:11 +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
|
6e4917852a
|
feat: 实现全局功能模式系统与上下文模板架构
* 新增全局功能模式切换(basic/pro)
- 实现 useFunctionMode 组合式函数
- 支持模式记忆与持久化存储
- 自动模板类型映射与切换
* 重构模板系统架构
- 新增6类模板类型:基础3类 + 上下文3类
- 实现上下文模板(contextSystemOptimize、contextUserOptimize、contextIterate)
- 统一存储键管理,解决跨包重复定义问题
* 增强上下文驱动优化
- 新增14个上下文版本模板(中英双语)
- 支持会话上下文、工具上下文传递
- 实现变量优先级管理系统
* 优化用户体验
- 模式切换自动通知与反馈
- 模板选择状态分离保存
- UI组件响应式更新
* 改进代码质量
- 遵循SOLID、DRY、KISS原则
- 完善TypeScript类型定义
- 清理冗余测试文件
测试结果:所有功能完美工作,优化效果显著提升
|
2025-09-14 00:07:01 +08:00 |
|
linshen
|
232f04db60
|
mkdocs: 初始化 mkdocs 文档库
- 新增多个文档文件,覆盖基本使用、高级功能、部署指南等
- 创建数据管理、模型配置、历史记录等详细指南
- 添加上下文管理、工具调用、变量系统等高级功能文档
- 提供快速开始、常见问题、故障排除等实用信息
|
2025-09-13 23:43:27 +08:00 |
|
linshen
|
162cacc951
|
refactor(ui): 优化ConversationManager布局设计与交互体验
- 重构ConversationManager为紧凑行式布局,提升空间利用效率
- 新增角色标签下拉切换功能,简化角色编辑操作
- 输入框改为单行自适应,减少视觉占用
- 操作按钮hover显示,降低界面噪声
- 统一ContextEditor、PromptPanel卡片样式
- 同步Extension和Web版本布局一致性
|
2025-09-11 23:51:07 +08:00 |
|
linshen
|
dd391984ac
|
feat: 增强上下文管理功能
- 优化变量管理API调用,简化为allVariables.value
- 添加上下文加载状态跟踪(isContextLoaded),区分首次加载和已加载状态
- 实现自动默认模板填充,首次打开上下文编辑器时根据优化模式自动加载模板
- 添加optimizationContext变化监听,实现自动持久化功能
- 改进ContextEditor变量统计,只计算真正的全局自定义变量
- 增强错误处理,变量管理器刷新失败时不阻塞流程
影响范围:
- packages/extension/src/App.vue
- packages/web/src/App.vue
- packages/ui/src/components/ContextEditor.vue
|
2025-09-11 23:45:31 +08:00 |
|
linshen
|
43152b1e5c
|
fix(i18n): 修复ContextEditor相关国际化字段缺失问题
- 新增contextEditor.userTemplates字段支持用户模板显示
- 新增contextEditor.variableStatus字段作为变量状态列标题
- 同步更新中英文国际化文件
修复的字段:
- userTemplates: '用户模板' / 'User Templates'
- variableStatus: '状态' / 'Status'
解决问题:
- 修复用户提示词优化模式下模板分类显示异常
- 修复变量管理表格状态列标题显示异常
- 确保中英文环境下的一致性体验
|
2025-09-11 23:40:36 +08:00 |
|
linshen
|
171f00e98b
|
feat(desktop): 新增系统代理自动检测与应用功能
- 实现基于Electron session.resolveProxy()的系统代理自动检测
- 集成undici全局分发器,为所有Node.js网络请求启用代理支持
- 支持PROXY/HTTPS/SOCKS/SOCKS5等多种代理协议
- 提供优雅降级机制,代理设置失败时自动回退到直连模式
- 添加调试模式支持,通过DEBUG_PROXY环境变量启用详细日志
技术实现:
- 新增setupGlobalProxyDispatcherFromSystem()函数处理代理配置
- 使用undici.ProxyAgent统一管理代理连接
- 在服务初始化前设置全局代理,确保所有API调用生效
- 完善错误处理,任何步骤失败都不影响应用正常启动
适用场景:
- 企业网络环境中的代理访问需求
- 开发调试时的本地代理配置
- 需要代理的受限网络环境
|
2025-09-11 23:29:51 +08:00 |
|
linshen
|
ab51293d17
|
refactor(desktop): 简化Electron IPC流式通信架构
- 重构ElectronPromptServiceProxy,移除复杂的事件监听管理逻辑
- 统一流式方法接口,从事件驱动模式改为直接回调模式
- 优化preload层StreamID自动生成和资源清理机制
- 新增testCustomConversationStream工具调用支持
- 提升代码可维护性,消除重复的IPC事件处理代码
技术改进:
- 简化proxy层:移除手动IPC事件监听,统一使用回调接口
- 优化preload层:内部管理StreamID生成和事件生命周期
- 完善错误处理:双重保护机制和自动资源清理
- 符合SOLID原则:职责分离,降低耦合度
|
2025-09-11 23:11:46 +08:00 |
|
linshen
|
c0f1b124cd
|
feat(i18n): 添加用户模板相关翻译
- 在 en-US.ts 和 zh-CN.ts 文件中添加了 userTemplates 的翻译
-英文翻译为 "User Templates"- 中文翻译为 "用户模板"
|
2025-09-11 22:56:53 +08:00 |
|
linshen
|
6cd57f35b8
|
feat(ui): 添加快速模板预览功能
- 在 ContextEditor 组件中添加模板预览弹窗- 实现模板预览的显示逻辑和界面布局
- 添加模板预览相关的数据结构和方法- 优化模板卡片的展示样式
|
2025-09-11 22:26:16 +08:00 |
|
linshen
|
11e90d5dbb
|
refactor(extension, web): 重构高级模式下的提示词测试功能- 引入快速模板管理器,支持动态加载默认模板
- 统一处理对话上下文和变量,提高代码复用性- 优化工具调用逻辑,仅在高级模式下启用
- 调整测试流程,统一使用自定义会话测试
|
2025-09-11 21:50:36 +08:00 |
|
linshen
|
2b5d4ac1d6
|
feat(readme): 添加高级功能预览并更新项目计划
- 在 README 中添加高级功能预览章节,介绍上下文变量管理、工具调用支持和高级测试模式等新功能
- 更新项目计划,增加对高级模式、图片输入、工作区管理等功能的支持
- 在 README_EN 中添加相应的英文内容
|
2025-09-07 22:19:33 +08:00 |
|
linshen
|
e7687dfd8c
|
feat: 新增toolsContext预定义变量支持
- 在核心常量中添加toolsContext变量定义
- 用于快速模板中的{{toolsContext}}变量替换
- 支持系统自动注入可用工具信息
- 更新变量编辑器和导入器
- 将toolsContext加入预定义变量过滤列表
- 防止用户创建同名自定义变量产生冲突
- 完善国际化支持
- 中英文添加toolsContext变量说明文案
- 标注为系统自动注入的工具信息
- 更新相关测试用例
- 集成测试中同步更新预定义变量列表
- 确保测试覆盖新增变量的处理逻辑
这个变更为工具上下文模板提供了完整的变量系统支持。
|
2025-09-11 21:11:03 +08:00 |
|
linshen
|
ccc4d98d0d
|
feat: 重构快速模板系统,提升上下文工程能力
- 重新设计系统提示词模板,从基础测试转向实用示例
- 添加默认问答、工具上下文问答、专业咨询等6个代表性模板
- 新增猫娘风格少样本示例、思维链推理、安全边界等演示
- 所有模板以用户消息结束,便于AI响应
- 优化用户提示词模板设计
- 聚焦单一{{currentPrompt}}变量的不同处理模式
- 包含直接执行、工具上下文执行、结构化输出等6种模式
- 展示专家咨询、思维链分析、多方案对比等技术
- 统一模板标识符规范
- 中英文版本首个模板ID统一为"default"
- 支持自动化初始化和回退机制
- 增强模板管理器功能
- 新增getTemplate()方法支持ID查找
- 完善导出接口便于外部调用
- 改进上下文初始化逻辑
- Web应用使用快速模板替代硬编码默认值
- 根据优化模式动态加载对应模板
- 优化术语一致性
- 统一使用"工具上下文"概念提升理解准确性
- 移除混淆性的"工具调用"表述
|
2025-09-07 13:35:44 +08:00 |
|
linshen
|
83a21238cc
|
build: 更新项目版本号至2.0.0
-将 @prompt-optimizer/desktop 包的版本号从 1.4.4 修改为 2.0.0
- 将扩展程序的版本号从 1.4.4 修改为 2.0.0
- 将 prompt-optimizer 项目的版本号从 1.4.4 修改为 2.0.0
|
2025-09-07 12:55:47 +08:00 |
|
linshen
|
ac621fd011
|
fix: 提升上下文管理、国际化与测试覆盖,优化数据服务
主要变更:
- **上下文变量管理**: 完善上下文变量的作用域隔离,修复ContextEditor中硬编码i18n字符串问题,添加缺失的国际化键,更新术语并将“变量覆盖”更名为“上下文变量”,并修正变量状态显示逻辑。通过关键架构修复,防止上下文变量污染全局变量库。
- **国际化优化**: 移除国际化文件中冗余的“变量状态”字段,确保文本简洁性和一致性。
- **数据服务重构**: 移除DataManager中的getContextRepo方法,直接通过services引用上下文仓库;统一DataManager.vue组件中服务不可用时的错误提示信息。
- **功能测试与文档**: 新增并完成08-12号测试场景的功能验证,涵盖上下文持久化、变量管理、工具集成、导入导出等核心功能。同时清理了临时文档目录,并更新了测试自动化相关文档结构。
验证结果:
- **国际化**: 所有国际化文本正常显示,无控制台错误。
- **作用域隔离**: 上下文变量已成功隔离,不会出现在全局变量管理器中。
- **功能完整**: 上下文变量增删改查及持久化功能正常,数据管理服务及相关功能稳定运行。
- **测试覆盖**: 所有新旧测试场景设计合理且功能验证通过,高级模式集成(variables/messages/tools)成功,实时持久化、变量优先级系统、工具调用链路稳定,Compare模式测试、导入导出功能正常运行。
|
2025-09-07 12:32:54 +08:00 |
|
linshen
|
f04b88436a
|
feat: 实现完整的上下文持久化与变量管理系统
新增核心功能:
- 基于单文档存储的上下文仓库(ContextRepo),支持CRUD和导入导出
- 预定义变量保护机制,防止系统变量被意外覆盖
- 上下文级变量管理,支持独立的变量作用域
- 完整的Electron IPC代理层,支持跨进程通信
- DataManager集成上下文服务,统一数据导入导出接口
技术实现亮点:
- 使用updateData原子操作确保并发安全
- 三种导入模式(replace/append/merge)灵活应对不同场景
- 完整的TypeScript类型安全和错误处理体系
- 38个单元测试用例覆盖所有核心功能
- 国际化支持,移除所有硬编码字符串
架构优化:
- 严格遵循SOLID原则的模块设计
- Repository模式实现数据持久化抽象
- 工厂模式支持多环境部署(Web/Desktop)
- 统一的IImportExportable接口规范
UI增强:
- 上下文编辑器支持实时持久化和变量管理
- 数据管理器新增上下文导入导出功能
- 完整的中英文国际化资源
文件变更:
- 新增: packages/core/src/services/context/* (核心服务)
- 新增: packages/core/tests/unit/context/* (单元测试)
- 更新: DataManager支持上下文服务集成
- 更新: Electron主进程和预加载脚本IPC处理
- 更新: UI组件支持上下文功能和国际化
此次提交完成了上下文持久化功能的完整实现,为用户提供了
强大的对话上下文管理和变量系统,显著提升了应用的易用性。
|
2025-09-07 10:23:25 +08:00 |
|
linshen
|
9a4de02438
|
feat: 完成上下文编辑器重构、组件清理与文档整合
此次提交整合了上下文编辑器的大规模重构、废弃组件的清理以及workspace文档的更新,旨在提升系统性能、代码可维护性和开发体验。
### 主要更新
- **上下文编辑器重构**:
- 移除 ConversationMessageEditor, ConversationSection 等废弃组件。
- 清理 ConversationManager 和 ContextEditor 未使用的 props。
- 实现无障碍功能增强和焦点管理。
- 创建新的工具 composables 和组件类型。
- 添加全面的测试覆盖和性能监控。
- **组件与代码清理**:
- 移除重构前的 `VariableManager.vue` 组件及其导出(497行),由 `VariableManagerModal.vue` 替代。
- 删除已废弃的 `AdvancedTestPanel.vue` 组件及其导出,已被 `TestAreaPanel` 统一组件完全替代。
- 清理未使用的 `VariableImportExport.vue` 组件、相关测试文件和类型定义。
- 遵循 YAGNI 原则,确保移除的组件在任何地方均未被使用。
- 构建包大小减少约 55KB(3552KB -> 3497KB)。
- **Workspace文档整合**:
- 归档完整的 Naive UI 迁移项目 (包含8个综合文档)。
- 补充上下文编辑器重构缺失的spec工作流文档。
- 建立 `docs/examples/` 目录提供配置模板。
- 更新归档 `INDEX.md` 多维度快速查找索引。
- 清理 workspace 目录中15个重复文档。
### 技术改进与优化
- 优化 Git 配置,将 `tsconfig.tsbuildinfo` 从追踪中移除并增强 `.gitignore` 规则覆盖所有 `tsbuildinfo` 文件。
- 添加高级 TypeScript 类型和组件接口,实现工具调用显示和变量导入导出组件。
- 增强变量管理与编辑器集成,并保持 `VariableManager.ts` 服务层(仍在使用)。
- 添加全面的单元测试和e2e测试覆盖,改进开发文档和API指南。
- 所有现有功能完整性验证通过,无构建错误或运行时错误。
|
2025-09-06 23:45:42 +08:00 |
|
linshen
|
626e5f9d45
|
fix: 优化输出面板空白占位符居中显示效果
- 修改 NSpace 组件使用条件性对齐:有内容时左对齐,无内容时居中
- 修复推理内容自动滚动使用正确的 Naive UI NScrollbar API
- 使用纯 Naive UI 原生属性实现,无需自定义 CSS
- 改善空白状态下的视觉体验,保持内容状态下的正常显示
|
2025-09-06 15:52:41 +08:00 |
|
linshen
|
d0831b1380
|
feat: 恢复模型管理器自定义参数功能并进行全面优化;大量代码质量修复与ESLint优化
- **模型管理器功能与优化**
- 恢复模型管理器自定义参数输入功能,支持自定义参数名称和值,并修复了相关问题。
- 重构模型管理器,引入 `useModelSelectRefs` composable进行引用管理,并优化了 `useModelManager.ts` 中的异步处理逻辑、错误处理和 `nextTick` 机制,修复了只读错误。
- 修复 `App.vue` 中 `computed` 属性的空值判断。
- 优化响应式数组操作,遵循 Vue 3 响应式最佳实践,使用 `splice` 替代直接赋值以保持响应式引用。
- **代码质量与ESLint问题修复**
- **大规模清理重复导入:** 整合并统一了 `vue`、`naive-ui`、`@prompt-optimizer/core` 等核心库在多个组件和 composables 中的重复导入,显著提升了导入结构清晰度。
- **移除大量未使用变量、函数和类型导入:** 对 `InputPanel`, `MarkdownRenderer`, `useModals`, `AdvancedTestPanel`, `ContextEditor`, `ConversationMessageEditor`, `HistoryDrawer`, `DataManager`, `VariableEditor`, `VariableImporter`, `VariableManagerModal`, `VariableManager`, `LanguageSwitchDropdown`, `OutputDisplay`, `OutputDisplayFullscreen`, `usePromptOptimizer`, `i18n.ts`, `TestArea`, `useAppInitializer`, `useHistoryManager`, `useModelSelectors`, `useUpdater` 等多个文件进行了细致清理。
- **修复 `switch` 语句词法声明问题:** 为 `ContextEditor` 和 `ConversationManager` 中的 `smart`, `langfuse`, `openai` 等 `case` 语句添加了正确的词法作用域大括号。
- 统一代码缩进和格式化风格,简化 TypeScript 类型注解,移除了冗余类型声明。
- 通过以上一系列修复,累计减少了超过170个ESLint错误,代码可维护性和整体质量得到了大幅提升。
|
2025-09-06 13:53:55 +08:00 |
|
linshen
|
ddf720de51
|
feat: 完成TestArea组件系统重构和优化
核心变更:
- 新增TestAreaPanel统一测试区域入口组件,整合测试输入、控制和结果显示
- 新增TestControlBar/TestInputSection/TestResultSection子组件,实现模块化设计
- 新增ConversationSection会话管理组件,支持高级模式下的多轮对话
- 新增useResponsiveTestLayout/useTestModeConfig组合式函数,提供响应式布局和模式配置
- 重构Web/Extension App.vue,集成真实API测试替代模拟数据
- 优化国际化文本:test.model改为"测试模型",移除test.simpleMode.help占位文本
- 删除旧TestPanel.vue组件,完成组件系统迁移
技术优化:
- 实现Vue 3 Composition API最佳实践,使用computed和emit模式避免直接状态修改
- 建立完整TypeScript类型体系,包含TestAreaConfig等配置接口
- 新增响应式断点系统(xs/sm/md/lg/xl/xxl),支持移动端和桌面端适配
- 集成Naive UI NGrid/NFlex等组件,实现现代化布局设计
- 实现防抖处理和生命周期管理,优化性能表现
测试覆盖:
- 新增TestAreaPanel/TestInputSection单元测试,覆盖组件基础功能
- 新增test-area-integration集成测试,验证组件间交互(16/16通过)
- 新增test-area-e2e端到端测试,验证完整用户流程(13/13通过)
- 新增useResponsiveTestLayout/useTestModeConfig组合式函数测试
文档归档:
- 创建docs/archives/125-test-area-refactor项目归档,包含完整设计文档和性能报告
- 记录历史遗留测试问题到test-failures-backlog.md,不影响重构功能
- 新增README.md说明UI组件包结构和使用方式
此次重构大幅提升用户体验,水平布局节省40%空间,真实API集成提供准确测试结果,
响应式设计适配多端设备,为后续功能扩展建立坚实基础。
|
2025-09-04 22:24:25 +08:00 |
|
linshen
|
2d726d4447
|
feat: 全面优化导航栏UI、用户体验与项目架构
## 🚀 核心功能与UI/UX增强
- 提升导航栏视觉体验:增加高度、内边距与按钮间距,添加边框分割线,提升层次感。
- 全新语言切换设计:引入 LanguageSwitchDropdown 组件,采用直观的地球+语言符号图标,提供清晰的"A"和"中"字符标识,并集成 vue-i18n 国际化支持。
- 修复并优化主题切换:解决 SVG 图标颜色失效问题,使用直接 style 属性替代 CSS 类,确保每个主题拥有独特彩色图标。
- 优化 GitHub 按钮:移除文字显示,仅保留专业 SVG logo,并统一组件风格与对齐。
- 增强 ActionButton 组件:新增 'quaternary' 类型支持,将 icon 属性改为可选,提升组件灵活性和类型安全,并统一 App.vue 使用 ActionButton 架构。
- 调整 UpdaterIcon 尺寸:符合辅助功能区设计规范。
## 🧹 代码清理与架构优化
- 彻底移除废弃组件:包括 AdvancedModeToggle.vue, LanguageSwitch.vue 及相关导入,精简代码库。
- 统一 App.vue 架构:通过 Extension 复用 Web 版本实现一码多端。
- 更新组件导出配置:移除废弃组件依赖。
## 🌐 国际化与测试覆盖
- 完善中英文语言文件:优化主题切换相关翻译,统一多语言文本显示格式和用户体验。
- 新增 LanguageSwitchDropdown 组件单元测试:验证语言切换逻辑和下拉菜单交互功能,提供质量保障。
## 📚 项目归档与文档更新
- 创建 124-navigation-optimization 完整归档文档:包含项目概述、技术实现详解、开发经验总结,记录 21 个任务 100% 完成的系统化过程。
- 更新 Archives 和 Workspace 的 README.md:新增 UI 优化系列并修正引用,清理临时文档。
- 建立可复用设计模式:如布局锚点策略,为后续 UI 项目提供系统化最佳实践参考。
## ✨ 技术亮点
- 遵循 SOLID 设计原则和 KISS 简洁性原则。
- 实现响应式设计,支持多屏幕尺寸。
- 提供完整的 TypeScript 类型支持。
- 具备优秀的视觉一致性和用户体验。
|
2025-08-31 22:44:54 +08:00 |
|
linshen
|
ed5143fd1a
|
feat: 统一优化模型和优化提示词下拉组件UI风格
- TemplateSelect: 将配置按钮从外部独立位置移入下拉选项内
- TemplateSelect: 移除自定义渲染函数,使用统一的简洁样式
- TemplateSelect: 统一Empty模板结构,使用NSpace+NText+NButton
- ModelSelect: 移除clearable属性保持一致性
- 两组件都使用filterable属性支持搜索过滤
- 清理未使用的导入和样式代码
- 确保TypeScript类型检查通过
现在两个下拉组件采用完全一致的设计模式:配置功能隐藏在下拉选项中,
提供简洁统一的用户体验。
|
2025-08-31 14:54:24 +08:00 |
|
linshen
|
54fd56b120
|
feat: 完成Naive UI重构最终修复和统一维护架构
主要变更:
- Extension App.vue统一维护:完整复制Web版本实现跨平台功能一致性
- TypeScript类型修复:useAppInitializer添加显式返回类型解决推断问题
- 主题系统优化:清理naive-theme.ts不存在属性,完善5主题配置
- ESLint配置:新增Vue文件解析支持,提升代码质量检查
- 接口适配完善:补充IImportExportable方法,增强服务层兼容性
- 依赖更新:同步ESLint相关包版本,确保构建稳定性
技术影响:
- 跨平台维护成本降低,Extension与Web功能完全同步
- TypeScript编译错误清零,开发体验提升
- 主题切换功能在所有5个主题下验证通过
- 代码质量工具链完善,支持Vue3+TS混合开发
测试验证:完成19/19规范任务,开发服务器localhost:18182稳定运行
|
2025-08-31 15:42:46 +08:00 |
|
linshen
|
231a39a6d3
|
feat(AdvancedModeToggle): 完成Naive UI迁移与项目归档
组件Naive UI迁移详情:
- 将原生button替换为NButton组件。
- 集成Naive UI主题系统,移除所有自定义CSS。
- 添加loading状态管理以防止重复点击。
- 保持100%向后兼容的Props和Events接口。
- 实现响应式设计,支持移动端显示。
- 优化状态指示器使用Tailwind CSS类名。
关键成果:
- 代码量从142行优化至87行,减少38.7%。
- CSS代码从98行减少至12行,减少87.8%。
- 实现100% Naive UI组件覆盖率。
- 发现并记录NFlex导出和Toast上下文重要问题。
项目归档与文档更新:
- 创建 docs/archives/124-advanced-mode-toggle-migration/ 完整归档。
- 归档内容包括:项目总结、技术指标对比、价值分析(README.md);详细实施过程、Git历史分析、技术决策(implementation.md);重要经验教训、踩坑记录、最佳实践(experience.md)。
- 更新工作区文档,将项目状态标记为“已完成”,添加归档项目引用和里程碑时间线,建立完整的项目追溯体系。
|
2025-08-30 20:45:52 +08:00 |
|
linshen
|
696e523401
|
feat: 完善Toast组件架构并消除inject()上下文错误
主要改进内容:
- 采用全局单例模式重构useToast,彻底解决inject()上下文问题
- 在Toast.vue中添加MessageApiInitializer组件,确保在正确上下文中初始化
- 移除Toast降级处理逻辑,改为快速失败原则提高可靠性
- 补全NFlex组件导出,解决组件解析警告
- 清理App.vue中的遗留Toast全局实例和provide逻辑
技术亮点:
- 全局消息API在NMessageProvider上下文中正确初始化
- 保持useToast() API完全向后兼容
- 提供明确的错误信息指导开发者正确集成
- Toast消息正确显示在UI界面,无降级到控制台
测试验证:
- ✅ Toast正常显示在页面右下角
- ✅ 无inject()上下文错误
- ✅ 历史记录加载等功能Toast提示正常工作
|
2025-08-30 11:25:21 +08:00 |
|
linshen
|
fe4d158ac3
|
feat: Naive UI 组件重构与问题修复
主要变更内容:
- 将所有UI组件从自定义实现迁移到Naive UI设计系统
- 移除废弃的theme.css,实现纯themeOverrides主题系统
- 新增useNaiveTheme组合式函数统一主题管理
- 更新42+个组件使用Naive UI设计规范
- 删除过时的OutputPanel组件
- 添加完整的主题配置系统和相关文档记录
- 将Toast组件完全迁移到Naive UI NMessage系统
- 重构useToast组合式函数使用原生useMessage API
- 补全6个缺失组件的导出:ConversationMessageEditor、FullscreenDialog等
- 修复useClipboard中缺失的Ref类型导入
- 修复naive-theme.ts中不支持的borderColorHover属性
- 组件导出覆盖率从76%提升到92%
此次变更实现了UI架构现代化,提升了界面一致性和可维护性,并消除了混合架构的遗留问题。
|
2025-08-24 20:41:43 +08:00 |
|
linshen
|
ad9327ec36
|
docs(archives): 完成高级功能开发的完整归档
- 新增123-advanced-features-implementation归档目录
- 高级变量管理功能完整实现记录
- 工具调用功能完整实现记录
- 界面重新设计和优化记录
- 更新archives索引,统计信息调整为124个归档
- 转移未完成任务到developer/todo.md
- 提取通用经验到general-experience.md
- 重置workspace环境为模板状态
涵盖功能:
- 自定义变量CRUD系统和多轮会话测试
- OpenAI/Gemini统一工具调用支持
- 渐进式UI设计和导航菜单集成
- 向后兼容架构扩展模式
|
2025-08-24 10:13:46 +08:00 |
|
linshen
|
68b9473964
|
refactor(core): 统一模板引擎从Handlebars迁移至Mustache
- 迁移原因:统一CSP安全支持,简化架构设计
- 核心变更:
* 移除handlebars依赖,添加mustache依赖
* 删除CSPSafeTemplateProcessor及相关测试
* 统一使用Mustache.render()处理所有模板
* 移除环境检测逻辑,所有平台使用相同处理流程
- 文档更新:
* 更新语法指南中的模板技术描述
* 归档文档补充迁移说明和架构演进经验
- 测试调整:更新相关单元测试以匹配新的模板引擎
- 兼容性:保持所有现有模板变量替换功能不变
技术优势:原生CSP支持,统一处理逻辑,简化维护复杂度
|
2025-08-24 09:31:12 +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
|
f061808015
|
feat(ui): 实现高级模式完整功能体系
主要功能增强:
• 高级模式系统 - 支持复杂优化场景的完整解决方案
• 变量管理系统 - 自定义变量CRUD、导入导出、预览替换
• 上下文管理 - 多轮对话编辑、快速模板、折叠展开
• 高级测试面板 - 支持变量管理的测试环境
核心组件新增:
• ConversationManager - 上下文管理组件
• ConversationMessageEditor - 消息编辑器
• VariableManager系列 - 完整变量管理组件套件
• AdvancedTestPanel - 高级测试面板
界面优化改进:
• 将"会话管理"重命名为"上下文管理"
• 变量统计显示优化,hover显示变量列表
• 操作按钮重新排序:模板→导入→导出→同步→折叠
• 移除冗余的"应用到测试"功能,统一使用"同步到测试"
• 新增折叠展开功能,优化空间利用
技术架构完善:
• 扩展OptimizationRequest支持advancedContext
• 完善历史记录metadata支持优化模式追踪
• 新增多语言快速模板管理系统
• 优化Electron代理支持复杂对象序列化
|
2025-08-23 17:02:56 +08:00 |
|