linshen
0563ece5bc
feat: 更新文档
2025-02-10 21:42:00 +08:00
linshen
c8717e68a2
feat: 优化提示词
2025-02-10 21:40:31 +08:00
linshen
688d19113f
feat: 优化模板加载和选择逻辑,增加默认模板处理
...
本次提交主要改进了模板加载和选择的健壮性:
- 重构模板初始化流程,支持从本地存储和内置模板中选择
- 新增 `getTemplatesByType` 方法,按类型获取模板列表
- 优化 App 中模板加载逻辑,增加容错处理
- 更新默认模板配置,增加简单优化模板
- 调整内置模板 ID 和元数据,提高可读性
关键改进:
- 支持动态选择同类型的第一个模板
- 增强模板加载失败时的错误处理
- 完善模板类型和内置标识
2025-02-10 20:04:29 +08:00
linshen
800fd4870b
feat: 增强模板管理器,支持多类型模板和本地存储选择
...
本次提交对模板管理器进行了重要升级,主要改进包括:
- 引入模板类型(优化/迭代)分类存储
- 实现模板类型标识和筛选支持
- 添加模板类型选择和切换功能
- 支持在 App 中记忆和恢复上次选择的模板
- 优化模板管理器 UI,增加类型标签和视觉区分
- 完善模板选择和管理的用户交互体验
关键技术点:
- 扩展模板元数据,增加 templateType 字段
- 实现按类型过滤和存储模板
- 使用 localStorage 持久化模板选择
2025-02-07 21:41:03 +08:00
linshen
5ca50d8159
feat: 更新进度
2025-02-06 20:46:41 +08:00
linshen
97716f94ef
feat: 重构模板管理器,实现本地存储和用户模板支持
...
本次提交对模板管理器进行了全面重构,主要改进包括:
- 实现内置模板和用户模板的分离管理
- 添加 LocalStorage 持久化用户模板
- 支持模板的保存、删除、导入和导出
- 增加模板验证和错误处理机制
- 优化模板列表排序逻辑
- 重构模板管理器初始化流程
- 完善单元测试覆盖率
关键技术点:
- 使用 zod 进行模板数据验证
- 实现内置模板和用户模板的区分
- 提供灵活的模板管理接口
2025-02-06 20:41:27 +08:00
linshen
0599354288
feat: 增加自定义API集成和流式输出支持
...
本次提交主要实现了以下功能:
- 添加自定义API集成支持,通过环境变量配置
- 实现流式输出功能,支持优化、迭代和测试场景
- 重构 OutputPanel 组件,支持流式渲染
- 更新 LLM 服务,增加流式消息发送方法
- 优化错误处理和状态管理
- 调整 Vite 配置,支持路径别名和公共目录
- 添加 Element Plus 和 Pinia 测试依赖
主要技术改进:
- 使用 LangChain 流式 API
- 实现跨组件的流式数据传输
- 增强用户交互体验
2025-02-04 02:19:17 +08:00
linshen
859e81c22c
refactor: Enhance template manager with cross-environment file loading support
...
- Add Node.js and browser environment detection in TemplateManager
- Implement file loading using `fs` for Node.js environments
- Maintain existing fetch-based loading for browser environments
- Update template index and individual template loading methods
- Remove unnecessary test files related to template management
- Increase timeout for DeepSeek API integration tests
2025-02-03 10:52:46 +08:00
linshen
70e479a200
feat: 更新项目进度文档
2025-01-31 00:01:51 +08:00
linshen
c76c0f3aa0
feat: 重构服务层初始化和错误处理,统一错误消息
...
本次提交主要对服务层进行了以下重要改进:
- 为历史记录管理器 `HistoryManager` 添加初始化方法,确保存储可用性
- 在 `LLM` 服务中引入统一的错误消息常量 `ERROR_MESSAGES`
- 优化提示词服务的错误处理,使用统一的错误消息
- 更新模型配置类型,增加可选的 API Key 和更多提供商支持
- 重构服务初始化流程,确保依赖服务正确初始化
- 调整单元测试以适应新的初始化和错误处理机制
目标是提高代码的健壮性、一致性和可维护性,同时改进错误处理和服务初始化流程
2025-01-30 23:52:38 +08:00
linshen
eb2172eb50
feat: 重构LLM服务,引入LangChain并优化错误处理
...
本次提交对LLM服务进行了全面重构,主要变更包括:
- 引入LangChain库,支持多模型提供商(OpenAI、Gemini)
- 重构错误处理机制,增加更精细的错误类型
- 优化模型实例缓存和配置验证
- 更新服务层接口,提高代码可读性和可维护性
- 调整模型配置类型,增加provider字段
- 更新单元测试和集成测试,适配新的服务架构
- 添加LangChain相关依赖
重构目标:
- 提高代码的可扩展性
- 统一模型调用接口
- 改进错误处理和类型安全
- 支持更多模型提供商
2025-01-30 23:14:24 +08:00
linshen
5c28a7a484
feat: 同步手动修改提示词到父组件,测试使用最新提示词 (master)
...
现在手动修改优化后的提示词会正确同步到父组件,测试时会使用最新的提示词内容。
修改内容:
- `src/App.vue`:
- 将 `PromptPanel` 组件的 `optimized-prompt` 属性绑定方式从 `:optimized-prompt` 修改为 `v-model:optimized-prompt`,实现双向绑定。
- 测试提示词时,使用 `optimizedPrompt.value` 或 `prompt.value` 的最新值。
- `src/components/PromptPanel.vue`:
- 添加 `promptTextarea` ref,用于获取 textarea 元素。
- 添加 `handleInput` 方法,用于处理 textarea 输入事件,并使用 `$emit('update:optimizedPrompt', newValue)` 将修改后的值传递给父组件。
- 修改 textarea 的 `:value` 绑定为 `optimizedPrompt`,并移除 `@input="$emit('update:optimizedPrompt', $event.target.value)"`。
2025-01-22 22:11:09 +08:00
linshen
fbffa67fa6
feat: 更新项目进度追踪文档,增加服务层重构信息并更新完成任务数量 (master)
...
本次提交主要更新了 `scratchpad.md` 文件,具体变更如下:
- 更新了已完成任务数量和进度百分比。
- 增加了已完成的服务层基础重构任务,包括基础设施搭建、核心服务迁移、错误处理机制和基础单元测试覆盖。
- 更新了进行中的任务,包括提示词服务增强和历史记录功能。
- 更新了待开发任务列表,增加了提示词功能增强相关子任务。
- 更新了项目指标,包括页面加载时间和API响应时间。
- 更新了项目更新记录,添加了服务层基础重构的记录。
- 更新了近期计划,将重点放在提示词服务增强和历史记录功能完善上。
- 更新了里程碑计划,将里程碑1修改为服务层优化。
- 增加了项目经验总结,包括开发效率、错误管理、代码质量和项目管理。
此外,对 `.cursorrules` 文件进行了更新,添加了AI编程规则指南;对 `docs/progress.md` 文件进行了更新,记录了当前的项目进展和下一步计划。
2025-01-21 23:52:14 +08:00
linshen
5468f272da
feat: 重构项目,调整服务层架构 (master)
...
本次提交对项目进行了大规模重构,主要调整了服务层架构,以实现更清晰的职责划分和更好的可维护性。
具体变更包括:
- 移除 `src/api/llm.js` 文件,相关 API 密钥管理逻辑已迁移到 `src/services/model/manager.js` 中。
- 移除 `src/config/llm.js` 文件,LLM 配置逻辑已迁移到 `src/services/model/manager.js` 和 `src/services/llm/service.js` 中。
- 移除 `src/services/llm.js` 文件,LLM 服务逻辑已迁移到 `src/services/llm/service.js` 中。
- 移除 `src/services/promptManager.js` 文件,提示词模板管理逻辑已迁移到 `src/services/prompt/service.js` 中,历史记录管理已迁移到 `src/services/history/manager.js` 中。
- 重构 `src/components/ModelManager.vue` 组件,使用新的模型管理服务。
- 重构 `src/App.vue` 组件,使用新的服务层架构。
- 修改 `tests/unit/services/llm.test.js` 文件,适应新的服务层架构。
- 修改 `tests/integration/services/llm/common.test.js`, `tests/integration/services/llm/custom.test.js`, `tests/integration/services/llm/deepseek.test.js`, `tests/integration/services/llm/gemini.test.js` 文件,适应新的服务层架构。
- 修改 `tests/unit/App.test.js` 文件,适应新的服务层架构。
- 修改 `src/components/OutputPanel.vue` 组件,添加复制选中内容功能。
- 更新 `experience.md`,记录重构经验。
- 更新 `scratchpad.md`,添加重构计划和日志。
本次重构的主要目标是:
- 更清晰的职责划分:将模型管理、LLM 服务、提示词模板管理和历史记录管理分离到独立的模块中。
- 更好的可维护性:通过模块化设计,降低代码耦合度,提高代码可读性和可维护性。
- 更高的可扩展性:新的架构更易于添加新的模型和功能。
本次重构对现有功能没有影响,所有测试均已通过。
2025-01-21 23:25:18 +08:00
linshen
6783d2b4bc
feat: 优化文档,添加项目经验总结 (master)
...
本次提交主要对项目文档进行了优化,具体包括:
- 更新了 `experience.md` 文件,详细记录了项目开发过程中的经验总结,包括架构设计、LLM服务最佳实践、错误处理、测试规范、Vue组件开发、提示词迭代功能开发经验以及Vue 3 开发经验总结等。
- 将原文档内容进行了结构化整理,使其更易于阅读和理解。
- 添加了快速索引,方便快速定位到所需内容。
- 增加了代码示例和最佳实践,使文档更具指导意义。
- 更新了 `scratchpad.md` 文件,对项目进度进行了更新,包括已完成的任务、进行中的任务、风险评估、近期计划、项目指标和更新记录等。
- 在 `scratchpad.md` 中,添加了新的任务:提示词迭代功能,并详细记录了该任务的完成情况、技术要点和经验总结。
- 在 `scratchpad.md` 中,修复了历史记录实时更新和重用功能的问题,并总结了经验教训。
- 在 `scratchpad.md` 中,修改了项目进度,更新了里程碑计划。
- 在 `scratchpad.md` 中,更新了项目指标。
- 在 `scratchpad.md` 中,更新了风险评估。
- 在 `scratchpad.md` 中,更新了近期计划。
- 在 `scratchpad.md` 中,更新了经验总结。
本次提交旨在提高项目文档的质量,为后续开发提供更好的参考。
2025-01-21 22:11:35 +08:00
linshen
07a8d7e262
feat(优化): 去除currentProvider,独立优化、测试模型 (master)
...
去除全局 currentProvider 依赖,模型选择和 API 调用时直接传递模型参数。
优化模型选择状态同步逻辑,确保 UI 和服务层状态一致。
改进测试架构,支持多模型并行测试,并优化环境变量处理。
- 移除全局 currentProvider 状态
- API 调用时显式指定模型
- 模型选择时同步更新服务状态
- 优化测试用例,避免依赖全局状态
- 改进环境变量处理
- 添加测试模型配置
- 优化模型管理和状态同步
- 优化组件状态独立性,避免共享状态
- 统一使用 import.meta.env 读取环境变量
- 修复模型选择下拉框状态不同步问题
2025-01-21 21:55:57 +08:00
linshen
a8a2cee0c5
feat: 优化样式 (master)
...
优化 PromptPanel 和 OutputPanel 组件的样式,包括按钮样式和文本框样式,使其更加美观和用户友好。
- 修改了按钮的样式,使用更清晰的背景色和文字颜色,同时添加了 hover 效果。
- 调整了文本框的样式,使其更符合整体设计风格,并添加了滚动条隐藏样式。
- 在 OutputPanel 组件中添加了复制成功/失败的提示。
- 在 PromptPanel 和 OutputPanel 组件中添加了 @input 事件,实现双向数据绑定。
2025-01-21 20:37:52 +08:00
linshen
c923348c4b
fix: 修复历史记录相关功能 (master)
...
修复了历史记录无法实时更新和重用功能失效的问题。
此提交包含以下更改:
- 修复了历史记录在添加新记录后没有实时更新的问题,现在会在添加记录后立即更新 `history.value`。
- 修复了历史记录重用功能无法使用的问题,将 `HistoryDrawer` 组件的 `@select` 事件统一修改为 `@reuse`。
- 修改了 `HistoryDrawer.vue` 组件,将 `item.original` 修改为 `item.prompt`,将 `item.optimized` 修改为 `item.result`,以符合最新的数据结构。
- 更新了 `App.vue` 中的 `handleSelectHistory` 方法,使其使用 `item.result` 而不是 `item.optimized`。
- 在 `experience.md` 中增加了关于数据结构一致性、Vue响应式数据更新和Vue测试经验的总结。
- 在 `scratchpad.md` 中添加了本次修复的详细分析和总结。
- 在 `tests/unit/App.test.js` 中添加了对历史记录功能更新的测试。
这些更改确保了历史记录的实时更新,以及重用功能正常工作。
2025-01-21 20:27:36 +08:00
linshen
505556ec07
增加提示词文件
2025-01-21 20:26:20 +08:00
linshen
0e6dc465ee
feat(prompt-optimizer): 增加提示词迭代功能 (master)
...
本次提交增加了提示词迭代优化功能,并对相关模块进行了调整和优化,具体包括:
- **新增:**
- 新增 `iterate.yaml` 迭代优化提示词模板。
- `PromptPanel` 组件新增迭代优化功能,允许用户在已优化的提示词基础上进行进一步优化。
- `llmService` 服务新增 `iteratePrompt` 方法,支持提示词迭代优化。
- `promptManager` 服务新增 `getIterationChain` 方法,支持迭代链查询,并修改 `addToHistory` 方法以支持记录迭代优化历史。
- **修改:**
- `experience.md` 文档更新,记录了提示词迭代功能开发经验。
- `src/prompts/templates/_index.json` 文件更新,添加 `iterate.yaml`。
- `src/App.vue` 组件添加 `handleIteratePrompt` 方法,处理迭代优化逻辑。
- `src/components/PromptPanel.vue` 组件添加迭代优化按钮和输入框。
- `src/services/llm.js` 添加 `iteratePrompt` 方法。
- `src/services/promptManager.js` 修改了 `addToHistory` 和 添加了 `getIterationChain` 方法
- `tests/unit/App.test.js` 添加了对迭代优化功能的测试
- **优化:**
- 优化了 UI/UX 设计,确保用户体验。
- 优化了数据存储结构,支持记录迭代优化历史。
- 优化了代码组织和可维护性。
此次更新旨在提高用户优化提示词的效率和灵活性,并提供更完善的迭代优化功能。
2025-01-20 22:34:17 +08:00
linshen
a214ef566b
feat(docs): 更新项目经验总结文档 (master)
...
更新 `experience.md` 文件,详细记录了项目架构、API集成、LLM服务、测试规范以及UI设计等方面的最佳实践和经验总结。
2025-01-20 21:32:43 +08:00
linshen
a9d9756910
feat(experience): 调整布局并增加历史记录功能 (master)
...
此次提交主要调整了应用的布局结构,并增加了历史记录功能,具体改动如下:
- 调整了主页面的布局,优化了三栏布局的比例和间距,使界面更加清晰。
- 优化了组件的层级,使用了卡片式设计,增强了视觉层级感。
- 增加了历史记录功能,用户可以查看和复用之前的 prompt 和优化结果。
- 优化了深色主题下的颜色搭配,提高了可读性。
- 统一了组件的样式,保持了视觉一致性。
- 调整了部分组件的结构和样式,使其更易于维护和扩展。
- 修改了 PromptManager,增加了获取历史记录,添加到历史记录,清除历史记录的方法
- 修改了 HistoryDrawer 组件,增加了历史记录展示
- 修改了 App 组件,调整了布局,增加了对历史记录的调用
- 修改了 ModelManager 组件,调整了弹窗的样式
- 修改了 InputPanel 组件,增加label,placeholder 属性,修改了组件的样式
- 修改了 OutputPanel 组件,增加了 loading 状态
- 修改了 PromptPanel 组件,修改了组件的样式
- 修改了 package.json,增加了 @vue/test-utils 依赖
- 修改了 vite.config.js,增加了测试覆盖率配置
2025-01-20 20:44:09 +08:00
linshen
e049b3b0ee
添加项目文档
2025-01-20 19:42:59 +08:00
linshen
6e341a4438
feat(单元测试): 增加单元测试,增加gemini代理地址以跑通本地单元测试 (master)
...
本次提交主要做了以下更改:
- **新增单元测试:** 为 LLM 服务添加了单元测试,确保核心功能正常运行。
- **增加 gemini 代理地址:** 在 `src/config/models.js` 中,将 Gemini 的 API 地址替换为代理地址,以便在本地环境进行单元测试。
- **更新经验文档:** 更新 `experience.md` 文件,记录了本次更改的细节和经验。
- **更新 package.json:** 添加了 `dotenv` 依赖,用于单元测试时加载环境变量。
2025-01-20 19:42:34 +08:00
linshen
75a07da950
feat(模型配置): 修复模型配置持久化,区分禁用和删除 (master)
...
- 修复模型配置持久化问题,使用 localStorage 持久化模型配置。
- 区分禁用和删除操作:
- 禁用:保留配置但暂时不可用,可以重新启用。
- 删除:完全移除配置,需要重新添加。
- 默认模型只能禁用不能删除,自定义模型可以禁用也可以删除。
- UI 上用不同的样式区分禁用和删除操作。
- 更新了 llmService 的方法,增加了 enableModel, disableModel, deleteModel 方法。
- 更新 ModelManager 组件,支持启用、禁用和删除模型。
- 更新 App.vue 和 InputPanel.vue 组件,同步模型状态。
- 增加了错误处理和用户反馈。
- 增加了 CSS 样式优化。
2025-01-18 14:31:08 +08:00
linshen
af169a8a5c
增加userToast
2025-01-18 13:47:35 +08:00
linshen
ca9e1b91b2
feat: 优化界面布局和ui (master)
...
本次提交主要改进了用户界面,使其更加美观和易用。主要改动包括:
- 更新了 `experience.md` 文档,记录了深色主题和响应式设计的经验。
- 重构了 `Toast` 组件,使用 `Teleport` 将提示信息渲染到 `body` 中,并添加了更平滑的过渡效果。
- 优化了 `ModelManager` 组件的样式,使其更符合深色主题。
- 改进了 `App.vue` 的整体布局,并添加了顶部导航栏。
- 优化了 `PromptPanel` 组件,使其更好地利用空间。
- 改进了 `OutputPanel` 组件的样式,并添加了错误提示。
- 优化了 `InputPanel` 组件,使其更符合深色主题并支持模型选择。
2025-01-18 13:47:07 +08:00
linshen
c0a93ee5be
feat: 增加测试输入输出区域,重构api管理 (master)
...
本次提交主要完成了以下内容:
- **新增测试输入输出区域**:
- 添加了 `InputPanel.vue` 和 `OutputPanel.vue` 组件,用于测试提示词的输入和输出展示。
- 在 `App.vue` 中整合了这三个组件,实现了三栏布局,提升了用户体验。
- 优化了状态管理,将提示词优化状态和测试状态分离,避免相互影响。
- **重构 API 管理**:
- 将 `llm.js` 中的 `chat` 方法重命名为 `sendMessage`,更准确地描述其功能。
- 统一了 API 的调用方式,保持了方法命名的一致性和语义化。
- 在修改方法名时同步更新了所有调用点。
- **优化界面交互**:
- 添加了加载状态,提升用户体验。
- 优化了错误处理,更友好地提示用户。
- 添加了复制优化结果的功能。
- **其他改进**:
- 更新了 `experience.md` 文档,记录了三栏布局的最佳实践和界面优化经验。
- 优化了 `App.vue` 的布局和组件结构,使其更易于维护和扩展。
2025-01-18 11:16:52 +08:00
linshen
0d3c2ba501
init
2025-01-17 21:37:11 +08:00