我差点又踩进这个坑
前阵子我想做个小工具,功能特别简单:把选中的一段文本做JSON格式化、base64编解码,顺手看看当前页面的localStorage。想法冒出来的时候我第一反应是——做个浏览器插件呗,侧边栏一拉,多顺手。
然后我就开始查Manifest V3的文档,查Chrome商店的审核政策,查Firefox和Safari的差异,查怎么打三份包……查着查着我停下了。等等,我到现在连一个真实用户都没有,我在纠结Safari的Web Extension怎么签名?
这事儿说真的挺典型的。市场上像Panda Dock这样的浏览器侧边栏工具箱,做的就是网页解析、JSON序列化、base64、管理localStorage/sessionStorage/cookies这类高频小需求。
需求是真需求,但很多人一上来就把它框死成"插件",然后把大把时间耗在了跟需求无关的地方。
插件的成本,藏在你看不见的地方
先说结论:写功能可能只占你精力的三成,剩下七成全在分发和维护上。
Panda Dock挂在Chrome商店,这意味着它要过Chrome Web Store的审核。你要是想覆盖Firefox和Safari用户,得分别打包、分别提审,三家的扩展API、清单格式、权限声明都不完全一样。
改一个功能,理论上要在三个地方回归测试一遍。
更麻烦的是维护。 Knot那篇帖子给我印象特别深:作者做的是macOS菜单栏工具,升级到macOS 27之后,原来隐藏菜单栏图标的功能直接失效了,因为用到了非公开接口,系统一更新就可能崩。
他自己也说"不能保证所有环境都正常"。插件这东西就是这样,你不是在跟自己的代码较劲,你是在跟平台的更新节奏赛跑。
宿主环境一变,你就得跟。
这里有个反常识的地方:插件看起来是"轻量"产品,一个人就能做,但它的长期维护成本反而比很多独立Web应用还高。因为它的命脉捏在别人手里——商店的审核规则、浏览器的API变动、操作系统的版本升级,任何一个动一下,你都得响应。
先问一句:我到底是在验证需求,还是在满足自己
资料里那篇《杀死那个"自嗨"的工匠》,我来回看了好几遍。作者是个干了十几年的技术人,表弟让他做个闲鱼自动化工具,他晚上一上手,抓取、分析、监控、验证码、下单,一步步拆下去,凌晨两点还没停。
每一步都有理由,每一步看着都花不了多少时间,最后就变成了一件停不下来的事。
他后来想明白一句话,我觉得值得抄下来:以前看到问题先想"怎么解决",现在开始多问一句"这件事该不该由我来做"。
放到做插件这件事上是一样的。你纠结Safari适配、纠结商店审核被拒的文案怎么改、纠结Manifest权限怎么声明才不会被打回——这些确实是问题,也确实能解决,但它们跟"这个工具有没有人要用"这个核心问题,一点关系都没有。
那期周刊里还提到一个产品人的三问,第一问就是:能不能把产品介绍写成一页纸?我想再加一问:验证这个需求,我最快的路径是什么?
如果答案是"先花一周搞定三家浏览器的打包",那多半是路走岔了。
一条更轻的路:先把它做成能一键分享的网页
回到我自己那个JSON格式化、base64、看storage的小工具。我最后没做插件,改成了纯Web的方案,验证需求的速度快了不止一个量级。
界面这块,直接用HTML在线运行把交互页面搭起来,输入框、按钮、结果区,浏览器里当场就能看效果,不用配本地环境,也不用打包。处理逻辑里稍微重一点的部分——比如批量文本清洗、复杂结构的解析——我用Python在线运行写在后端跑,前端只管收发,逻辑改起来干净。
做完之后靠Web应用托管一键发出去,拿到一个链接,直接甩到群里让人试。
这条路最大的好处是:你验证的是需求本身,不是打包流程。一个链接发出去,谁点开都能用,不分Chrome还是Firefox,也不用等审核。
如果没人用,你损失的是半天,不是三周。如果有人用,你再考虑要不要专门做成插件,那时候你手里已经有真实反馈了。
但话说回来,插件能做的事,Web确实做不了
我不想把话说满。有些场景,网页方案是真够不着,这条边界得讲清楚,免得你按我说的做完发现缺了关键功能。
Panda Dock那种"更好地管理localStorage/sessionStorage/cookies",管的是你正在浏览的那些第三方网站的存储数据。这个能力普通网页拿不到——浏览器的同源策略就是拦这个的。
你的Web应用只能读写自己域名下的存储,别的站点碰不了。想跨站读写、想监听任意页面的DOM、想调浏览器原生的扩展API,这些是插件的地盘,Web应用进不去。
所以判断标准其实挺清楚的:如果你的工具核心是"对当前浏览的网页动手"——解析选中内容、注入脚本、管理别的站点的cookie——那插件是刚需,绕不开。但如果它本质是个"独立的处理器"——你把数据喂给它,它算完还给你,像格式化、编解码、各种计算器——那它天生就该是个网页,做成插件反而是自找麻烦。
资料里那个高度近视配镜的帖子就是个好例子。作者借助AI写了个镜片厚度计算器,输入镜框、度数、瞳距这些参数,算出最大边厚。
这种工具跟浏览器一点关系没有,它就是个纯计算器,做成一个能分享的网页链接,比做成插件合理一百倍。
一个今天就能做的小动作
如果你手上正好有个想做的小工具,别急着建插件仓库。先花十分钟回答两个问题:
第一,它需不需要碰"当前浏览的其他网页"?如果不需要,插件这条路基本可以先划掉。
第二,它的核心功能能不能用"输入参数、返回结果"这一句话描述清楚?如果能,那它就是个天生的网页工具。
然后就把最小版本做出来,发个链接出去找五个人试。需求真不真,用的人会告诉你,比你对着三家浏览器文档纠结一周靠谱得多。
至于要不要做成插件、要不要适配Safari,等你确认真有人离不开它,再说也不迟。