CONTENT
Step1:搜集信息_Input
现有产品
- 其它的很多类似的就不枚举了,大差不差。核心都是prompt仓库,鱼龙混杂,使用麻烦。
Promptimize AI
Promptimize AI
Seamless Prompt Optimization. Elevate Your AI Prompts for Exceptional Results. Enhance your prompts with Promptimize—the AI-powered browser extension that refines your inputs for more impactful content generation. Grammarly for prompting.
- 优点:很成熟了,就是我要的产品形态
- 闭源的,且无法自定义API
- 按钮会乱动,优化一般,输出结果也一般
- 不支持翻译或中文
ref
- prompt optimizer开源项目:
- deepwiki参考:
DeepWikilinshenkx/prompt-optimizer | DeepWikilinshenkx/prompt-optimizer | DeepWiki
Prompt Optimizer is a multi-platform AI prompt optimization tool that helps users improve AI prompt quality through iterative optimization and testing. The system is built as a TypeScript monorepo sup
- 缺点:web前端项目,有插件,但形式是新建页面形式
- 借鉴:一则fork然后merge;二则依托其架构,新开一个仓库项目
- MIT开源协议:二次开发宽松
- 按钮参考:
- Gemini gem:
- 即梦
button

deepseek内置弹出

Step2:处理信息_Learn
一些想法记录
- 这东西没有什么技术护城河本质上甚至跟那个iTab起始页一样,属于是没有变现渠道。
- 项目名称:prompt router
功能预设
- 基础模板,如BROKE,ICIO,CRISPE等
- 核心:优化按钮button集成在对话框的发送send按钮左侧
- 参考功能:
- promptimize的自定义变量侧边栏展开自定义:比如task,output format都能作为模板中的蓝色自定义变量,在展开菜单中自定义,生成满意的后再填入prompt正文
- 思维链,zero-shot,few-shot等高级技术选项自定义
- 忘了
- 社区模板(服务器成本高,看后续)
- 路线router,即选择权托管给LLM
- 加入“翻译”,不同LLM在训练时的数据集采样的文本数据不同,效果差异显著,经过翻译,会得到更接近预期的输出
- 尤其是对照非英文特别是中文文本在数据存储时的格式转化,即以何种形式存储在向量数据库中,这种方法应该会对不同翻译策略对应的效果有巨大影响。
- !支线功能:润色,即作为手机app,比如qq,微信等或输入法的插件,按钮按下即可根据预设模板优化聊天话语,或风格化话语。比如可以有抽象,幽默,犀利,颜文字,表情包等多种优化模板。
- 图标和按钮图案想法:一个简单的P,按下前为浅亮色渐变,按下后按钮过渡为深暗色渐变,ing的过程为水波纹由内向外循环,处理结束后恢复过渡回浅亮色渐变。
工具
- gemini studio,build:
aistudio.google.com
aistudio.google.com
GitHub - linshenkx/prompt-optimizer: 一款提示词优化器,助力于编写高质量的提示词
一款提示词优化器,助力于编写高质量的提示词. Contribute to linshenkx/prompt-optimizer development by creating an account on GitHub.
linshenkx/prompt-optimizer | DeepWiki
Prompt Optimizer is a multi-platform AI prompt optimization tool that helps users improve AI prompt quality through iterative optimization and testing. The system is built as a TypeScript monorepo sup
Step3:成果产出_Output
基础原型
- 一个插件,按一下,捕捉收集用户输入在chat对话框中的文本数据
github.com
迭代
定位:杂记。在找到合适的开发文档记录方式之前,作为想法的记录和预构。
1.0.0
- 完成基础设计:插件:捕捉文本,处理文本,返回文本
- 适配5个网站:deepseek,qwen,豆包,Gemini,chatgpt
- background适配器和配置页面开发:杂,失败,读不懂后续了
- 吸取经验:一步一步来,一个功能一个功能实现,每实现一个就去看具体代码的是实现方式
1.1.0
总结时填入
- 开发核心的业务实现模块,即API管理,LLM模型管理,文本输入输出流式,模板管理
- 尝试
- 先尝试Gemini总结prompt optimizer的架构,给一套方案,再交给他在promopt的background2.0分支上开发。看效果,差的话不保存
- cursor那套开发方案
- 转移到promopt上,再让Gemini阅读,作为上下文的起始;
- 手动总结方案,逐步开发,先摒弃大而全的完美预留接口的方向,以MVP为核心
- 继续
- 按照2b中的一个角色预设“code_review”的代码审查报告 code review
成果展示


2的a效果不错。可以在此基础上继续开发;但还是把2b转移过去合适,以长远来看,再加上项目本身有一些没用的废代码还没删(可以试着清除)
- 继续
- 按钮变体:optimize,optimizing,apply or cancel(两个按钮),optimize
- 模板模块
1.2.0
- 功能:动态按钮
- 初始状态: 显示 “optimize” 按钮。
- 处理中状态: 用户点击 “optimize” 后,按钮文本变为 “optimizing”,并禁用按钮。
- 完成状态: 后台处理完成后,原地替换 “optimizing” 按钮为两个新按钮:“Apply” 和 “Cancel”。
- 循环: 用户点击 “Apply” 或 “Cancel” 后,这两个按钮消失,恢复为初始的 “optimize” 按钮。
概念设计:
- 示例
e.g.


开发完了,但被git折磨,操作逻辑没弄懂,分支的开发废了,树还贼乱 想重启项目了 重启吧,版本管理和Git树太乱了
2.0.0
- 旧的归档:Promopt1.0归档存档
- 新的开发方式:
- master主线:改配置,main
- 改vscode代理,就不用开全局TUN了;但后面一些里面的可能还得加到白名单;而且记得代理软件改了端口,这里也得改
- 每次功能的开发都单列出分支,分支随意编辑,等彻底跑通,再将底下的彻底跑通,再将底下的squash,保留最后一个提交为pick,然后合并到master。
- 每次合并,务必自己说明清楚
2.0.1
架构设想

- 初代开发,即搭建完基础框架,初始版本的,需要最新数据的,需要联网知识库补充信息的,交给Gemini网页版。
2.1.1
- 造完再检测行不通,边造边检测可行;在大纲中,切分功能模块。
- 组合
- 分步开发方案
- 难点速通:
- 输入框注入:输入框元素合集 (后期考虑)
- 模型管理:3要素,KEY,url,model
- 模板管理:基础3个+自定义
- UI:豆包那个UI
换个思路:不要再检测输入框了,直接放在“发送”按钮的上方即可。prompt:开发下一步,完善按钮嵌入模块的定位逻辑和嵌入策略:以输入框中必须的元素“发送”按钮为参考坐标中心,将代表“优化”的按钮嵌入到其上方即可。以下是浏览器开发模式中复制的代表“发送”按钮的元素代码,请据此完善定位逻辑和嵌入策略:“发送”按钮
deepseek
<div class="_17e543b _7436101" tabindex="-1" role="button" aria-disabled="false" style="--hover-size: 28px; width: 28px; height: 28px;"><div class="_001e3bb"></div><div class="ds-icon" style="font-size: 16px; width: 16px; height: 16px;"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3125 0.981648C8.66767 1.05456 8.97902 1.20565 9.2627 1.4338C9.48724 1.61444 9.73029 1.85939 9.97949 2.1086L14.707 6.83614L13.293 8.2502L9 3.95723V15.0432H7V3.95723L2.70703 8.2502L1.29297 6.83614L6.02051 2.1086C6.26971 1.85939 6.51277 1.61444 6.7373 1.4338C6.97662 1.24132 7.28445 1.04548 7.6875 0.981648C7.8973 0.948471 8.1031 0.956625 8.3125 0.981648Z" fill="currentColor"></path></svg></div></div>gemini
<button _ngcontent-ng-c3319811220="" mat-icon-button="" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base send-button ng-tns-c3319811220-10 submit mat-unthemed" mat-ripple-loader-class-name="mat-mdc-button-ripple" mat-ripple-loader-centered="" aria-label="Send message" jslog="173899;track:generic_click,impression;BardVeMetadataKey:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,["9ec249fc9ad08861"]];mutable:true" aria-disabled="false" tabindex="0"><span class="mat-mdc-button-persistent-ripple mdc-icon-button__ripple"></span><mat-icon _ngcontent-ng-c3319811220="" role="img" fonticon="send" class="mat-icon notranslate send-button-icon icon-filled gds-icon-xl google-symbols mat-ligature-font mat-icon-no-color" aria-hidden="true" data-mat-icon-type="font" data-mat-icon-name="send"></mat-icon><!----><span class="mat-focus-indicator"></span><span class="mat-mdc-button-touch-target"></span><span class="mat-ripple mat-mdc-button-ripple"></span></button>chatgpt
<button id="composer-submit-button" aria-label="发送提示" data-testid="send-button" class="composer-submit-btn composer-submit-button-color h-9 w-9"><svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="icon"><path d="M8.99992 16V6.41407L5.70696 9.70704C5.31643 10.0976 4.68342 10.0976 4.29289 9.70704C3.90237 9.31652 3.90237 8.6835 4.29289 8.29298L9.29289 3.29298L9.36907 3.22462C9.76184 2.90427 10.3408 2.92686 10.707 3.29298L15.707 8.29298L15.7753 8.36915C16.0957 8.76192 16.0731 9.34092 15.707 9.70704C15.3408 10.0732 14.7618 10.0958 14.3691 9.7754L14.2929 9.70704L10.9999 6.41407V16C10.9999 16.5523 10.5522 17 9.99992 17C9.44764 17 8.99992 16.5523 8.99992 16Z"></path></svg></button>qwen
<button id="send-message-button" class="_sendMessageButton_71e98_48 bg-purple-500 text-white hover:bg-purple-600 dark:bg-purple-500 dark:text-white dark:hover:bg-purple-600 svelte-17xwb8y" type="submit"><i class="iconfont leading-none icon-line-arrow-up !text-20" style=""></i></button>doubao
<button id="flow-end-msg-send" aria-disabled="false" aria-label="发送" data-testid="chat_input_send_button" aria-describedby="1o7sxli" tabindex="0" data-popupid="1o7sxli" class="semi-button semi-button-primary send-btn-gNkciw semi-button-with-icon semi-button-with-icon-only" type="button"><span class="semi-button-content"><span role="img" class="semi-icon semi-icon-default send-btn-icon-g2PbME"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="m3.543 8.883 7.042-7.047a2 2 0 0 1 2.828 0l7.043 7.046a1 1 0 0 1 0 1.415l-.701.701a1 1 0 0 1-1.414 0L13.3 5.956v15.792a1 1 0 0 1-1 1h-.99a1 1 0 0 1-1-1V6.342l-4.654 4.656a1 1 0 0 1-1.414 0l-.7-.7a1 1 0 0 1 0-1.415"></path></svg></span></span></button>请写出健壮的检测和嵌入策略,将“优化”按钮嵌入到原输入框中的“发送”按钮上方。
ui

prompt UI设计的核心是通过玻璃拟态效果创造出空间的深度感和精致感,并利用柔和的渐变色和圆角设计营造出一种现代、友好且充满科技感的视觉体验。注重视觉美感与用户体验的平衡,通过清晰的布局、简洁的组件和明确的视觉引导,让用户能够轻松、愉悦地完成操作。
- todo
3.0.0
- 架构:基础的前端+后台架构;selector模块重新用1.0的那个
先开发按钮,实现不同网页的注入,再开发后端功能按钮mvp功能:将原来的输入重复2遍输出策略不能太多,精简为好,直接为这几个网站做定制化适配即可。
- 开发后台
- LLM处理
- 配置页面
- API-key,LLM,model
- 元提示词模板
- 后期开发
- 历史记录
- API安全问题
- think部分,即推理部分实时打印,结论部分直接给出
- //暂存:继续设计options页面:重新设计API方面的模块。API提供商为最高父级,同一个API提供商同一个API url地址,子级为api key,底层为模型名model。
- 缺点:
- 在持续对话中没法结合上下文作优化,也就是只能优化每次对话的起始对话
- 流式开发:
- 告诉API:“请以流的方式返回结果”。
- LLM API 在生成文本时,会每生成一个或几个词(token),就立刻把这部分内容发送回来,而不是等全部生成完。
- 插件会持续接收这些像水流一样源源不断的小文本片段。
- 实时地将这些小片段拼接并显示在对话框中,就形成了“逐字打印”的效果。
- 在
background.js中读取这个事件流。 - 解析每一行
data:后面的JSON。 - 提取
delta.content的内容,这就是逐字返回的文本片段。 - 将这些片段实时发送给
content.js进行显示。 - 当收到
data: [DONE]时,表示传输结束。
prompt 从**“一次性请求-响应”模式切换到“流式传输 (Streaming)”模式**。
Content-Type: text/event-stream,然后它会持续地发送格式如下的文本块:data: {"id":"...", "object":"...", "choices":[{"index":0, "delta":{"content":"首先"}, "finish_reason":null}]}
data: {"id":"...", "object":"...", "choices":[{"index":0, "delta":{"content":","}, "finish_reason":null}]}
data: {"id":"...", "object":"...", "choices":[{"index":0, "delta":{"content":"用户"}, "finish_reason":null}]}
...
data: [DONE]具体操作及说明
options.js, background.js, 和 content.js 三个文件。
步骤 2.1: 修改 options.js - 在请求中启用流式传输
步骤 2.2: 大幅重构 background.js - 变为流处理器content.js - 变为流接收器- 历史记录
3.1.0
发布到微软扩展前的准备
- 控制台报错处理
- 多语言适配
- 首选方案:使用浏览器内置的 i18n API
- 历史记录功能
3.1.1:9.24晚发布
- edge测试所有默认中文的情况
- chrome测试所有默认英文的情况
- 编写README
- 发布到微软:Publish a Microsoft Edge extension
- 编写宣传视频的脚本(依托PPT的录屏视频)
3.1.2
- 走流程提交
ref_等待审核

- 后续:
- 用户如果懒得配置API,我可以提供自己的API,然后作为第三方收费
- 收费点:元提示词模板
- 其它:元提示词模板分享社群或论坛
3.2.2
studio中未跟进
Cited
开发文档开发文档2.0Git使用技巧Google AI Studio开发尝试后续新增适配网站的方法过程中转站
输入框元素合集经验提示词上架介绍,宣传图prompt,使用说明宣发
视频商务版
脚本
产品演示视频脚本:Prompt Optimizer 插件
双栏脚本详情
时间戳 | 视觉画面 (Visuals) | 旁白/音效 (Voiceover/Audio) |
0:00-0:08 | 【开场 - 痛点】
快速的蒙太奇镜头:一个用户在与LLM(如ChatGPT, Gemini等)对话,输入框里输入一个简单的提示词,例如“帮我写个营销文案”。画面切换,LLM给出了一个非常宽泛、平庸的回答。用户看到回答后,流露出轻微的失望或苦恼表情。 | 旁白 (亲切、有共鸣的语气): 您是否也曾这样?明明知道自己想要什么,却总是无法从AI那里获得最精准、最惊艳的回答。 |
0:08-0:18 | 【问题深化】
画面上出现一个放大的、模糊的提示词,旁边浮现出多个问号气泡,气泡内有“应该加什么背景?”、“如何指定风格?”、“要不要提供示例?”等文字,快速闪现。 | 旁白: 好的结果,源于好的提示词 (Prompt)。但我们并非人人都是提示词专家。我们真正需要的,是一个能瞬间读懂我们心思的智能助手。 |
0:18-0:25 | 【解决方案引入】
画面迅速转场,变得明亮、清晰。光标移动到一个标准的LLM聊天输入框,一个带有魔法棒或星形图标的“优化”按钮,优雅地嵌入输入框旁边。光标在按钮上悬停,按钮发出微光。 | 旁-白 (语气变得积极、有力): 现在,向您介绍 Prompt Optimizer!一个能无缝集成到您常用聊天窗口的浏览器插件,让您的每个问题都发挥出最大潜力。 |
0:25-0:45 | 【核心功能演示 - 一键优化】
1. 用户在输入框输入同样的提示词:“帮我写个营销文案”。
2. 光标点击旁边的“优化”按钮。
3. 插件处理的动画(例如一个快速的加载圈或流光效果)。
4. 原本简单的提示词瞬间被一个结构化、详细的新提示词替代,新旧提示词有明显的对比。例如,新提示词变为:“请扮演一位专业的营销专家,为我即将上市的‘智能咖啡机’撰写一篇社交媒体推广文案。目标受众是追求生活品质的年轻上班族,请强调其‘一键制作大师级咖啡’和‘智能预约’功能,风格要求生动、有吸引力。” | 旁白: 看看这个。当您输入一个初步想法后,只需轻轻一点...
音效: 清脆的点击声和短暂、悦耳的“叮”声。
旁白: Prompt Optimizer 会立刻将其重构为一个细节丰富、逻辑清晰的专业级提示词。它加入了角色扮演、背景信息、目标受众和具体要求,这正是高质量模型所需要的! |
0:45-0:55 | 【效果对比】
画面一分为二。左边是使用原始提示词得到的平庸回答,右边是使用优化后提示词得到的、内容丰富、针对性强的优质回答。右边的回答明显更出色,并用高亮框突出关键亮点。 | 旁白: 结果不言而喻。从宽泛模糊到精准有效,您与AI的沟通效率将实现质的飞跃。 |
0:55-1:10 | 【配置方法演示】
1. 光标点击浏览器右上角的插件图标,弹出简洁的设置菜单。
2. 点击“设置”选项,进入配置页面。
3. 页面上清晰地展示出“API接口地址”和“认证信息”等输入框。
4. 通过动画演示,用户将自己的API终端地址粘贴进去,点击“保存”。一个绿色的“配置成功”提示弹出。 | 旁白 (语气平稳、清晰): 更棒的是,Prompt Optimizer 给予您完全的控制权。您可以在设置中轻松配置自己的优化服务API接口。只需填入您的终端地址和认证信息,即可让插件调用您专属的、或您信任的任何优化模型。安全、灵活、可定制。 |
1:10-1:20 | 【总结与行动号召 (CTA)】
画面中央出现插件的Logo和名称 "Prompt Optimizer"。下方出现各大浏览器插件商店的图标 (如 Chrome Web Store, Firefox Add-ons等) 和一行清晰的文字:“即刻免费安装”。 | 旁白 (语气变得鼓舞人心): 停止猜测,开始创造。让您的每一个想法都得到最精彩的回应。立即前往浏览器商店,搜索 Prompt Optimizer,为您的AI聊天体验一键升级! |
1:20-1:25 | 【结尾】
结尾定格画面,展示插件Logo,网站地址 (如果-有),以及一句Slogan。例如:“Prompt Optimizer: 释放AI的全部潜能”。背景音乐达到高潮后优雅收尾。 | (纯音乐) |
tts:
具体分镜
AI生成
AI
AI+首帧对话框截图;或PPT制作动效
PPT
可略
录屏或PPT放长截图从上到下平滑度过
AI+帧图片
PPT
去参考别的类似应用的视频即可ref
- 先生成无BGM的视频
- 再根据转折和动作帧,处理音乐轴的卡点,或加入配乐
- 也不一定要卡点,只要科技动感即可

视频介绍版(已选择)
tags

edited
一个按钮——Promopt: 免费无感的提示词优化插件_哔哩哔哩_bilibili
一个按钮——Promopt: 免费无感的提示词优化插件_哔哩哔哩_bilibili
Promopt:提示词优化器。取自prom(pt) + opt(imizer)。一款浏览器扩展,在聊天界面中注入一个按钮,利用配置好的大语言模型对提示词优化。Edge插件商店:https://microsoftedge.microsoft.com/addons/detail/promopt/bobgooglaaoppplclafgnfdljdcmeffb云盘下载(解压,在浏览器扩展管理中心加载):, 视频播放量 1128、弹幕量 0、点赞数 8、投硬币枚数 4、收藏人数 22、转发人数 2, 视频作者 SoThCo, 作者简介 ,相关视频:提示词模板网站,告别手搓提示词!,如何调Prompt?怎么调Prompt?真正有用的实操指南,一个写提示词的邪修方法,nanobanana 永久无限制! 免费使用!,【AI时代必备】提示词决定上限,这些知识你一定要知道!,2025吃透提示词工程大模型全套教程(LLM+prompt+ChatGPT+Agent)通俗易懂,学完即就业!拿走不谢,学不会我退出IT圈!!!,DeepSeek最牛提示词公式,2025年超好用的十大AI工具!避免你被时代淘汰!免费且强大!,这是我听过对上下文工程最好的解释,(中英附代码!)斯坦福:从零构建大模型 | Build a large language model from scratch CS336(全17讲)
文字宣发
小黑盒
小黑盒更新
3.2.0
- 提高Meta提示词模板的重要性
- 单独给出跳转链接
- 变量化,结构化搭建(参考斑头雁的Agent设定输入方式)
- 接入教程文档跳转链接
- 整合为Meta元提示词模板生成器
- 一个介绍页面(弹出)
- 流程:
- 用户输入:role,description
- 默认框架:system prompt+user prompt组合
- 生成,提供复制粘贴按钮;或直接导入为新Meta提示词模板
- Gemini Studio开发的,可用,但后续要改
- 请将所有的开发过程,精简为修改了哪个文件,实现了什么功能,大致用什么方式实现的,记录在一份文档中,文档名:devlogs.md
- 导入为新模板后,模板内容没有实际迁移到新模板中;
- 生成模板后,允许用户自定义修改
- 实际开发:
- Meta提示词模板生成器,作为和设置,历史记录同级的子页面
- 不支持自定义生成器的默认内置提示词,即system prompt + user prompt的那套;减少用户选择困难;
- 支持复制,微调,一键导入到自定义模板。
确定了,studio里面的code助手比vscode中的好用的多。以后开发:
- 在studio中
- 开发,并记录日志
- 下载zip,测试
- 回vscode逐个替换
- 测试,发布
- Author:Frank
- URL:https://blog.fqqblog.com/article/2e7bd4d9-052e-81fb-8208-f401363409f9
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!

