> **研究对象**:linshenkx/prompt-optimizer
> **版本**:v2.10.1(2026年4月)
> **协议**:AGPL-3.0
> **在线体验**:https://prompt.always200.com
> **GitHub**:https://github.com/linshenkx/prompt-optimizer
---
## 一、它到底想解决什么问题
如果你用过 ChatGPT、Claude 或者任何大模型,一定经历过这种时刻:你花了十分钟精心雕琢一段提示词,结果输出还是跑偏。你加一句限制,它忘了前面的要求。你换个说法,它又理解错了重点。
这不是模型的问题——至少不全是。**这是提示词工程(Prompt Engineering)的核心困境:人类的意图和模型的理解之间,隔着一道天然的鸿沟。**
prompt-optimizer 的作者 linshenkx 显然被这个困境折磨过太多次。他的解决方案不是写一本《提示词编写指南》,而是造了一套**完整的工具链**:从提示词的生成、优化、测试、评估到资产管理,全部覆盖。
### 1.1 核心痛点拆解
| 痛点 | 传统做法 | prompt-optimizer 的做法 |
|------|---------|--------------------------|
| 提示词质量不稳定 | 凭经验反复试错 | 智能优化 + 多轮迭代 |
| 不知道优化后有没有变好 | 肉眼对比 | A/B 对比评估 + 评分体系 |
| 好提示词用完就丢 | 散落在聊天记录里 | 资产化管理 + 版本历史 |
| 多模型适配困难 | 每个平台重新调 | 统一适配层 + 一次配置处处可用 |
| 数据隐私顾虑 | 数据经过第三方服务器 | 纯前端处理,直连服务商 |
### 1.2 一句话定位
prompt-optimizer 不是又一个"提示词模板网站"。它是一个**全功能 AI Prompt 工程化工具**,试图把提示词从"手艺活"变成"工程活"。
---
## 二、技术架构:Monorepo 的六边形战士
### 2.1 整体架构图
```
packages/core ← 业务逻辑核心(LLM通信、存储、模型注册、评估)
↓
packages/ui ← Vue 3 组件层(Naive UI、Pinia、i18n、路由)
↓
packages/web ← Web 应用壳(Vite)
↓
packages/desktop ← Electron 桌面应用
↓
packages/extension ← Chrome 扩展
↓
packages/mcp-server ← MCP 协议服务器
```
**关键设计原则**:core 和 ui 是"库",web/desktop/extension 是"应用"。一次开发,处处运行。
### 2.2 六包分工详解
| 包名 | 职责 | 技术要点 |
|------|------|---------|
| **core** | 全部业务逻辑 | TypeScript 纯逻辑,无 Vue 依赖;Provider-Adapter-Registry 模式;StorageFactory 多环境适配 |
| **ui** | 可复用 UI 层 | Vue 3 Composition API、Naive UI 主题、Pinia stores、vue-i18n |
| **web** | Web 应用入口 | 极薄壳,App.vue 直接渲染 `<PromptOptimizerApp />` |
| **desktop** | 桌面应用 | Electron 主进程、preload 脚本、IPC 桥接、自动更新 |
| **extension** | Chrome 扩展 | Vite + CRXJS,popup 界面 + background service worker |
| **mcp-server** | MCP 服务 | TypeScript + MCP SDK,暴露优化工具给 Claude Desktop 等 |
### 2.3 核心设计模式
**LLM Provider-Adapter-Registry 模式**
每个 AI 提供商实现为一个适配器类,继承 `AbstractTextProviderAdapter`:
```
AbstractTextProviderAdapter
├── OpenAIAdapter
├── GeminiAdapter
├── DeepSeekAdapter
├── ZhipuAdapter
├── SiliconFlowAdapter
└── CustomAdapter (OpenAI兼容接口)
```
基类负责通用验证,子类实现 `doSendMessage` / `doSendMessageStream`。所有适配器注册到 `TextAdapterRegistry`,支持动态模型发现和动态模型支持。
**StorageFactory 多环境存储**
```
IStorageProvider
├── localStorageProvider (Web 默认)
├── DexieStorageProvider (IndexedDB,结构化存储)
├── MemoryStorageProvider (测试用)
└── FileStorageProvider (Electron 文件系统)
```
根据运行环境自动选择,核心逻辑不感知存储差异。
---
## 三、核心功能拆解
### 3.1 智能优化引擎
**双模式优化**:
- **系统提示词优化**:优化角色设定、能力描述、输出格式约束
- **用户提示词优化**:优化具体任务的表达方式和上下文组织
**优化流程**:
1. 用户输入原始提示词
2. 选择优化模式(系统/用户)
3. 选择目标模型(不同模型对提示词风格的偏好不同)
4. 一键优化,生成优化版本
5. 对比原版本和优化版本的效果
**多轮迭代**:优化不是一次性的。你可以对优化结果再次优化,形成迭代链条。
### 3.2 评估体系
这是我最看重的部分。没有评估的优化就是盲人摸象。
| 评估类型 | 用途 |
|---------|------|
| **分析(Analysis)** | 拆解提示词的结构、识别潜在问题 |
| **单结果评估(Evaluation)** | 对单个输出打分 |
| **多结果对比评估(Compare)** | 并排对比两个提示词的输出,量化差异 |
| **评估驱动智能重写** | 根据评估结果自动调整提示词 |
### 3.3 提示词资产管理
**智能收藏(Smart Favorites)**:
- 版本历史:每次优化自动保存,可回溯
- 可复现示例:绑定具体的使用场景和输出样例
- 源绑定:记录提示词来源(手动/模板/Prompt Garden)
- 资源感知:支持关联媒体文件
- 完整备份导入导出
**Prompt Garden**:
这是一个提示词市场/生态的概念。用户可以导入社区共享的提示词,也可以分享自己的优化成果。
### 3.4 高级测试模式
| 功能 | 说明 |
|------|------|
| **上下文变量管理** | 自定义变量、批量替换、变量预览 |
| **多轮对话测试** | 模拟真实对话场景,测试提示词在多轮交互中的表现 |
| **Function Calling 支持** | 集成 OpenAI 和 Gemini 的 tool calling |
### 3.5 图像生成模式
这是 v2.x 版本新增的功能:
- **T2I(文生图)**:基于文本提示生成图像
- **I2I(图生图)**:基于本地文件转换和优化
- **多图像生成**:多张输入图约束主体关系、时序语义
- 支持 Gemini、Seedream 等图像模型
---
## 四、部署方式:五种形态覆盖全场景
### 4.1 在线版本(最轻量)
**URL**:https://prompt.always200.com
纯前端项目,所有数据存在浏览器本地,不经过任何服务器。适合快速体验和个人轻度使用。
**局限**:受浏览器 CORS 限制,某些 API 可能无法直接连接。
### 4.2 Vercel 自部署(推荐)
Fork 项目 → 导入 Vercel → 配置环境变量 → 完成。
优势:
- 可以跟踪上游更新
- 可配置访问密码(`ACCESS_PASSWORD`)
- 支持 Vercel 代理绕过 CORS
### 4.3 桌面应用(最强功能)
**下载**:GitHub Releases 提供 `.exe`、`.dmg`、`.AppImage`
核心优势:
- **无 CORS 限制**:直连任何 API,包括本地 Ollama
- **自动更新**:安装版支持自动检查更新
- **独立运行**:不依赖浏览器,性能更好
### 4.4 Chrome 扩展(最便捷)
安装后点击图标即可使用。适合在浏览网页时快速调用。
### 4.5 Docker 部署(最灵活)
```bash
# 基础部署
docker run -d -p 8081:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer
# 带 API 密钥和密码保护
docker run -d -p 8081:80 \
-e VITE_OPENAI_API_KEY=your_key \
-e ACCESS_PASSWORD=your_password \
--restart unless-stopped \
--name prompt-optimizer \
linshen/prompt-optimizer
```
Docker 部署时 MCP 服务器自动启动,访问路径:`http://ip:port/mcp`
---
## 五、MCP 协议支持:成为 AI 生态的"基础设施"
这是 prompt-optimizer 最具前瞻性的设计。
**MCP(Model Context Protocol)** 是 Anthropic 推出的开放协议,旨在让 AI 应用能够无缝集成外部工具和数据源。
prompt-optimizer 的 MCP 服务器暴露了三个核心工具:
| 工具名 | 功能 |
|--------|------|
| `optimize-user-prompt` | 优化用户提示词 |
| `optimize-system-prompt` | 优化系统提示词 |
| `iterate-prompt` | 基于特定需求迭代改进成熟提示词 |
**Claude Desktop 集成示例**:
```json
{
"services": [
{
"name": "Prompt Optimizer",
"url": "http://localhost:8081/mcp"
}
]
}
```
这意味着什么?**你可以在使用 Claude 的过程中,随时调用 prompt-optimizer 来优化你的提示词,而不需要切换窗口。**
更深层的意义:prompt-optimizer 不只是一个独立工具,它正在尝试成为 **AI 应用生态中的"提示词优化基础设施"**。
---
## 六、安全架构:纯前端的隐私优先设计
### 6.1 架构原则
**"我们的服务器不碰你的数据"**
- Web 版本:数据存在浏览器 localStorage/IndexedDB
- API 调用:浏览器直连 AI 服务商,不经过中间服务器
- Docker 版本:唯一的服务器端组件是可选的密码保护中间件
### 6.2 CORS 问题与解决方案
这是纯前端架构的天然挑战。
| 场景 | 问题 | 解决方案 |
|------|------|---------|
| 商业 API(火山、Nvidia) | 严格的 CORS 限制 | Vercel 代理或自建中转 |
| 本地 Ollama | 默认只允许本地访问 | 设置 `OLLAMA_ORIGINS=*` |
| 桌面应用 | 无 CORS 限制 | 直接用桌面版 |
### 6.3 访问控制
- **Vercel**:Cookie-based 中间件,未认证请求渲染密码页
- **Docker**:Nginx HTTP Basic Auth,通过 `ACCESS_USERNAME` 和 `ACCESS_PASSWORD` 配置
---
## 七、竞品对比:它和谁竞争
| 维度 | prompt-optimizer | LangGPT | PromptPerfect | 传统 Prompt 模板站 |
|------|-----------------|---------|---------------|------------------|
| **定位** | 全功能工程化工具 | 结构化提示词框架 | 商业优化服务 | 模板分享 |
| **开源** | ✅ AGPL-3.0 | ✅ 开源 | ❌ 商业 | 混合 |
| **多模型** | ✅ 11+ 提供商 | ⚠️ 需手动适配 | ✅ 部分支持 | ❌ 通常单一 |
| **评估体系** | ✅ 完整 | ❌ 无 | ✅ 有 | ❌ 无 |
| **资产管理** | ✅ 版本历史+收藏 | ❌ 无 | ⚠️ 有限 | ❌ 无 |
| **MCP 支持** | ✅ | ❌ | ❌ | ❌ |
| **图像生成** | ✅ | ❌ | ❌ | ❌ |
| **部署方式** | 5 种 | 文档/框架 | SaaS | 网站 |
| **隐私** | ✅ 纯前端 | ✅ | ❌ 云端处理 | ⚠️ |
**结论**:prompt-optimizer 在功能完整度和架构开放性上处于领先地位,唯一的"弱点"是它要求用户有一定的技术能力来部署和配置。
---
## 八、我的判断
### 8.1 优势(为什么值得关注)
1. **工程化思维**:不是给你鱼,是给你渔具。它提供的是一套方法论+工具链,而不是零散的技巧。
2. **架构设计优秀**:Monorepo 分离 core/ui/app 三层,Provider-Adapter-Registry 模式让新增模型变得 trivial。这种架构经得起长期演化。
3. **隐私优先**:纯前端设计在数据敏感的 AI 应用领域是巨大加分项。你可以放心地用它处理内部提示词,不用担心数据泄露。
4. **MCP 前瞻性**:拥抱 MCP 协议意味着它把自己定位成了 AI 生态的基础设施,而不是一个孤立的工具。
5. **活跃的迭代**:从 Roadmap 看,作者有清晰的产品规划(工作区管理、Prompt Garden 生态、更多图像模型),项目不是一次性开源就弃坑的。
### 8.2 局限(诚实的边界)
1. **上手门槛**:对于非技术用户,部署(尤其是 Docker/Vercel)仍然有门槛。在线版本虽然零门槛,但受 CORS 限制可能无法连接某些 API。
2. **AGPL-3.0 的传染性**:如果你把它集成到商业 SaaS 中,需要开源你的衍生作品。这限制了某些商业使用场景。
3. **评估体系的主观性**:虽然有多结果对比评估,但"好提示词"的标准仍然依赖人工判断。自动化的评估指标(如 ROUGE、BLEU)对提示词质量的衡量能力有限。
4. **CORS 的永恒战争**:纯前端架构的 CORS 问题是结构性的,不会因为版本迭代而消失。桌面版是解决之道,但桌面版的普及率不如 Web。
### 8.3 适用场景建议
| 场景 | 推荐部署方式 |
|------|-------------|
| 个人快速体验 | 在线版 prompt.always200.com |
| 个人重度使用 + 本地模型 | 桌面应用 |
| 小团队协作 | Docker + 密码保护 |
| 集成到 Claude Desktop | Docker + MCP 配置 |
| 企业级部署 | Vercel 自部署 + 访问控制 |
---
## 九、技术细节补充
### 9.1 技术栈汇总
| 层级 | 技术 |
|------|------|
| 框架 | Vue 3 (Composition API) |
| UI 库 | Naive UI |
| 状态管理 | Pinia |
| 路由 | Vue Router (hash mode) |
| 国际化 | vue-i18n |
| 构建 | Vite |
| 包管理 | pnpm 10.6.1 |
| 桌面 | Electron + electron-builder |
| 测试 | Vitest (单元) + Playwright (E2E) |
| 存储 | localStorage / IndexedDB (Dexie) / File System |
### 9.2 模型支持清单
| 提供商 | 模型示例 | 能力 |
|--------|---------|------|
| OpenAI | GPT-4o, GPT-4o-mini | Streaming, Tools, Reasoning |
| Google Gemini | Gemini-2.0-flash-exp | Streaming, Tools, Reasoning |
| DeepSeek | deepseek-chat, deepseek-reasoner | Streaming, Reasoning |
| 智谱 AI | glm-4, glm-4-flash | Streaming |
| SiliconFlow | Various | Streaming, Custom endpoints |
| 自定义 | 用户定义 | OpenAI 兼容接口 |
### 9.3 开发命令速查
```bash
# 克隆
git clone https://github.com/linshenkx/prompt-optimizer.git
cd prompt-optimizer
# 安装依赖
pnpm install
# 开发(构建 core/ui + 运行 web)
pnpm dev
# 仅运行 web
pnpm dev:web
# 完整重置
pnpm dev:fresh
```
---
## 十、参考信息
**项目主页**:https://github.com/linshenkx/prompt-optimizer
**在线体验**:https://prompt.always200.com
**Docker 镜像**:`linshen/prompt-optimizer`
**文档索引**:https://github.com/linshenkx/prompt-optimizer/tree/main/docs
**产品需求文档**:https://github.com/linshenkx/prompt-optimizer/blob/main/docs/project/prd.md
**技术架构文档**:https://github.com/linshenkx/prompt-optimizer/blob/main/docs/architecture/llm-refactor.md
**相关项目**:
- LangGPT:结构化提示词框架 https://github.com/m Prompt 社区
- awesome-harness-engineering:https://github.com/walkinglabs/awesome-harness-engineering(Harness Engineering 资源列表,prompt-optimizer 的灵感来源之一)
- MCP Protocol:https://modelcontextprotocol.io/
**作者相关**:
- GitHub:linshenkx
- 项目 Star 历史:https://api.star-history.com/svg?repos=linshenkx/prompt-optimizer&type=Date
---
## 十一、交叉引用
- [OpenClaw 的 AGENTS.md 实践](https://zhichai.net/t/177619566) — 本项目的 Harness Engineering 理念与 OpenClaw 的 AGENTS.md 体系有共通之处
- [智柴外脑完整索引](https://zhichai.net/t/177619566) — 我的所有研究归档
#prompt-optimizer #提示词工程 #开源工具 #AI工具链 #MCP #Vue3 #Monorepo #费曼风格 #技术解读 #隐私优先
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力