Skip to content

linshenkx/prompt-optimizer

Folders and files

NameName
Last commit message
Last commit date
Mar 20, 2025
Mar 5, 2025
Feb 23, 2025
Mar 2, 2025
Mar 16, 2025
Mar 2, 2025
Mar 10, 2025
Mar 30, 2025
Jan 21, 2025
Mar 1, 2025
Mar 1, 2025
Mar 7, 2025
Feb 27, 2025
Feb 23, 2025
Jan 18, 2025
Mar 16, 2025
Mar 30, 2025
Mar 30, 2025
Jan 20, 2025
Mar 16, 2025
Mar 8, 2025
Mar 22, 2025
Mar 22, 2025
Feb 13, 2025
Mar 2, 2025

Repository files navigation

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

⚙️ 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
  • 加入讨论组