用过 ChatGPT 网页版的朋友,应该都体会过那种"明明很有用,但用起来总是差一点意思"的别扭感:对话一长,模型就开始"遗忘"前面的关键信息;聊天记录堆成一条条没有组织的散列;想在同一个主题下做多个分支讨论,只能手动复制粘贴上下文;好不容易调出一版满意的回答,又要担心记录会不会在清理浏览器缓存时一起消失。Superpowers这个开源的用户脚本,就是冲着这些痛点来的——它把 ChatGPT 的网页版从"能聊天的对话窗口"改造成"带项目管理、上下文压缩、自动标题、提示词优化的工作台"。这篇文章我会完整讲清楚 Superpowers 解决了什么问题、为什么需要前置安装 Tampermonkey、怎么一步步配好、以及我实际使用大半年踩过的坑,尽量让新手也能照着操作无障碍。
1. 为什么需要 Superpowers 这类工具:先看清需求再动手
1.1 ChatGPT 网页版的几个典型痛点
先说最直观的感受。ChatGPT 网页版原生界面其实做得挺克制,左侧一个会话列表,中间一个对话框,右侧几乎没有辅助面板。这种设计对轻量用户来说够用,可一旦你把 ChatGPT 当作日常生产工具,问题就陆续暴露了。
第一个痛点是长对话的遗忘。模型有上下文窗口上限,超过一定 token 数后最早的消息会被截断。你可能会发现,聊到第 30 轮的时候,它还记着你第一轮提过的要求,聊到第 80 轮,它已经把最初的限定条件彻底忘了。这个问题不是"再问一次"就能解决的——你手动补充背景,既打断思路,又消耗新的上下文。
第二个痛点是会话管理太零散。原生界面里面所有对话都平铺在侧边栏,没有项目层级的概念。你同时进行三个工作项目、一个学习计划、一次资料调研,很快侧边栏就变成一条长长的列表。想要找回三天前那个"产品文案第三稿"的对话,只能一个一个地点开看。
第三个痛点是记录保存不可控。ChatGPT 的对话记录保存在云端,但如果浏览器缓存清理不当、登录态过期,或者你用了长期不更新的第三方客户端,历史记录就可能出问题。我身边不止一个人因为没做本地备份,丢过非常重要的调研材料。
第四个痛点是提示词写得好不好全凭个人功力。同样一个问题,新手可能只写一句"帮我写个方案",老手会补充角色、背景、输出格式、约束条件。模型能力很强,但你能不能把它的能力完整"撬"出来,是另一回事。
1.2 Superpowers 的定位:补全网页版缺失的工作流
Superpowers 不是那种挂个皮肤、换套主题的装饰型脚本,它做的是把上面几个短板逐个补上。它本质上是一个运行在浏览器里的用户脚本,通过注入代码来增强 ChatGPT 网页端的功能,不需要安装额外的原生软件,不修改模型的推理逻辑,也不影响你在其他设备上的正常使用。
它的核心思路可以理解为"给网页版做一次系统性升级":在左侧增加项目空间面板,让所有对话可以归类归档;在对话过程中自动检测接近上下文上限的迹象,提前把历史消息压缩成保留关键信息的摘要,从而延长对话寿命;对每一段新对话自动生成标题和摘要;另外还附带一个提升提示词质量的小引擎。
这里要强调一下它的边界。Superpowers 是"外挂式"的工具,它改变的是网页前端的交互和数据处理方式,不改变 ChatGPT 本身的模型能力。所以"让对话不遗忘"是通过合理的压缩策略实现的,而不是给模型换更大的脑子。理解了这个定位,你就能明白后面所有配置选项为什么那样设计。
2. 安装前的准备:浏览器扩展与用户脚本基础
2.1 为什么必须先装 Tampermonkey 或同类管理器
Superpowers 以用户脚本(UserScript)的形式发布。所谓用户脚本,简单讲就是一段可以在特定网页上自动运行的 JavaScript 代码。普通网页不会主动让你在浏览器里跑自定义 JS 脚本,所以需要借助一个用户脚本管理器,在浏览器和网页之间架起一座"注入"的桥。
Tampermonkey 是目前使用最广泛的用户脚本管理器,支持 Chrome、Edge、Firefox、Safari 等主流浏览器。它负责三件事:第一,按照你设置的匹配规则,在合适的网页加载时执行对应脚本;第二,给脚本提供一套访问浏览器存储、跨域请求的辅助接口;第三,统一管理脚本的启停、更新和权限。
也有其他同类工具,比如 Violentmonkey、Greasemonkey。我的建议是优先用 Tampermonkey,不是因为它功能最多,而是因为它的兼容性最好、文档最全、遇到问题容易搜到解决方案。Superpowers 的安装说明里也默认以 Tampermonkey 为例。
2.2 安装 Tampermonkey 的具体操作路径
安装 Tampermonkey 本身没有难度,但浏览器不同,入口会有点差别。以 Chrome 和 Edge 为例,你需要在应用商店里搜索"Tampermonkey",认准那个带有官方标志、开发者是 Jan Biniok 的扩展,然后点击安装。Firefox 用户则在 Firefox Add-ons 商店里安装。
装完之后,浏览器右上角会出现 Tampermonkey 的图标。建议你点开图标,进入管理面板看两眼,确认一下版本号和启用状态。如果你是第一次用,系统可能会提示"已屏蔽"或"需要权限",多数情况下直接允许即可。有些企业环境的浏览器会限制扩展安装,这种情况需要联系管理员开放权限。
还有一点要注意:不要安装那些从非官方来源下载的 Tampermonkey 破解版或修改版。脚本管理器拥有很高的页面注入权限,如果它本身被动过手脚,后面的所有脚本都会处在不可信环境里。在官方商店安装是底线。
2.3 用户脚本的权限模型:它为什么能改变 ChatGPT 页面
很多人第一次接触用户脚本时会担心安全问题:我在别人的网站上运行一段自己装的代码,会不会出事?这个担心是合理的。Tampermonkey 在安装每个脚本时,都会弹出一份权限说明,里面会列出这个脚本要访问哪些网站、要使用哪些 API。
以 Superpowers 为例,它需要"读取和修改 ChatGPT 页面内容"的权限,需要本地存储权限,可能还需要跨域请求权限来检查更新。这些权限在安装界面里都会有清晰展示。你在点击"安装"之前,最好花十几秒扫一眼权限列表,确认它申请的范围和它的功能描述是匹配的。如果一个号称"美化界面"的脚本上来就要读取你所有网站的密码,那就坚决不能装。
理解这层权限模型还有一个好处:如果某天你发现 Superpowers 不再工作了,大概率是权限设置变了或脚本匹配规则出了问题——这时候你不是两眼一抹黑,而是知道从哪里开始排查。
3. 安装 Superpowers 的完整步骤
3.1 从官方开源仓库获取安装源
安装 Tampermonkey 之后,下一步就是获取 Superpowers 脚本本体。它托管在 GitHub 的开源仓库里,搜索"Superpowers GPT"或访问项目主页就能找到。项目主页的 README 文件里会放一个安装入口,通常是一个指向上传脚本文件的链接,文件名一般是superpowers.user.js或以.user.js结尾。
这里我建议你养成一个习惯:只从官方仓库或项目 README 里写的链接安装,不要从第三方博客分享的网盘链接装。因为用户脚本容易被篡改,一旦中间混入恶意代码,它就能读取你的聊天内容甚至浏览器里的其他信息。官方仓库至少是公开可审查的,任何人都能看到代码逻辑,安全风险可控。
如果你在国内网络环境下访问 GitHub 偶尔比较慢,那是正常现象。可以先在项目页面看看截图和说明,确认功能符合需求之后再往下走。
3.2 点击安装源后的完整流程演示
当你点击superpowers.user.js这个链接时,浏览器不会再像下载普通文件那样直接保存,而是触发 Tampermonkey 的安装界面。这个界面大概包含几个区域:脚本名称、版本号、描述、匹配网站列表、权限说明,下面是"安装"和"取消"两个按钮。
第一次安装时请重点看两个地方。一个是匹配的网址范围,Superpowers 应该匹配https://chat.openai.com/*(部分版本可能包含chatgpt.com之类的域名),这说明它只会在 ChatGPT 页面运行,其他网站不受影响。另一个是权限列表,确认它申请了GM_setValue、GM_getValue这类本地存储接口,这是它保存项目配置和压缩摘要所必需的。
确认无误后点击安装。安装完成,Tampermonkey 图标上可能会多一个角标数字,表示当前已启用的脚本数量。此时你如果直接打开 ChatGPT 页面,可能发现界面变化还不明显——因为 Superpowers 的侧边栏默认可能是收起状态,需要点击页面上的扩展按钮才能展开。
3.3 稳定版与开发版怎么选
一个容易被忽略的问题是,Superpowers 这类快速迭代的开源脚本往往同时存在两个版本线:一个是稳定版(Release),适合绝大多数用户;一个是开发版(Dev / Beta),包含最新功能但可能存在未修复的 bug。
我个人的建议是:刚开始接触时先用稳定版。原因很简单,用户的场景千差万别,开发版可能在你的特定操作习惯下暴露问题。等你对它的配置和排查方式已经熟悉了,再考虑尝鲜开发版。如果你装好了之后发现界面选项和某些教程截图对不上,先检查一下版本,很可能你装的不是同一个版本线。
Tampermonkey 的脚本管理面板里能看到已安装脚本的版本号。如果确认装的是稳定版,界面却依然对不上,那就有可能是版本更新了,界面本身变了——遇到这种情况,以官方文档或仓库里的最新截图为准。
3.4 验证 Superpowers 是否生效
装完脚本后不要急着直接开始聊,先花一分钟验证它确实生效了。打开 ChatGPT 页面,刷新一次,然后观察几个信号:左侧是否出现项目导航区域,页面右上方是否多出脚本功能按钮,新开始一个对话时是否会自动生成标题。
最直接的验证方式是查看 Tampermonkey 图标,点击后会看到 Superpowers 的开关状态;再点开它的资源(注入的样式、脚本)确认没有加载失败。浏览器开发者工具(F12)的 Console 面板也是一个观察点,但没有报错不代表一切正常,报错也不代表一定影响核心功能——有些脚本的警告信息是无害的。我的经验是,只要项目导航能正常显示、能创建新项目,就说明主功能已经通了。
4. 核心功能逐一拆解:Superpowers 到底改了什么
4.1 上下文压缩:把一段长对话"做完笔记再继续"
上下文压缩是 Superpowers 最核心、也最能体现工程价值的功能。先说这个问题产生的根源:模型在每次对话时都需要把前面的内容重新处理一遍,历史消息越长,占用的上下文空间就越多,一旦超过窗口上限,最前面的内容就会被"挤出"记忆。
Superpowers 的解决办法是主动干预。它会在上下文快接近上限时,不再简单地让旧消息被截断,而是先把这一阶段的对话内容做一次摘要提取,提炼出角色设定、已确定的关键决策、尚未解决的问题、用户的最新诉求,然后把这个摘要写入对话的轮次中,同时压缩掉已经被摘要覆盖的原始消息。这样模型在下一次回复时,看到的不再是"一堆被砍掉头尾的残稿",而是一份结构完整、信息密度很高的"会议纪要"。
你可以把它类比成开会:一个团队讨论到一半,新成员中途加入。如果他只看到讨论过程中零散的几句争执,肯定一头雾水。但如果有人提前把"我们是谁、目标是啥、已经决定了什么、还差什么"写成一页纸给他,他就能快速上手。Superpowers 做的事情就是那个做会议纪要的人。
使用这个功能时,我强烈建议你在压缩发生之前把重要的原始信息备份好。压缩后的摘要是提炼版本,虽然保住了关键决策,但会丢掉一些措辞细节、例子、语气信息。万一后面你想回看"当时具体怎么说的",原始消息已经变成了摘要。所以重要的敏感讨论,在聊之前就开好导出,或者分项目保留。
4.2 项目空间:给混乱的对话列表建立文件夹体系
Superpowers 的项目功能解决的是"会话管理"问题。安装之后,侧边栏顶部多出一块项目区域,你可以创建不同的项目,比如"产品需求"、"论文润色"、"日常问答"。每个项目下面可以收纳相关对话,类似把散落一地的文档放进对应的文件夹。
这个功能的价值不是"看起来整齐",而是把上下文资源隔离。不同项目拥有独立的对话历史和压缩摘要,互不干扰。我曾在同一个浏览器窗口里同时推进三个项目,如果没有项目隔离,侧边栏混杂着各种主题的对话,找起来极其痛苦。
实际操作上,我建议你养成"开新话题先选项目"的习惯。在创建新对话之前,先在项目导航里切换到目标项目,这样后续所有的对话记录、标题、摘要都会自动归档到该项目下。这个习惯一旦养成,你的 ChatGPT 侧边栏会变成一种很舒服的工作区形态:每个项目下面一排排对话,标题清晰,摘要明确,随时可以回到任意一条上下文。
4.3 自动标题与对话摘要:记录不再是黑盒
原生 ChatGPT 虽然也有自动命名对话的功能,但通常只是根据第一句话提取一个短标题,随着话题漂移,标题就渐渐不准确了。Superpowers 的自动标题机制更激进,它会在对话积累到一定长度后,根据实际内容重新生成标题,并给对话生成一段摘要。
这个功能带来的直接好处是侧边栏的"可读性"。你的对话列表会变成类似笔记库的形态:每条记录都有一行明确的标题,和一两句概括性的摘要。长时间不用的对话,你不需要点进去就能从摘要里回忆起上下文。
这里有一个小技巧:摘要不同于压缩摘要,它的用途是检索和回顾,不会直接写回给模型。所以你不用担心它消耗上下文,可以放心让它工作。
4.4 提示词优化引擎:把"随便问"变成"专业地提问"
每次看到"帮我想个点子"这种提示词我都感到可惜。模型的水平摆在那里,但提示词质量直接决定了输出质量。Superpowers 内置了一个提示词优化能力,它能分析你输入的原始指令,补上缺失的上下文细节、明确输出格式、加入角色设定,甚至给出改进后的提示词在你确认后重新发送。
我之前做过一个对比测试:同一句"给我写一份周报",不优化和优化后的输出质量差距非常明显。优化后的提示词会添加"以项目经理角度、包含数据总结、用结果导向的语气、控制在 300 字内"等具体要求,模型给出的周报明显更有针对性。
不过也要提醒一点,优化不是万能的。对于那些你很熟悉的专业领域,你的原始提示词可能已经足够精确,再优化反而可能画蛇添足。我一般只在两种情况使用它:一是需求本身模糊,不知道怎么表达;二是想探索同一个问题有没有更好的提问角度。
5. 配置调优与进阶使用习惯
5.1 理解压缩阈值:不是越早压缩越好
Superpowers 提供了上下文压缩的触发阈值设置。有些版本允许你设定一个百分比,当上下文使用量达到这个比例时触发压缩;有些版本则提供"保守/均衡/激进"三档模式。
我建议你从"均衡"模式开始。压缩太保守,上下文仍然容易被占满,压缩发生得晚且少;压缩太激进,对话稍长一点就触发摘要整理,模型频繁看到的不再是完整体,而是摘要的摘要,信息失真率会上升。
我之前试过把触发阈值设得很低,结果对话没聊多久就压缩一次,模型回答质量反而下降。原因很好理解:原始信息->摘要->摘要的摘要,信息衰减是叠加的。所以我的经验是,让压缩发生在"快要超限但还有余量"的时候,而不是刚产生一批对话就立刻处理。
如果你发现某一个项目特别依赖历史细节(比如改小说、分析长代码),那就把该项目的压缩模式调得保守一点,宁可多费一点上下文,也要保住原始信息。
5.2 创建干净的"项目上下文"是最高杠杆的操作
Superpowers 的项目隔离给了你一个绝佳的机会:合理利用项目的独立性来优化每次对话的起点。比如你准备做一份市场分析,先创建一个单独项目,在里面先粗略列一下背景信息,再正式提问。这样后续所有追问都天然带着项目内的历史上下文,不需要你反复重申背景。
这个习惯叫做"上下文的先注入后消费"。它比依赖压缩功能更聪明:压缩是被动救火,项目隔离+背景注入是主动防火。你花在整理上下文上的时间,会十倍地体现在最终输出质量上。
我自己的流程大概是:需要处理一个完整课题时,先新建项目;把课题背景、目标、边界条件、已知约束整理成一段文字,作为对话的第一条消息;然后再开始提问。后面无论聊多少轮,模型始终能参考到这条被精心设计的"锚点"。
5.3 本地备份与导出:别把鸡蛋都放在一个地方
Superpowers 提供的数据导出功能,我强烈建议你纳入日常习惯。多少人的心血是在一次浏览器重置、一次账号登录异常里灰飞烟灭的?即使 ChatGPT 官方的记录存储在云端,面对可能会出现的登录态丢失、误删会话、浏览器扩展清空等意外,自己手里有一份备份总是不慌的。
实际操作上,建议定期把重要项目的对话记录导出为 Markdown 或 JSON 格式,存到本地目录或笔记软件里。导出的文件不仅用于备份,还可以当作后续对话的"记忆源"——当你需要在另一个对话里继续之前的工作,可以直接把导出的内容作为上下文粘贴进去。
我也是在尝过一次教训后才养成这个习惯的。有一次因为浏览器扩展冲突,脚本数据全部丢失,项目结构、压缩摘要全没了。从那以后,每周导出一次重要项目的备份,成了雷打不动的动作。
5.4 与浏览器原生功能的协同使用
Superpowers 作为用户脚本,天然受浏览器管理器的调度影响,它和浏览器的一些原生功能也存在协同关系。比如浏览器自带的网页翻译、阅读模式、夜间模式等,通常能正常共存。
有一个值得注意的点:如果你同时使用多个 ChatGPT 增强脚本,要特别小心功能重叠。有的脚本也带有压缩功能,有的脚本也管理会话列表,几套逻辑同时操作页面上的同一块 DOM,很容易互相踩踏,导致页面卡顿或功能失效。我的建议是,同类型的增强脚本保留一个主力就够,不要贪多。如果一定要共存,至少把它们的核心功能错开,避免同时接管同一块界面区域。
6. 常见问题与排查技巧实录
6.1 脚本装了不生效怎么办
这是我收到最多的问题。装了 Tampermonkey,也装了 Superpowers,可打开 ChatGPT 页面没有任何变化。排查顺序其实很清楚:
先看 Tampermonkey 里的脚本开关是否打开,再确认匹配规则是否正确,特别留意域名。如果 ChatGPT 官方后来换了域名,而脚本只匹配旧域名,那就不会执行。然后强制刷新页面(Ctrl+F5 或 Cmd+Shift+R),排除缓存问题。最后看 Console 面板有没有明显的脚本语法报错——如果有,优先检查脚本版本和浏览器版本是否兼容。
我遇到过一个比较隐蔽的情况:某个安全软件或浏览器内置的隐私保护拦截了用户脚本的跨域请求,导致脚本初始化失败。解决办法是把 ChatGPT 域名加入白名单,或者临时关闭隐私保护再看是否恢复。
6.2 压缩后模型"失忆"程度比预期严重
压缩功能本身是尽力保留要点,但如果你感觉到压缩后模型明显忘记了太多关键信息,很可能是压缩策略设置不当,或原始对话太长导致摘要粒度太粗。
排查时,先看压缩发生前的对话是否已经出现信息冗余。很多用户在对话里反复补充、纠正、闲聊,这些内容占满了上下文空间,压缩时提炼出的摘要自然就很难面面俱到。另一个可能是,你的某些关键信息在压缩之前就已经被模型本身截断了,压缩只是把截断后的内容再加工了一次,那自然更残缺。
改善办法有两个:一是把关键限定条件写在所有对话的前面部分,越靠前越不容易被处理掉;二是在项目空间里维护一条独立的"项目说明",每次开始新话题时先引用它。这比依赖自动压缩机制更可靠。
6.3 与其他脚本或浏览器扩展冲突
用户脚本之间,以及用户脚本与普通扩展之间的冲突,是最难排查的一类问题。表象通常是:页面加载很慢、按钮点击无反应、布局错乱、控制台疯狂报错。
如果你遇到这些现象,可以进入 Tampermonkey 面板,暂时停用其他脚本,只保留 Superpowers,重启页面观察是否恢复正常。如果恢复正常,再逐个启用其他脚本,定位冲突源。另外,浏览器里那些"接管页面结构"的扩展(比如强制夜间模式的),也容易和 Superpowers 的样式冲突。启用之前多问一句:这个扩展真的必要吗?
6.4 更新失败或停留在旧版本
Tampermonkey 一般会在启动浏览器时自动检查脚本更新,但 Superpowers 的更新也可能因为种种原因失败。可以在脚本管理面板手动点击"检查更新",如果始终失败,最直接的办法是回到官方仓库重新安装一次。重新安装不会清空你已经保存的本地数据,因为数据是分开存储的,你可以放心操作。
更新之后,建议顺手做一次功能巡检:项目导航还在不在,压缩功能还能不能触发,自动标题有没有正常生成。毕竟新版本可能带来数据结构的变化,万一出现不兼容,早发现早处理。
| 常见问题 | 可能原因 | 优先排查方法 |
|---|---|---|
| 脚本不生效 | 匹配域名错误 / 脚本被停用 / 浏览器缓存 | 检查 Tampermonkey 面板匹配规则,强制刷新页面 |
| 压缩后信息丢失明显 | 压缩策略激进 / 关键信息靠后 | 调整压缩模式,将关键信息前置 |
| 页面布局错乱 | 与其他扩展冲突 | 逐个停用其他脚本,定位冲突源 |
| 更新失败 | 网络问题 / 仓库地址变更 | 手动检查更新,回官方仓库重装 |
| 按钮点击无响应 | 页面结构变化 / 脚本旧版本 | 更新脚本到最新版本,刷新页面 |
上面这个速查表,是我在实际运维自己浏览器环境时总结出来的,基本覆盖了最常见的故障场景。多数情况下,先检查"脚本是否执行",再排查"执行后是否被其他因素干扰",两条路径就能解决八成问题。
最后再分享一个我自己的使用习惯:每次在重要项目启动前,我会先花三分钟在项目空间里写清楚背景、目标和边界,然后用 Superpowers 的对话摘要功能做阶段总结。这样我能随时从任何一条记录接着做,不用担心思路断掉,也不怕清理浏览器缓存把聊天记录弄丢。工具终究是辅助,真正让工作变得高效的,是它促使你养成的有组织的使用习惯。