Skip to content

Latest commit

 

History

History
239 lines (179 loc) · 8.97 KB

README.md

File metadata and controls

239 lines (179 loc) · 8.97 KB

Prompt Optimizer (提示词优化器) 🚀

📖 项目简介

Prompt Optimizer是一个强大的AI提示词优化工具,帮助你编写更好的AI提示词,提升AI输出质量。支持Web应用和Chrome插件两种使用方式。

🎥 功能演示

功能演示

✨ 核心特性

  • 🎯 智能优化:一键优化提示词,支持多轮迭代改进,提升AI回复准确度
  • 🔄 对比测试:支持原始提示词和优化后提示词的实时对比,直观展示优化效果
  • 🔄 多模型集成:支持OpenAI、Gemini、DeepSeek等主流AI模型,满足不同需求
  • 🔒 安全架构:纯客户端处理,数据直接与AI服务商交互,不经过中间服务器
  • 💾 隐私保护:本地加密存储历史记录和API密钥,确保数据安全
  • 📱 多端支持:同时提供Web应用和Chrome插件两种使用方式
  • 🎨 用户体验:简洁直观的界面设计,响应式布局和流畅交互动效果
  • 🌐 跨域支持:Vercel部署时支持使用Edge Runtime代理解决跨域问题(可能会触发部分厂商风控)

快速开始

1. 使用在线版本(推荐)

  1. 直接访问:https://prompt.always200.com
  2. 或者一键部署到自己的Vercel: 部署到 Vercel

2. 安装Chrome插件

  1. 从Chrome商店安装(由于审批较慢,可能不是最新的):Chrome商店地址
  2. 点击图标即可打开提示词优化器

3. Docker部署

# 运行容器(默认配置)
docker run -d -p 80:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer

# 运行容器(配置API密钥)
docker run -d -p 80:80 \
  -e VITE_OPENAI_API_KEY=your_key \
  --restart unless-stopped \
  --name prompt-optimizer \
  linshen/prompt-optimizer

4. Docker Compose部署

# 1. 克隆仓库
git clone https://github.com/linshenkx/prompt-optimizer.git
cd prompt-optimizer

# 2. 可选:创建.env文件配置API密钥
cat > .env << EOF
VITE_OPENAI_API_KEY=your_openai_api_key
VITE_GEMINI_API_KEY=your_gemini_api_key
VITE_DEEPSEEK_API_KEY=your_deepseek_api_key
EOF

# 3. 启动服务
docker compose up -d

# 4. 查看日志
docker compose logs -f

你还可以直接编辑docker-compose.yml文件,自定义配置:

services:
  prompt-optimizer:
    image: linshen/prompt-optimizer:latest
    container_name: prompt-optimizer
    restart: unless-stopped
    ports:
      - "8081:80"  # 修改端口映射
    environment:
      - VITE_OPENAI_API_KEY=your_key_here  # 直接在配置中设置密钥

⚙️ API密钥配置

方式一:通过界面配置(推荐)

  1. 点击界面右上角的"⚙️设置"按钮
  2. 选择"模型管理"选项卡
  3. 点击需要配置的模型(如OpenAI、Gemini、DeepSeek等)
  4. 在弹出的配置框中输入对应的API密钥
  5. 点击"保存"即可

支持的模型:

  • OpenAI (gpt-3.5-turbo, gpt-4)
  • Gemini (gemini-2.0-flash)
  • DeepSeek (DeepSeek-V3)
  • 自定义API(OpenAI兼容接口)

方式二:通过环境变量配置

Docker部署时通过 -e 参数配置环境变量:

-e VITE_OPENAI_API_KEY=your_key
-e VITE_GEMINI_API_KEY=your_key
-e VITE_DEEPSEEK_API_KEY=your_key
-e VITE_SILICONFLOW_API_KEY=your_key
-e VITE_CUSTOM_API_KEY=your_custom_api_key
-e VITE_CUSTOM_API_BASE_URL=your_custom_api_base_url
-e VITE_CUSTOM_API_MODEL=your_custom_model_name 

本地开发

详细文档可查看 开发文档

# 1. 克隆项目
git clone https://github.com/linshenkx/prompt-optimizer.git
cd prompt-optimizer

# 2. 安装依赖
pnpm install

# 3. 启动开发服务
pnpm dev               # 主开发命令:构建core/ui并运行web应用
pnpm dev:web          # 仅运行web应用
pnpm dev:fresh        # 完整重置并重新启动开发环境

🗺️ 开发路线

  • 基础功能开发
  • Web应用发布
  • Chrome插件发布
  • 自定义模型支持
  • 多模型支持优化
  • 国际化支持

详细的项目状态可查看 项目状态文档

📖 相关文档

Star History

Star History Chart

常见问题

API连接问题

Q1: 为什么配置好API密钥后仍然无法连接到模型服务?

A: 大多数连接失败是由跨域问题(CORS)导致的。由于本项目是纯前端应用,浏览器出于安全考虑会阻止直接访问不同源的API服务。模型服务如未正确配置CORS策略,会拒绝来自浏览器的直接请求。

Q2: 如何解决本地Ollama的连接问题?

A: Ollama完全支持OpenAI标准接口,只需配置正确的跨域策略:

  1. 设置环境变量 OLLAMA_ORIGINS=* 允许任意来源的请求
  2. 如仍有问题,设置 OLLAMA_HOST=0.0.0.0:11434 监听任意IP地址

Q3: 如何解决商业API(如Nvidia的DS API、字节跳动的火山API)的跨域问题?

A: 这些平台通常有严格的跨域限制,推荐以下解决方案:

  1. 使用Vercel代理(便捷方案)

    • 使用在线版本:prompt.always200.com
    • 或自行部署到Vercel平台
    • 在模型设置中勾选"使用Vercel代理"选项
    • 请求流向:浏览器→Vercel→模型服务提供商
  2. 使用自部署的API中转服务(可靠方案)

    • 部署如OneAPI等开源API聚合/代理工具
    • 在设置中配置为自定义API端点
    • 请求流向:浏览器→中转服务→模型服务提供商

Q4: Vercel代理有什么缺点或风险?

A: 使用Vercel代理可能会触发某些模型服务提供商的风控机制。部分厂商可能会将来自Vercel的请求判定为代理行为,从而限制或拒绝服务。如遇此问题,建议使用自部署的中转服务。

🤝 参与贡献

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '添加某个特性')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

提示:使用cursor工具开发时,建议在提交前:

  1. 使用"code_review"规则进行代码审查
  2. 按照审查报告格式检查:
    • 变更的整体一致性
    • 代码质量和实现方式
    • 测试覆盖情况
    • 文档完善程度
  3. 根据审查结果进行优化后再提交

👏 贡献者名单

感谢所有为项目做出贡献的开发者!

贡献者

📄 开源协议

本项目采用 MIT 协议开源。


如果这个项目对你有帮助,请考虑给它一个 Star ⭐️

👥 联系我们

  • 提交 Issue
  • 发起 Pull Request
  • 加入讨论组