34 Commits
Author SHA1 Message Date
linshen 9909abf58f docs: archive outdated workspace documents 2026-03-26 21:23:46 +08:00
linshen ba3c4b7c88 fix(ui): persist manual prompt edits to history
Ensure Save Changes creates a new version across basic and image workspaces.
2026-01-22 21:47:20 +08:00
linshen 69bffd4260 refactor(ui): 完善单一真源架构解决跨模式状态污染
- 修复跨模式状态污染问题,实现单一真源架构
- 完善单一真源架构并优化代码分割
- 归档 Session Store 单一真源重构文档
- 将未完成的迁移指南移回 workspace
2026-01-02 16:52:00 +08:00
linshen 6d21babfdd refactor(ui): 引入 Pinia 状态管理并重构服务访问
- 引入 Pinia 状态管理:创建 promptDraft store 和多个 session stores
- 重构服务访问:移除 $services 插件,统一服务访问方式
- 修复 session 存储竞态条件:使用 Pinia 的响应式系统
- 归档 Pinia 重构文档:记录完整的迁移过程
- 修正 MCP server bin 入口配置
2026-01-01 14:23:00 +08:00
linshen 390545bb80 docs(arch): 归档多轮对话与上下文模式重构设计文档
- 新增多轮对话模式优化设计文档 (127)
- 新增上下文 UI 与变量系统重构文档 (128)
- 更新归档索引与 README 分类结构
2025-12-19 20:51:26 +08:00
linshen 947ede8a1d feat(ui): 实现三大功能模式的独立子模式持久化功能
- 新增三个子模式管理Composable (useBasicSubMode/useProSubMode/useImageSubMode)
- 实现基础/上下文/图像模式的完全独立状态存储
- 添加UI_SETTINGS_KEYS常量用于子模式存储键管理
- 更新App.vue初始化逻辑支持三模式独立恢复
- 修复图像模式刷新后文件上传按钮不显示的bug
- 完善历史记录和收藏恢复时的子模式持久化
- 新增国际化文本支持子模式切换提示
- 归档完整开发文档到126-submode-persistence

核心特性:
- 状态隔离: 三个功能模式维护完全独立的子模式状态
- 跨页面同步: 使用自定义事件实现组件间状态同步
- 双层状态一致性: 导航层和组件层状态保持同步
- 异步初始化: 非阻塞式状态恢复机制
2025-10-25 10:31:14 +08:00
linshen 609f454d6a refactor(ui): 全面优化收藏管理、交互与组件库,统一消息提示
## 主要变更

### 收藏管理界面重构与优化
- **布局与组件规范化**:
    - 统一组件命名风格(NCard, NButton等),100% 使用 Naive UI 原生组件替代自定义div+class,删除 22 个冗余自定义样式类。
    - 工具栏重构为两行布局(视图切换、搜索、操作按钮 / 分类筛选、标签筛选、统计信息),解决单行拥挤问题。
    - 网格布局改进,使用 CSS Grid 的 `auto-fill + minmax` 实现真正的响应式,删除 `NGrid/NGridItem` 依赖。
    - 列表视图重构,使用 `NListItem` 插槽替代 `NThing`,删除 9 个自定义布局样式类。
    - 卡片组件优化,使用 `NCard` 插槽,固定高度 280px,内边距优化为 12px,标题自动省略,内容预览增加到 3 行,标签区域单行显示。
- **功能增强与交互优化**:
    - 新增手动创建收藏功能,支持完整的表单编辑。
    - 允许收藏重复内容,支持为相同内容设置不同标题、分类、标签,移除 `FavoriteAlreadyExistsError` 校验。
    - 收藏夹打开时自动刷新最新数据。
    - 新增标签多选过滤功能。
    - 分类筛选升级为树状选择器,支持层级分类。
    - 简化收藏卡片操作,将菜单改为直观按钮组。
    - 编辑/创建对话框布局优化,增加功能模式选择。
    - 所有操作按钮添加 `NTooltip` 悬浮提示,删除操作增加 `NPopconfirm` 二次确认,操作按钮默认隐藏(移动端始终显示)。
    - 修复收藏管理器 props 声明以支持 watch。
    - 重构 FavoriteManager 为完整 Modal 组件,将 CategoryManager Modal 移至外层,避免事件拦截。

### 统一与优化按钮样式
- 为 `TestControlBar` 中的主要操作按钮和对比模式切换按钮添加 `round` 属性,统一为圆角。
- 去除所有按钮文字的箭头符号(→)。

### 编辑界面与核心显示逻辑统一
- 移除全屏界面 (`OutputDisplayFullscreen`) 和保存收藏对话框 (`SaveFavoriteDialog`) 的对比功能。
- 统一所有新建/编辑界面只保留复制和编辑功能。
- `OutputDisplayCore` 的 `editable` 模式默认显示源码视图,新增模式切换时的视图自动同步逻辑。

### 消息提示系统整合
- 删除 `useSafeMessage.ts`,统一所有组件(`Toast.vue`, `FavoriteManager.vue`, `OutputDisplayCore.vue`, `FavoriteButton.vue`)使用 `useToast()` 作为消息 API。

### 其他修复与优化
- 修复 `InputPanel` 栅格布局,提交按钮宽度从 `span=4` 增加到 `span=5`,解决文字溢出。
- 修复 `useImageWorkspace` 中事件监听器注册时机,解决 TDZ (Temporal Dead Zone) 错误。
- 实现完整的收藏分类管理系统 (CRUD),新增 `CategoryManager` 组件。
- 更新国际化文件 (zh-CN/en-US/zh-TW)。
- 间距从 8px 优化为 6px,标签从最多 2 个恢复到 3 个,添加明确字体大小和行高控制,卡片添加 `overflow: hidden`。
2025-10-18 11:25:30 +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 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 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 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 0717550400 docs(archives): 添加 Docker API代理功能实现文档
- 新增 122-docker-api-proxy 目录,包含项目概述、技术实现、开发经验等文档- 详细介绍了 Docker 环境下的 API 代理解决方案,包括架构设计、关键技术要点、实施步骤等
- 提供了完整的开发经验和最佳实践总结,为类似项目提供了参考
- 更新了档案总表,增加了 122号项目的记录
- 移除了旧的架构对比和关键修复文档,精简了工作空间资料
2025-08-17 15:23:56 +08:00
linshen e329acc123 feat(core): 添加多自定义模型支持
- 实现了无限数量自定义模型的支持
- 添加了环境变量自动发现和注册功能- 优化了模型配置生成逻辑
- 增加了严格的配置验证和错误处理
- 改进了性能和内存使用
- 完善了相关文档和测试
2025-08-02 20:22:48 +08:00
linshen 1a55a5e719 feat(server): 集成 MCP 服务器
本次提交主要集成了 MCP 服务器,为系统增加了用户提示词优化工具,并通过优化部署流程,提升了整体易用性。

具体变更内容包括:

* **功能增强:**
    * 集成 MCP 服务器,提供用户和系统提示词优化工具,支持 stdio 和 HTTP 两种传输方式,并集成了 Claude Desktop。
    * 实现基于会话的 HTTP 传输,允许多客户端连接,并为每个会话创建独立的 MCP 服务器实例,确保会话间的隔离性。

* **部署优化:**
    * 将 MCP 服务器端口变更为与 Web 界面共享 80 端口,通过路径区分,简化了 Docker 部署配置,降低了部署复杂度。
    * 优化 Docker 部署流程,使用 Supervisor 进行进程管理,并改进模板参数(使用枚举类型 + 默认值),同时提供了包含 MCP 服务器使用说明的 Docker 部署文档。

* **代码优化与重构:**
    * 优化模型选择逻辑,提高模型选择的准确性。
    * 优化日志记录功能,支持更灵活的日志级别设置,并添加了详细的错误提示和调试信息,方便问题排查。
    * 重构代码,分离构建和启动入口,优化环境变量加载和模型初始化逻辑,提高了代码的可维护性和可扩展性,并解决了构建副作用问题。

* **文档更新:**
    * 更新工具描述和使用说明,提供了用户和系统提示词工具的具体示例,并补充了迭代提示词工具的改进需求描述和使用场景。
    * 更新 Docker 部署方案,包含了 `docker-compose.yml`、`Dockerfile` 和 `env.local.example` 配置示例,并更新了 README 文档以明确连接方式。
    * 更新 `nginx.conf`,使用环境变量 `NGINX_PORT`,修改 `start-services.sh`,增加 nginx 配置处理,更新 `supervisord.conf`,调整 MCP 服务器启动方式,优化 `Dockerfile`,安装额外依赖并调整工作目录,调整环境变量加载机制,使用 `preload-env.cjs`。

* **其他:**
    * 提供快速开始指南、环境变量配置和问题排除等文档,更新了相关文档链接和获取帮助指引,并完成了基础测试用例和开发/设计文档。

本次更新旨在提升用户在提示词优化方面的能力,并简化部署流程,提高系统的整体可用性和可维护性。
2025-07-27 00:31:23 +08:00
linshen 58b3de4afa feat(core): 实现CSP安全的模板处理器
- 新增CSPSafeTemplateProcessor类,用于浏览器扩展环境中的模板处理
-该处理器避免使用eval()和Function构造函数,确保CSP兼容性
- 实现基本变量替换功能,支持{{variable}}语法
- 增加环境检测逻辑,准确区分浏览器扩展和其他环境
- 保持现有模板功能的向后兼容性
- 新增测试用例,确保CSP安全处理器的正确性和稳定性
2025-07-17 21:30:30 +08:00
linshen e862c20e4d refactor(updater, ui): 优化更新流程、移除冗余状态管理
- 重构更新器,移除状态缓存,优化检查流程,改为每次启动时重新检测。
- 优化预览版提示逻辑和界面样式,增加版本号和提示信息的视觉区分。
- 移除`useElectronAPI` Hook,简化 Electron API 访问,直接使用 `window.electronAPI`。
- 调整 Release Notes 生成逻辑,修复检出代码问题,获取完整 git 历史和所有 tags。
- 优化版本忽略功能,`useUpdater`改为单例模式,支持预览版过滤。
- 移除build:parallel脚本中的build:desktop-only任务。

docs(dev): 更新桌面端自动更新系统设计文档

- 新增系统设计文档,描述自动更新系统的架构和界面布局。
- 补充 electron-updater 版本号说明,推荐使用 SemVer 2.0.0 标准。
2025-07-13 20:23:32 +08:00
linshen 3d1077ec11 fix(updater, desktop, ui): 优化自动更新系统,修复bug并改进用户体验
- 修复下载失败、依赖冲突、版本比较等问题
- 优化更新系统,新增多版本忽略功能
- 重构更新检查逻辑,采用请求-响应模式
- 优化UI,同时显示正式版和预览版信息,简化操作流程
- 增强设置修改的安全性,去除冗余选项
- 完善错误处理和日志记录,便于问题追踪

feat(updater, ui): 重构更新界面并优化更新检查逻辑

- 重构更新检查逻辑,采用请求-响应模式
- 优化UI,同时显示正式版和预览版信息
- 添加独立的下载按钮和GitHub链接
- 优化版本信息的视觉呈现

refactor(updater): 深度重构自动更新系统

- 优化组件架构设计,提高代码复用性和独立性
- 完善错误处理机制,确保关键信息不丢失

ci(release): 优化版本发布流程和配置

- 动态配置 package.json 文件
- 增加详细的版本类型判断和处理
- 优化 release notes 内容和 GitHub Release 信息
- 为desktop构建添加 GitHub token 环境变量
2025-07-12 22:43:19 +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 161916f2ae docs(experience, workspace, archives): 更新文档,优化多形态架构和测试流程
更新经验总结,添加多形态产品架构设计和环境感知组件的最佳实践
初始化桌面应用更新系统相关文档,设计发布与更新方案
添加导入导出架构重构文档,包含实施细节、经验和测试验证
引入 AI 自动化测试框架提升测试覆盖率和可靠性

feat(testing): 完成Electron AI自动化测试,创建测试指南

完成9个测试场景,验证端到端AI优化和Ollama集成
创建Electron MCP测试指南和最佳实践文档
总结Electron测试与浏览器测试的关键差异,建立自动化测试方法论
2025-07-12 13:21:18 +08:00
linshen 98507e63ec feat: 优化ElectronProxy层职责,修复fetchModelList类型定义,简化数据流与事件处理 2025-07-06 13:02:45 +08:00
linshen c0cc629542 feat: 修复内置模板语言切换后迭代页面不更新的问题,完善事件传播机制 2025-07-06 11:31:25 +08:00
linshen 0843cb6608 feat: 完善OutputDisplay V2的CompareService依赖注入,修复相关组件问题 2025-07-06 09:12:23 +08:00
linshen ea77ff44ec feat: 增强IPC序列化与数据一致性,修复备份恢复机制,添加安全序列化函数以清理IPC传递的Vue响应式对象,确保数据完整性 2025-07-05 23:01:51 +08:00
linshen b5f3b263f7 feat: 优化桌面应用打包方式,改为ZIP格式以简化存储路径和代码架构 2025-07-05 21:05:32 +08:00
linshen bb2cf778d5 feat: 添加IPC架构分析文档,优化Vue响应式对象的序列化处理,修复应用退出时无限循环问题 2025-07-05 17:36:51 +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 446221ae83 feat: 更新功能点列表,新增架构重构系列文档,并新增桌面端IPC修复合集文档与语言切换功能修复
- 在`README.md`中更新了功能点列表,新增了架构重构系列和服务重构系列的条目,总结了项目的目标和完成情况,确保文档的完整性和可读性。
- 删除了`112-desktop-ipc-fix`相关的经验和文档,整合为`112-desktop-ipc-fixes`,提升了文档的结构性。
- 增加了组织指南和归档标准,明确了文档管理的规范,确保后续文档的统一性和质量。
- 新增`112-desktop-ipc-fixes`目录,包含桌面端IPC修复的详细文档,确保开发者能够快速查找和理解相关问题及解决方案。
- 在`desktop-ipc-fix.md`中分析了IPC架构问题,提供了详细的根本原因和解决方案,提升了文档的可读性和实用性。
- 在`language-switch-fix.md`中修复了功能提示词管理的语言切换按钮显示"Object Promise"的问题,确保UI组件正常工作。
2025-07-05 09:36:26 +08:00
linshen bd55449736 feat: 更新语言切换功能与接口一致性
本次提交主要完成了以下变更:

- 在`README.md`中新增了功能提示词管理语言切换按钮修复的条目,确保文档的完整性。
- 重构了`ElectronModelManagerProxy`和`ElectronTemplateLanguageServiceProxy`,将多个同步方法改为异步方法,确保与主进程的IPC调用一致。
- 更新了`TemplateManager`和`languageService`的接口定义,确保所有方法均为异步调用,提升了代码的一致性和可维护性。
- 在`main.js`和`preload.js`中完善了IPC处理逻辑,确保语言相关功能的正确转发。

这些更新旨在提升项目的可维护性和用户体验,确保开发者能够更专注于核心功能的开发。
2025-06-29 22:26:51 +08:00
linshen 6c6b68726f feat: 接口驱动架构改造与TemplateManager重构
本次提交主要完成了以下变更:

- 在`experience.md`中新增接口驱动架构改造的核心原则、最佳实践和审核检查清单,确保所有模块通过明确定义的接口进行交互。
- 重构`TemplateManager`,移除复杂的异步初始化逻辑,简化其依赖关系,确保其只关注核心业务。
- 在`scratchpad.md`中更新当前任务进展,记录了对各个服务的重构状态和计划步骤。
- 在`todo.md`中添加了紧急任务和重要任务,确保架构改造的顺利进行。

这些更新旨在提升项目的可维护性和一致性,确保开发者能够更专注于核心功能的开发。
2025-06-29 20:31:42 +08:00
linshen d1f6c62390 feat: 重构UI层状态持久化架构,增强Electron API交互与Prompt服务
- 导出偏好设置服务类型和实现,增强服务可用性。
- 实现`ElectronPreferenceServiceProxy`和`PreferenceService`,提供偏好设置管理功能。
- 更新组件,使用偏好设置服务替代原有存储逻辑,提升代码可维护性和一致性。
- 集成偏好设置服务的IPC处理逻辑,确保主进程正确处理相关请求。
- 新增重构UI层状态持久化架构任务,目标是将UI层对`useStorage`的直接依赖替换为`PreferenceService`。
- 优化IPC通信,新增对流式处理的支持,增强Prompt服务功能。
- 集成Prompt服务的IPC处理逻辑,并新增成功和错误响应辅助函数,简化IPC处理逻辑,提升代码可读性和一致性;同时优化多个IPC处理函数,确保在发生错误时能够统一返回错误信息,增强错误管理。
- 新增对`iteratePrompt`、`testPrompt`、`getHistory`、`getIterationChain`等方法的支持,暴露Prompt服务接口,方便前端调用,扩展前端与主进程的交互能力。
- 删除不再使用的Markdown输出规则和AI开发工作流程文档,提升项目的可维护性和文档的清晰度。
2025-06-29 17:02:33 +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 acf592ab2c refactor(template): 优化模板管理与服务注入,增强错误处理并添加故障排除清单
- 添加模板管理故障排除清单,以帮助用户解决模板管理中遇到的常见问题。
- 统一服务注入逻辑,移除不必要的props定义,增强错误处理机制。
- 优化模板管理,统一服务注入与存储键管理。
- 更新 `TemplateSelect.vue`,移除 `services` prop,改用 `inject` 注入服务。
- 整合 `useTemplateManager`,统一模板选择保存逻辑及存储键管理。
- 新增 `storage-keys.ts`,集中管理存储键常量,避免重复定义,便于维护与遍历。
- 更新相关组件以适配新的模板管理方式,确保模板选择状态正确保存和恢复。
- 修正了模板类型错误的问题,确保在管理界面切换分类后添加的模板类型与当前显示的分类一致。
- 修复了模板管理器打开位置错误的问题,确保从不同入口打开模板管理器时,定位到正确的分类。
- 优化了模板保存和导入逻辑,增加了错误处理和提示。
- 确保所有异步模板操作都使用了 `await` 关键字,避免潜在的时序问题。
- 移除了 `usePromptOptimizer` 中 `selectedOptimizationMode` 的默认值,强制传入该参数。
- 优化了 `TemplateSelect` 组件中 `optimizationMode` prop 的处理,设为 `required`。
2025-06-29 10:10:26 +08:00