docs/developer/project-structure.md
注意: 本文档专注于项目的文件和目录结构。关于技术栈详情和实现流程,请参考 技术文档。
prompt-optimizer/
├── packages/ # 项目包
│ ├── core/ # 核心功能包
│ │ ├── src/ # 核心源代码
│ │ ├── tests/ # 核心包测试
│ │ └── package.json # 核心包配置
│ ├── web/ # Web版本
│ │ ├── src/ # Web源代码
│ │ ├── tests/ # Web测试
│ │ └── package.json # Web包配置
│ └── extension/ # Chrome插件
├── docs/ # 项目文档
├── tools/ # 工具脚本
└── ...配置文件
pnpm-workspace.yaml - 工作区配置.env.example - 环境变量示例package.json - 项目配置.vscode/ - VSCode配置目录.gitignore - Git忽略配置README.md - 项目说明文档scratchpad.md - 开发笔记和任务规划(已迁移到docs/workspace/)experience.md - 项目经验总结(已迁移到docs/workspace/)README.md - 文档索引development-guidelines.md - 开发指南project-status.md - 项目状态project-structure.md - 项目结构technical-documentation.md - 技术文档prd.md - 产品需求文档CHANGELOG.md - 更新日志src/
├── services/ # 核心服务
│ ├── llm/ # LLM服务
│ │ ├── service.ts # LLM服务实现
│ │ ├── types.ts # 类型定义
│ │ └── errors.ts # 错误定义
│ ├── model/ # 文本模型管理
│ │ ├── manager.ts # 模型管理器
│ │ ├── types.ts # 类型定义
│ │ └── defaults.ts# 默认配置
│ ├── image/ # 图像服务(新增)
│ │ ├── service.ts # 图像生成服务
│ │ ├── types.ts # 图像服务类型定义
│ │ ├── electron-proxy.ts # Electron代理
│ │ └── adapters/ # 图像提供商适配器
│ │ ├── abstract-adapter.ts # 抽象适配器基类
│ │ ├── registry.ts # 适配器注册表
│ │ ├── openai.ts # OpenAI DALL-E适配器
│ │ ├── gemini.ts # Google Gemini适配器
│ │ ├── siliconflow-adapter.ts # SiliconFlow适配器
│ │ └── seedream.ts # SeeDream适配器
│ ├── image-model/ # 图像模型管理(新增)
│ │ ├── manager.ts # 图像模型管理器
│ │ ├── types.ts # 类型定义
│ │ └── defaults.ts# 默认配置
│ ├── prompt/ # 提示词服务
│ │ ├── service.ts # 提示词服务实现
│ │ ├── types.ts # 类型定义
│ │ └── errors.ts # 错误定义
│ ├── template/ # 模板服务
│ │ ├── manager.ts # 模板管理器
│ │ ├── types.ts # 类型定义
│ │ └── default-templates/ # 默认模板
│ │ ├── image-optimize/ # 图像模板(新增)
│ │ │ ├── text2image/ # 文生图模板
│ │ │ ├── image2image/ # 图生图模板
│ │ │ └── iterate/ # 图像迭代模板
│ │ ├── basic/ # 基础模板
│ │ └── context/ # 上下文模板
│ └── history/ # 历史记录服务
│ ├── manager.ts # 历史管理器
│ └── types.ts # 类型定义
├── types/ # 公共类型定义
└── utils/ # 工具函数
api/llm.js - LLM API调用封装models.js - LLM模型配置prompts.js - 提示词模板配置tests/
├── unit/ # 单元测试
│ └── services/ # 服务测试
│ ├── llm/ # LLM服务测试
│ ├── model/ # 模型管理测试
│ └── prompt/ # 提示词服务测试
└── integration/ # 集成测试
└── services/ # 服务集成测试
package.json - 核心包配置tsconfig.json - TypeScript配置vitest.config.ts - 测试配置src/
├── components/ # Vue组件
│ ├── PromptPanel.vue # 提示词面板
│ ├── ModelManager.vue # 统一模型管理器(支持文本/图像模型切换)
│ ├── ImageModelManager.vue# 图像模型专用管理组件
│ ├── ImageModelEditModal.vue # 图像模型编辑弹窗
│ ├── TemplateManager.vue # 模板管理器
│ ├── InputPanel.vue # 输入面板
│ ├── OutputPanel.vue # 输出面板
│ └── image-mode/ # 图像模式专用组件
│ └── ImageWorkspace.vue # 图像工作区
├── composables/ # Vue组合式函数
│ ├── useImageModelManager.ts # 图像模型管理composable
│ ├── useImageGeneration.ts # 图像生成composable
│ └── useImageWorkspace.ts # 图像工作区composable
├── services/ # 业务逻辑
│ ├── llm/ # LLM服务
│ ├── model/ # 模型配置
│ ├── prompt/ # 提示词服务
│ ├── promptManager.js # 提示词管理
│ └── themeManager.js # 主题管理
├── assets/ # 静态资源
│ ├── images/ # 图片资源
│ └── styles/ # 样式资源
├── prompts/ # 提示词模板
├── App.vue # 根组件
└── main.ts # 入口文件
PromptPanel.vue - 提示词输入和优化面板InputPanel.vue - 输入面板组件OutputPanel.vue - 输出面板组件TemplateManager.vue - 模板管理器ThemeToggle.vue - 主题切换组件LoadingSpinner.vue - 加载动画组件ModelManager.vue - 统一模型管理器
ImageModelManager.vue 组件处理ModelManager.vue.bak)ImageModelManager.vue - 图像模型专用管理组件
useImageModelManager composable 配合使用ImageModelEditModal.vue - 图像模型编辑弹窗
image-mode/ImageWorkspace.vue - 图像工作区
tests/
├── unit/ # 单元测试
│ ├── components/ # 组件测试
│ └── services/ # 服务测试
└── integration/ # 集成测试
└── services/ # 服务集成测试
package.json - Web包配置vite.config.ts - Vite配置tailwind.config.js - TailwindCSS配置.env.local - 本地环境变量postcss.config.js - PostCSS配置index.html - 项目入口HTML文件src/
├── popup/ # 弹出窗口界面
├── background/ # 后台脚本
├── content/ # 内容脚本
└── manifest.json # 扩展配置文件
package.json - 扩展包配置vite.config.ts - 构建配置@prompt-optimizer/core
├── @openai/openai ^4.83.0 # OpenAI SDK
├── @google/generative-ai ^0.21.0 # Google Generative AI SDK
└── uuid ^11.0.5 # UUID生成
@prompt-optimizer/web
├── @prompt-optimizer/core # 依赖核心包
├── vue ^3.5.x # Vue框架
├── pinia ^2.1.x # 状态管理
└── tailwindcss ^3.4.1 # 样式框架
@prompt-optimizer/extension
├── @prompt-optimizer/core # 依赖核心包
├── @prompt-optimizer/ui # 依赖UI组件包
└── vue ^3.5.x # Vue框架