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 服务、提示词模板管理和历史记录管理分离到独立的模块中。
- 更好的可维护性:通过模块化设计,降低代码耦合度,提高代码可读性和可维护性。
- 更高的可扩展性:新的架构更易于添加新的模型和功能。
本次重构对现有功能没有影响,所有测试均已通过。