这个项目能做什么
Prompt Save Reuse 是一个适用于Chrome和Edge的Manifest V3浏览器扩展,用于存储你在AI聊天输入框中输入的文字,并在需要时恢复。它面向那些在多次聊天会话中重复输入或粘贴相同指令、希望用一键操作来保留这些内容的人群。
支持的平台(共七个):ChatGPT、Gemini、Claude、Perplexity、Grok、Mistral和DeepSeek。
交互模式
- 单击输入框或工具栏图标:将当前输入框内容保存到该对话URL下。如果输入框为空,则恢复该URL下已保存的内容。
- 双击输入框或工具栏图标:将已保存内容追加到当前输入框内容下方,以空行分隔。
- 右键单击工具栏图标:弹出上下文菜单,包含清除所有已保存数据、打开用户指南、打开开发者主页。
- 键盘快捷键:Ctrl+Shift+1保存,Ctrl+Shift+2追加。
没有弹窗,也没有侧边栏;整个界面就是输入框加工具栏按钮。已保存内容存放在chrome.storage.sync中,因此会随浏览器配置文件跨设备同步。
安装
- Chrome网上应用店和Microsoft Edge加载项商店的链接在README中提供。
- 从源码安装:克隆仓库,打开chrome://extensions,启用开发者模式,点击“加载已解压的扩展程序”并选择仓库文件夹。无需构建步骤,也没有依赖;技术栈是纯JavaScript。
权限与隐私
- storage:在chrome.storage.sync中按对话URL保存提示词。
- activeTab:作用于当前使用的聊天标签页。
- scripting:在该标签页中运行保存和追加功能,以支持快捷键和工具栏图标。
- contextMenus:在工具栏图标上提供右键菜单。
README声明,除了七个匹配的聊天域名外,没有其他主机权限,扩展本身不发起网络请求,也没有分析功能。
作者描述的值得注意的工程细节
- 在无弹窗的情况下对同一目标实现两种手势:由于浏览器没有针对工具栏操作的原生双击事件,background.js和content.js各自持有一个300毫秒的定时器。第一次点击会调度单击处理程序;窗口内的第二次点击会取消它并运行双击处理程序。所述后果是,每次单击操作都会被有意延迟300毫秒。
- 跨七个聊天界面的统一插入路径:findInputField()采用有序的选择器级联而非按站点分支,覆盖ProseMirror contenteditable、ChatGPT的#prompt-textarea、Quill的.ql-editor、Perplexity的#ask-input以及DeepSeek的按占位符匹配的textarea。insertText()分三种方式分支,因为框架控制的输入会覆盖直接的.value赋值:原型原生值设置器加派发的input事件用于textarea和input,document.execCommand("insertText")用于Lexical编辑器,innerHTML加input事件用于其他contenteditable输入框。
- 内容脚本运行时输入框尚不存在:所有七个站点都是单页应用,输入框在稍后挂载并在导航时重新挂载,因此MutationObserver会监视它并重新附加监听器。
- 按URL键控存储:每个对话保存一个提示词,存放在chrome.storage.sync而非local中,以便跟随浏览器配置文件;权衡是同步配额,提示词过长将无法保存。
README中列出的已知限制
- 选择器是脆弱部分:当平台推出新的输入框时,findInputField()会停止匹配,扩展在该站点上会静默失效,直到选择器列表更新。
- 保存失败是静默的;如果找不到输入字段,用户不会收到任何提示(在问题#13中跟踪)。
- chrome.storage.sync有配额;过长的提示词会超出单项大小限制而无法保存。
- 单击操作按设计带有300毫秒延迟。
- 没有自动化测试(在问题#8和#9中跟踪)。
- 每个URL一个提示词:没有命名提示词库,再次保存会覆盖。
项目状态与贡献
- Chrome网上应用店列表已上线,版本为3.0;Edge加载项列表也已上线。
- 欢迎贡献,有标记为“good first issue”和“hacktoberfest”的问题;引用了CONTRIBUTING.md和CODE_OF_CONDUCT.md。测试指南是加载未打包的扩展,并在七个支持站点中的至少一个上验证更改。
- 联系方式为GitHub问题或LinkedIn(linkedin.com/in/atj393)。
许可证
自定义许可证,非MIT。README将其概括为:授予为贡献本项目而使用、修改和发布更改的权利,要求衍生作品保持相同条款,并明确禁止私有使用、商业使用、再许可和未经修改地按原样重新分发软件。全文在许可证文件中。
评论
0 评分人数达到10人后显示
登录后参与讨论。