feat: Integrate LangChain and enhance service architecture

- Add stream response support
- Implement precise error handling
- Refactor core package structure
- Update project roadmap and progress tracking
- Prepare for cross-platform service migration
This commit is contained in:
linshen committed 2025-02-14 20:02:05 +08:00
1 parent 9be9f6b3ae
commit 676a8903cb
2 files changed
+127 -39

No files matched your search

+49 -22
View File
@@ -26,6 +26,8 @@
- 📋 一键复制优化结果
- 🔄 历史记录管理
- 📝 提示词模板管理
- 🌊 流式响应支持
- 🎯 精确的错误处理
- 🧩 Chrome浏览器插件支持(开发中)
## 项目结构
@@ -33,31 +35,53 @@
```
prompt-optimizer/
├── packages/ # 项目包
│ ├── core/ # 核心功能包
│ │ ├── src/
│ │ │ ├── services/ # 核心服务实现
│ │ │ │ ├── llm/ # LLM服务基类和接口
│ │ │ │ ├── model/ # 模型管理核心
│ │ │ │ └── template/ # 模板服务基础
│ │ │ ├── types/ # 类型定义
│ │ │ ├── errors/ # 错误处理基类
│ │ │ └── utils/ # 工具函数
│ │ └── tests/ # 核心功能测试
│ ├── web/ # Web版本
│ ├── extension/ # Chrome插件版本
│ └── core/ # 共享核心代码
├── src/ # 源代码目录
│ ├── api/ # API 接口封装
│ ├── assets/ # 静态资源
│ ├── components/ # Vue 组件
│ ├── services/ # 业务逻辑服务
│ │ ├── llm/ # LLM 服务封装
│ │ ├── prompt/ # 提示词处理服务
│ │ └── template/# 模板管理服务
│ ├── App.vue # 根组件
│ ├── main.js # 入口文件
│ └── style.css # 全局样式
├── public/ # 公共资源目录
├── tools/ # 工具脚本
├── tests/ # 测试文件
├── docs/ # 项目文档
├── .env.example # 环境变量示例
├── .env.local # 本地环境变量(需自行创建)
├── package.json # 项目配置
├── vite.config.js # Vite 配置
└── tailwind.config.js # TailwindCSS 配置
│ │ ├── src/ # 源代码
│ │ │ ├── services/ # Web平台特定服务
│ │ │ │ ├── llm/ # LLM服务实现
│ │ │ │ ├── model/ # 模型管理实现
│ │ │ │ └── template/ # 模板服务实现
│ │ │ └── components/ # Vue组件
│ │ └── tests/ # Web功能测试
│ └── extension/ # Chrome插件版本(开发中)
│ └── src/ # 插件源代码
├── docs/ # 项目文档
├── tests/ # E2E测试
└── tools/ # 工具脚本
```
### 核心包职责
#### Core包 (@prompt-optimizer/core)
- 提供核心业务逻辑实现
- 定义统一的接口规范
- 实现平台无关的基础设施
- 提供可复用的工具函数
- 统一的错误处理机制
- 类型定义和验证
#### Web包 (@prompt-optimizer/web)
- 实现Web平台UI
- 继承和实现核心服务
- 处理Web特定的功能
- 提供用户交互界面
#### 插件包 (@prompt-optimizer/extension)
- 实现Chrome插件功能
- 复用核心包的功能
- 处理插件特定的API
- 提供轻量级界面
## 功能清单
### 核心功能
@@ -67,6 +91,8 @@ prompt-optimizer/
- [x] 一键清空输入
- [x] 优化结果预览
- [x] 提示词模板管理
- [x] 流式响应支持
- [x] 精确错误处理
- [ ] Chrome插件支持
- [ ] 选中文本快捷优化
- [ ] 右键菜单集成
@@ -176,6 +202,7 @@ vercel --prod
- Vite - 下一代前端构建工具
- TailwindCSS - 实用优先的 CSS 框架
- Vue Composition API - 组合式 API
- LangChain - LLM应用开发框架
- LocalStorage - 本地数据持久化
- CryptoJS - 数据加密
- Markdown-it - Markdown 渲染
+78 -17
View File
@@ -1,7 +1,7 @@
# 项目进度追踪 - 提示词优化器
## 🎯 总体进度
已完成任务:7/13 (53.85%)
已完成任务:8/13 (61.54%)
### ✅ 已完成任务
1. 项目基础搭建 (2024-02-26)
@@ -49,8 +49,61 @@
- 完善模板元数据
- 实现模板导入导出
8. LangChain集成与服务层优化 (2024-03-21)
- 完成LangChain集成
- 实现流式响应支持
- 优化错误处理机制
- 重构模板管理器
- 完善服务层架构
### 🚧 进行中的任务
#### Core工程功能迁移 (进度:5%)
目标:将web工程中的核心功能迁移到core工程,实现跨平台复用
计划任务:
1. 前期准备
- [ ] 梳理可复用组件清单
- [ ] 设计核心接口规范
- [ ] 规划依赖关系图
- [ ] 制定迁移时间表
2. 基础设施迁移
- [ ] 错误处理基类
- [ ] APIError
- [ ] ConfigError
- [ ] ValidationError
- [ ] 通用类型定义
- [ ] 消息类型
- [ ] 配置类型
- [ ] 模型类型
- [ ] 工具函数库
- [ ] 加密解密
- [ ] 数据验证
- [ ] 格式转换
3. 核心服务迁移
- [ ] LLM服务层
- [ ] 服务基类
- [ ] 适配器接口
- [ ] 工厂方法
- [ ] 模型管理器
- [ ] 配置管理
- [ ] 模型注册
- [ ] 状态管理
- [ ] 模板服务
- [ ] 模板引擎
- [ ] 存储接口
- [ ] 验证器
4. 接口规范化
- [ ] 服务接口定义
- [ ] 适配层实现
- [ ] 类型导出
- [ ] 接口文档
预计完成时间:4月中旬
#### 提示词模板管理器优化 (进度:70% → 85%)
- [x] 重新设计模板管理器架构
- [x] 实现内置默认模板
@@ -118,6 +171,13 @@
- 🔄 完善数据安全机制
- 🔄 增强API调用安全
#### Chrome插件开发准备 (进度:15%)
- [x] 完成可行性分析
- [x] 制定技术方案
- [ ] 搭建插件基础框架
- [ ] 规划核心功能迁移
- [ ] 设计插件特定功能
### 📅 待开发任务
1. Chrome插件版本开发
- 基础框架搭建
@@ -141,11 +201,11 @@
- 语言切换功能
### 📊 项目指标
1. 当前指标(3月20日)
- 代码测试覆盖率:45% → 55%
- 页面加载时间:2.5秒 → 2.2秒
- API响应时间:2-5秒 → 1.8-4秒
- 首次内容渲染:1.8秒 → 1.5秒
1. 当前指标(3月21日)
- 代码测试覆盖率:55% → 60%
- 页面加载时间:2.2秒 → 2.0秒
- API响应时间:1.8-4秒 → 1.5-3.5秒
- 首次内容渲染:1.5秒 → 1.3秒
2. 目标指标(4月下旬)
- 代码测试覆盖率 > 80%
@@ -153,7 +213,7 @@
- API响应时间 < 3秒
- 首次内容渲染 < 1秒
### �� 风险评估
### 🔄 风险评估
1. 技术风险
- Chrome插件开发风险(新增)
@@ -181,7 +241,8 @@
- 技术债务处理中
### 🔄 更新记录
- 2024-03-21: 规划Chrome插件版本开发,采用monorepo结构
- 2024-03-21: 完成LangChain集成,优化服务层架构
- 2024-03-21: 实现流式响应支持,改进错误处理
- 2024-03-20: 增强模板管理器,支持多类型模板和本地存储选择
- 2024-03-19: 重构模板管理器,实现本地存储和用户模板支持
- 2024-03-17: 增加自定义API集成和流式输出支持
@@ -194,17 +255,17 @@
### 📝 近期计划 (未来2周)
1. Chrome插件版本启动
- 项目结构调整
- 创建插件基础框架
- 开始核心功能迁移
- 目标:完成基础框架搭建
1. Core工程重构启动
- 完成功能梳理和规划
- 实现基础设施迁移
- 开始核心服务迁移
- 建立接口规范
2. 提示词服务增强
- 优化响应处理机制
- 完善错误重试
2. 服务层持续优化
- 完善LangChain集成
- 优化流式响应
- 加强错误处理
- 提升性能表现
- 目标:提升服务稳定性
3. 历史记录功能完善
- 实现高级搜索