<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>SiliconFlow on 产品猎人</title>
        <link>https://producthunt.programnotes.cn/tags/siliconflow/</link>
        <description>Recent content in SiliconFlow on 产品猎人</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Thu, 19 Jun 2025 15:29:30 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/tags/siliconflow/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>prompt-optimizer</title>
        <link>https://producthunt.programnotes.cn/p/prompt-optimizer/</link>
        <pubDate>Thu, 19 Jun 2025 15:29:30 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/p/prompt-optimizer/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1648914300949-a59ba0614055?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTAzMTgxMzV8&amp;ixlib=rb-4.1.0" alt="Featured image of post prompt-optimizer" /&gt;&lt;h1 id=&#34;linshenkxprompt-optimizer&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;linshenkx/prompt-optimizer&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;prompt-optimizer-提示词优化器-&#34;&gt;Prompt Optimizer (提示词优化器) 🚀
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/README_EN.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;English&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;中文&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/stargazers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/stars/linshenkx/prompt-optimizer&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub stars&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://img.shields.io/chrome-web-store/users/cakkkhboolfnadechdlgdcnjammejlna?style=flat&amp;amp;label=Chrome%20Users&amp;amp;link=https%3A%2F%2Fchromewebstore.google.com%2Fdetail%2F%25E6%258F%2590%25E7%25A4%25BA%25E8%25AF%258D%25E4%25BC%2598%25E5%258C%2596%25E5%2599%25A8%2Fcakkkhboolfnadechdlgdcnjammejlna&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Chrome Web Store Users&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/license-MIT-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/linshen/prompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/docker/pulls/linshen/prompt-optimizer&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docker Pulls&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://img.shields.io/github/forks/linshenkx/prompt-optimizer?style=flat&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub forks&#34;
	
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flinshenkx%2Fprompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Vercel-indigo?style=flat&amp;amp;logo=vercel&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Deploy with Vercel&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://prompt.always200.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;在线体验&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b&#34; &gt;快速开始&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98&#34; &gt;常见问题&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/dev.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;开发文档&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/docs/vercel.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel部署指南&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://chromewebstore.google.com/detail/prompt-optimizer/cakkkhboolfnadechdlgdcnjammejlna&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chrome插件&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id=&#34;-项目简介&#34;&gt;📖 项目简介
&lt;/h2&gt;&lt;p&gt;Prompt Optimizer是一个强大的AI提示词优化工具，帮助你编写更好的AI提示词，提升AI输出质量。支持Web应用和Chrome插件两种使用方式。&lt;/p&gt;
&lt;h3 id=&#34;-功能演示&#34;&gt;🎥 功能演示
&lt;/h3&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;img src=&#34;prompt-optimizer-contrast.png&#34; alt=&#34;功能演示&#34; width=&#34;90%&#34;&gt;
&lt;/div&gt;
&lt;h2 id=&#34;-核心特性&#34;&gt;✨ 核心特性
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;🎯 &lt;strong&gt;智能优化&lt;/strong&gt;：一键优化提示词，支持多轮迭代改进，提升AI回复准确度&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;对比测试&lt;/strong&gt;：支持原始提示词和优化后提示词的实时对比，直观展示优化效果&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;多模型集成&lt;/strong&gt;：支持OpenAI、Gemini、DeepSeek、智谱AI、SiliconFlow等主流AI模型&lt;/li&gt;
&lt;li&gt;⚙️ &lt;strong&gt;高级参数配置&lt;/strong&gt;：支持为每个模型单独配置temperature、max_tokens等LLM参数&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;安全架构&lt;/strong&gt;：纯客户端处理，数据直接与AI服务商交互，不经过中间服务器&lt;/li&gt;
&lt;li&gt;💾 &lt;strong&gt;隐私保护&lt;/strong&gt;：本地加密存储历史记录和API密钥，支持数据导入导出&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;多端支持&lt;/strong&gt;：同时提供Web应用和Chrome插件两种使用方式&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;用户体验&lt;/strong&gt;：简洁直观的界面设计，响应式布局和流畅交互动效&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;跨域支持&lt;/strong&gt;：Vercel部署时支持使用Edge Runtime代理解决跨域问题&lt;/li&gt;
&lt;li&gt;🔐 &lt;strong&gt;访问控制&lt;/strong&gt;：支持密码保护功能，保障部署安全&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;快速开始&#34;&gt;快速开始
&lt;/h2&gt;&lt;h3 id=&#34;1-使用在线版本推荐&#34;&gt;1. 使用在线版本（推荐）
&lt;/h3&gt;&lt;p&gt;直接访问：&lt;a class=&#34;link&#34; href=&#34;https://prompt.always200.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://prompt.always200.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;项目是纯前端项目，所有数据只存储在浏览器本地，不会上传至任何服务器，因此直接使用在线版本也是安全可靠的&lt;/p&gt;
&lt;h3 id=&#34;2-vercel部署&#34;&gt;2. Vercel部署
&lt;/h3&gt;&lt;p&gt;方式1：一键部署到自己的Vercel：
&lt;a class=&#34;link&#34; href=&#34;https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flinshenkx%2Fprompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://vercel.com/button&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;部署到 Vercel&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;方式2: Fork项目后在Vercel中导入（推荐）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先Fork项目到自己的GitHub&lt;/li&gt;
&lt;li&gt;然后在Vercel中导入该项目&lt;/li&gt;
&lt;li&gt;可跟踪源项目更新，便于同步最新功能和修复&lt;/li&gt;
&lt;li&gt;配置环境变量：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ACCESS_PASSWORD&lt;/code&gt;：设置访问密码，启用访问限制&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VITE_OPENAI_API_KEY&lt;/code&gt;等：配置各AI服务商的API密钥&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;更多详细的部署步骤和注意事项，请查看：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/docs/vercel.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel部署指南&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-安装chrome插件&#34;&gt;3. 安装Chrome插件
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;从Chrome商店安装（由于审批较慢，可能不是最新的）：&lt;a class=&#34;link&#34; href=&#34;https://chromewebstore.google.com/detail/prompt-optimizer/cakkkhboolfnadechdlgdcnjammejlna&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chrome商店地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击图标即可打开提示词优化器&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;4-docker部署&#34;&gt;4. Docker部署
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 运行容器（默认配置）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 80:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 运行容器（配置API密钥和访问密码）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 80:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;VITE_OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;ACCESS_USERNAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_username &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 可选，默认为&amp;#34;admin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;ACCESS_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_password &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 设置访问密码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --restart unless-stopped &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name prompt-optimizer &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  linshen/prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;5-docker-compose部署&#34;&gt;5. Docker Compose部署
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. 克隆仓库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/linshenkx/prompt-optimizer.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. 可选：创建.env文件配置API密钥和访问认证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;gt; .env &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;# API密钥配置
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;VITE_OPENAI_API_KEY=your_openai_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;VITE_GEMINI_API_KEY=your_gemini_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;VITE_DEEPSEEK_API_KEY=your_deepseek_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;VITE_ZHIPU_API_KEY=your_zhipu_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;VITE_SILICONFLOW_API_KEY=your_siliconflow_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;# Basic认证配置（密码保护）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ACCESS_USERNAME=your_username  # 可选，默认为&amp;#34;admin&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ACCESS_PASSWORD=your_password  # 设置访问密码
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. 启动服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 4. 查看日志&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose logs -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;你还可以直接编辑docker-compose.yml文件，自定义配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;services&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;prompt-optimizer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;linshen/prompt-optimizer:latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;container_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;prompt-optimizer&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;restart&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;unless-stopped&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;ports&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;s2&#34;&gt;&amp;#34;8081:80&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 修改端口映射&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;VITE_OPENAI_API_KEY=your_key_here &lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 直接在配置中设置密钥&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;-api密钥配置&#34;&gt;⚙️ API密钥配置
&lt;/h2&gt;&lt;h3 id=&#34;方式一通过界面配置推荐&#34;&gt;方式一：通过界面配置（推荐）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;点击界面右上角的&amp;quot;⚙️设置&amp;quot;按钮&lt;/li&gt;
&lt;li&gt;选择&amp;quot;模型管理&amp;quot;选项卡&lt;/li&gt;
&lt;li&gt;点击需要配置的模型（如OpenAI、Gemini、DeepSeek等）&lt;/li&gt;
&lt;li&gt;在弹出的配置框中输入对应的API密钥&lt;/li&gt;
&lt;li&gt;点击&amp;quot;保存&amp;quot;即可&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;支持的模型：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAI (gpt-3.5-turbo, gpt-4, gpt-4o)&lt;/li&gt;
&lt;li&gt;Gemini (gemini-1.5-pro, gemini-2.0-flash)&lt;/li&gt;
&lt;li&gt;DeepSeek (deepseek-chat, deepseek-coder)&lt;/li&gt;
&lt;li&gt;Zhipu智谱 (glm-4-flash, glm-4, glm-3-turbo)&lt;/li&gt;
&lt;li&gt;SiliconFlow (Pro/deepseek-ai/DeepSeek-V3)&lt;/li&gt;
&lt;li&gt;自定义API（OpenAI兼容接口）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;除了API密钥，您还可以在模型配置界面为每个模型单独设置高级LLM参数。这些参数通过一个名为 &lt;code&gt;llmParams&lt;/code&gt; 的字段进行配置，它允许您以键值对的形式指定LLM SDK支持的任何参数，从而更精细地控制模型行为。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;高级LLM参数配置示例：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI/兼容API&lt;/strong&gt;: &lt;code&gt;{&amp;quot;temperature&amp;quot;: 0.7, &amp;quot;max_tokens&amp;quot;: 4096, &amp;quot;timeout&amp;quot;: 60000}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini&lt;/strong&gt;: &lt;code&gt;{&amp;quot;temperature&amp;quot;: 0.8, &amp;quot;maxOutputTokens&amp;quot;: 2048, &amp;quot;topP&amp;quot;: 0.95}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeepSeek&lt;/strong&gt;: &lt;code&gt;{&amp;quot;temperature&amp;quot;: 0.5, &amp;quot;top_p&amp;quot;: 0.9, &amp;quot;frequency_penalty&amp;quot;: 0.1}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有关 &lt;code&gt;llmParams&lt;/code&gt; 的更详细说明和配置指南，请参阅 &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/docs/llm-params-guide.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LLM参数配置指南&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;方式二通过环境变量配置&#34;&gt;方式二：通过环境变量配置
&lt;/h3&gt;&lt;p&gt;Docker部署时通过 &lt;code&gt;-e&lt;/code&gt; 参数配置环境变量：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_GEMINI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_DEEPSEEK_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_ZHIPU_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_SILICONFLOW_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_CUSTOM_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_custom_api_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_CUSTOM_API_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_custom_api_base_url
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;VITE_CUSTOM_API_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_custom_model_name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;本地开发&#34;&gt;本地开发
&lt;/h2&gt;&lt;p&gt;详细文档可查看 &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/dev.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;开发文档&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1. 克隆项目&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/linshenkx/prompt-optimizer.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2. 安装依赖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3. 启动开发服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm dev               &lt;span class=&#34;c1&#34;&gt;# 主开发命令：构建core/ui并运行web应用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm dev:web          &lt;span class=&#34;c1&#34;&gt;# 仅运行web应用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm dev:fresh        &lt;span class=&#34;c1&#34;&gt;# 完整重置并重新启动开发环境&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;-开发路线&#34;&gt;🗺️ 开发路线
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 基础功能开发&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Web应用发布&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Chrome插件发布&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 自定义模型支持&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 多模型支持优化&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 国际化支持&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;详细的项目状态可查看 &lt;a class=&#34;link&#34; href=&#34;docs/project-status.md&#34; &gt;项目状态文档&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;-相关文档&#34;&gt;📖 相关文档
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/README.md&#34; &gt;文档索引&lt;/a&gt; - 所有文档的索引&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/technical-development-guide.md&#34; &gt;技术开发指南&lt;/a&gt; - 技术栈和开发规范&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/llm-params-guide.md&#34; &gt;LLM参数配置指南&lt;/a&gt; - 高级LLM参数配置详细说明&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/project-structure.md&#34; &gt;项目结构&lt;/a&gt; - 详细的项目结构说明&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/project-status.md&#34; &gt;项目状态&lt;/a&gt; - 当前进度和计划&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/prd.md&#34; &gt;产品需求&lt;/a&gt; - 产品需求文档&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/vercel.md&#34; &gt;Vercel部署指南&lt;/a&gt; - Vercel部署详细说明&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;star-history&#34;&gt;Star History
&lt;/h2&gt;&lt;a href=&#34;https://star-history.com/#linshenkx/prompt-optimizer&amp;Date&#34;&gt;
 &lt;picture&gt;
   &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/svg?repos=linshenkx/prompt-optimizer&amp;type=Date&amp;theme=dark&#34; /&gt;
   &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/svg?repos=linshenkx/prompt-optimizer&amp;type=Date&#34; /&gt;
   &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/svg?repos=linshenkx/prompt-optimizer&amp;type=Date&#34; /&gt;
 &lt;/picture&gt;
&lt;/a&gt;
&lt;h2 id=&#34;常见问题&#34;&gt;常见问题
&lt;/h2&gt;&lt;h3 id=&#34;api连接问题&#34;&gt;API连接问题
&lt;/h3&gt;&lt;h4 id=&#34;q1-为什么配置好api密钥后仍然无法连接到模型服务&#34;&gt;Q1: 为什么配置好API密钥后仍然无法连接到模型服务？
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: 大多数连接失败是由&lt;strong&gt;跨域问题&lt;/strong&gt;（CORS）导致的。由于本项目是纯前端应用，浏览器出于安全考虑会阻止直接访问不同源的API服务。模型服务如未正确配置CORS策略，会拒绝来自浏览器的直接请求。&lt;/p&gt;
&lt;h4 id=&#34;q2-如何解决本地ollama的连接问题&#34;&gt;Q2: 如何解决本地Ollama的连接问题？
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: Ollama完全支持OpenAI标准接口，只需配置正确的跨域策略：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;设置环境变量 &lt;code&gt;OLLAMA_ORIGINS=*&lt;/code&gt; 允许任意来源的请求&lt;/li&gt;
&lt;li&gt;如仍有问题，设置 &lt;code&gt;OLLAMA_HOST=0.0.0.0:11434&lt;/code&gt; 监听任意IP地址&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;q3-如何解决商业api如nvidia的ds-api字节跳动的火山api的跨域问题&#34;&gt;Q3: 如何解决商业API（如Nvidia的DS API、字节跳动的火山API）的跨域问题？
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: 这些平台通常有严格的跨域限制，推荐以下解决方案：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用Vercel代理&lt;/strong&gt;（便捷方案）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用在线版本：&lt;a class=&#34;link&#34; href=&#34;https://prompt.always200.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;prompt.always200.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;或自行部署到Vercel平台&lt;/li&gt;
&lt;li&gt;在模型设置中勾选&amp;quot;使用Vercel代理&amp;quot;选项&lt;/li&gt;
&lt;li&gt;请求流向：浏览器→Vercel→模型服务提供商&lt;/li&gt;
&lt;li&gt;详细步骤请参考 &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/docs/vercel.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel部署指南&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;使用自部署的API中转服务&lt;/strong&gt;（可靠方案）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;部署如OneAPI等开源API聚合/代理工具&lt;/li&gt;
&lt;li&gt;在设置中配置为自定义API端点&lt;/li&gt;
&lt;li&gt;请求流向：浏览器→中转服务→模型服务提供商&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;q4-vercel代理有什么缺点或风险&#34;&gt;Q4: Vercel代理有什么缺点或风险？
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: 使用Vercel代理可能会触发某些模型服务提供商的风控机制。部分厂商可能会将来自Vercel的请求判定为代理行为，从而限制或拒绝服务。如遇此问题，建议使用自部署的中转服务。&lt;/p&gt;
&lt;h2 id=&#34;-参与贡献&#34;&gt;🤝 参与贡献
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Fork 本仓库&lt;/li&gt;
&lt;li&gt;创建特性分支 (&lt;code&gt;git checkout -b feature/AmazingFeature&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;提交更改 (&lt;code&gt;git commit -m &#39;添加某个特性&#39;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;推送到分支 (&lt;code&gt;git push origin feature/AmazingFeature&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;提交 Pull Request&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;提示：使用cursor工具开发时，建议在提交前:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用&amp;quot;code_review&amp;quot;规则进行代码审查&lt;/li&gt;
&lt;li&gt;按照审查报告格式检查:
&lt;ul&gt;
&lt;li&gt;变更的整体一致性&lt;/li&gt;
&lt;li&gt;代码质量和实现方式&lt;/li&gt;
&lt;li&gt;测试覆盖情况&lt;/li&gt;
&lt;li&gt;文档完善程度&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;根据审查结果进行优化后再提交&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;-贡献者名单&#34;&gt;👏 贡献者名单
&lt;/h2&gt;&lt;p&gt;感谢所有为项目做出贡献的开发者！&lt;/p&gt;
&lt;a href=&#34;https://github.com/linshenkx/prompt-optimizer/graphs/contributors&#34;&gt;
  &lt;img src=&#34;https://contrib.rocks/image?repo=linshenkx/prompt-optimizer&#34; alt=&#34;贡献者&#34; /&gt;
&lt;/a&gt;
&lt;h2 id=&#34;-开源协议&#34;&gt;📄 开源协议
&lt;/h2&gt;&lt;p&gt;本项目采用 &lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer/blob/master/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MIT&lt;/a&gt; 协议开源。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;如果这个项目对你有帮助，请考虑给它一个 Star ⭐️&lt;/p&gt;
&lt;h2 id=&#34;-联系我们&#34;&gt;👥 联系我们
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;提交 Issue&lt;/li&gt;
&lt;li&gt;发起 Pull Request&lt;/li&gt;
&lt;li&gt;加入讨论组&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
