这两年我折腾过不少浏览器效率工具,对"新标签页"这块尤其敏感。很多人听到caveman这个词,第一反应是动画片里举着棍子的原始人,但在前端和浏览器工具这个小圈子里,Caveman是一款被不少效率党奉为神器的Chrome新标签页扩展——一个极简到只剩网站图标的书签速拨盘。我最初是被它的名字吸引:都2025年了,还敢管自己叫"原始人"的东西,要么是摆烂,要么就是真返璞归真。用了一段时间之后,我确定它是后者。这篇文章我就把它的设计思路、实操配置、背后的技术取舍,以及我踩过的坑一次性讲清楚。不管你是重度浏览器依赖者,还是收藏了几百个书签却永远找不到入口的普通用户,Caveman这套理念都值得看一看。
1. 先搞清楚:Caveman到底是个什么项目
1.1 名字背后的返璞归真
Chrome扩展的命名江湖里,大多数新标签页工具都在做加法。带壁纸的、带天气的、带待办事项的、带每日一句名言的、带资讯流的,恨不得把新标签页变成一个小型操作系统。Caveman偏偏做减法,它的定位几近偏执:不联网、不收集数据、不推送资讯、不换壁纸,它只干一件事——把你的书签栏用最朴素的方式,变成一个可以一下点中的阵列。
"原始人"这个名字并不是自嘲,反而是一种宣言。想想真正的穴居人生活,没有多余的装饰,一切以生存效率为中心。Caveman要解决的也是效率问题:浏览器书签栏本来是人人都有的资产,但默认的"书签管理器"也好,Chrome的新标签页也好,都没有把这个资产有效地组织成入口。Caveman把书签从"收藏夹里的死链接"重新变成了"随时能点到的活入口"。
我自己的使用场景就很典型。日常要打开的工具站、文档站、后台系统加起来几十个,全凭记住域名首字母来拼URL,时间久了总有几个想不起来。分类收藏又容易陷入"收藏了等于进了仓库,再也没见过"的困境。Caveman最打动我的点,就是它不另外制造一套"速拨分组"需要你重复维护,它直接吃你已有的书签栏数据,你的书签结构好,它的使用体验就好。
1.2 它到底解决了什么问题
往深了说,Caveman解决的是注意力流失问题。大多数新标签页扩展的设计初衷是"好看""丰富",但实际效果是每次打开新标签页,你都会被壁纸、天气、资讯吸引走几秒注意力,然后才想起来自己要干嘛。别小看这几秒,一天打开几十次新标签页,就是几分钟到十几分钟的无意识消耗,积少成多非常可观。
Caveman走的是另一个方向:把新标签页从"信息展台"还原成"出发起点"。打开它,没有大图、没有文案、没有广告位,满屏只有一个个大小一致的网站图标,旁边配上一小行域名文字。你要去哪,一眼扫到,鼠标点走,完事。这个过程没有给大脑留下任何"顺便看看"的窗口。
还有一个很多用户没意识到的问题:Chrome的书签栏本身在显示上有上限,书签一多,要么折叠进菜单,要么靠你手动整理。Caveman等于是把书签栏彻底解放了,所有一级书签全部平铺展示,而且按照文件夹天然分组,找任何网站都不用展开菜单一层层找。所以它解决的第二个问题,是书签管理在"展示层面"的失灵。
2. 核心功能拆解:把书签变成"最快到达的路径"
2.1 基于书签栏的极简速拨
Caveman的打开方式很直接:安装之后,新建标签页就是Caveman的界面。页面上不会出现一个输入框让你手动录入网址,也不会提供"添加站点"按钮,它把Chrome书签栏里你存的所有书签,按照文件夹分组,整齐地排列在页面上。
每个书签在页面上只展示两样东西:网站的favicon(就是标签页上那个小图标)和网站的域名或名称。favicon会被放大显示,视觉上相当醒目。站点名只会在鼠标悬停时完整浮出,平时一行小字就够了。这种设计背后的逻辑是:人的视觉系统对图形图标的识别速度远快于文字,你看到GitHub的章鱼猫图标,比看清"GitHub"五个字母再确认一遍要快得多。我实测下来,常用站点从"打开新标签页"到"鼠标停在目标图标上"基本在半秒内完成。
这里有个非常关键的设计取舍:它直接读取"书签栏"(Bookmarks Bar)的数据,而不是让用户单独维护一套速拨分组。这意味着你在Chrome里存的书签,Caveman天然就能用,不用二次整理。如果你收藏链接用文件夹分了类,Caveman也会按文件夹展示成一组一组的图标区块,文件夹名就是区块标题。这种"从书签栏长出来"的设计,让我这种收藏了几百个链接的人省掉了大量迁移成本。
2.2 极简搜索框与键盘流操作
别以为Caveman只有静态展示,它还有一个少有人注意到的杀手锏:顶部的极简搜索框。你在Caveman界面里直接敲键盘,会自动聚焦到这个搜索框,然后它会实时过滤当前所有的书签,匹配的结果会即时缩窄,按回车直接打开第一个匹配项。
这个功能看似不起眼,但在书签数量上百之后堪称救命稻草。我收藏的站点里有好几个名字相近的,比如"GitLab"和"GitHub",图标识别容易在脑子里绕一下。搜索框一输入"git",两个结果同时出来,按上下键选择,回车确认,三步到位。它还支持中文名称匹配,如果你的书签名称带中文,过滤效果一样好。
搜狗输入法不背这个锅,我是说,键盘流用户应该重点练习这套组合操作:打开新标签页、敲两三个字母、回车,整个过程不超过两秒。Caveman的搜索是纯本地过滤,不联网、不提交关键词,速度完全取决于本机书签数量,实测几百个书签时没有任何卡顿。它还把"最近访问"或者高频站点稍微区分了视觉层级——不过这个细节不同版本有差异,我这里不做硬性保证,反正整体逻辑就是让高频路径最短。
2.3 视觉克制:favicon才是主角
很多人第一次打开Caveman会觉得"这页面也太简陋了",但用久了就会明白,这种克制是有意为之。Caveman没有背景大图,没有天气小组件,没有每日鸡汤,默认就是纯色背景加上一堆图标,干净得不像这个时代的产物。
它的视觉层级极其简单:背景最弱、文件夹标题其次、favicon最强。这意味着你的眼睛在任何时刻扫过页面,看到的优先级都是"图标 > 分组名 > 留白",没有第四个干扰元素。这种设计其实是刻意模仿了手机桌面的逻辑——你打开手机桌面,不会希望桌面壁纸抢过App图标的视觉权重,因为App图标才是你要点的东西。
暗色模式也是我特别喜欢的点。Caveman的暗色不是简单把背景涂黑,而是把图标的对比度重新调整,让favicon在深底上依然清晰可辨。我晚上写代码时开暗色模式,长时间盯新标签页也不会觉得刺眼。这点对于夜猫子型程序员来说,比任何壁纸美化都实在。
3. 实操配置:从安装到符合个人习惯的调校
3.1 安装与启用
Caveman的安装流程很简单,在Chrome应用商店搜索"caveman"就能找到,认准是开源的那个版本。安装完成后,默认打开新标签页就会直接进入Caveman界面。如果想临时回到Chrome默认的新标签页,点击浏览器右上角的Caveman图标切换一下即可,这个开关是即时的。
这里要提醒一点:如果你电脑里同时装了其他新标签页扩展,它们之间会打架。Chrome对于新标签页覆盖这个入口只允许一个扩展生效,后装的通常会把先装的顶掉。我一开始图新鲜装了某款壁纸类新标签页扩展,结果发现Caveman怎么都启用不了,排查了半天才意识到是新标签页入口被占用了。解决方案很简单:把其他同类扩展先停用,再启用Caveman,刷新页面就好了。
另外一个关于权限的细节:Caveman需要读取书签数据的权限,安装时Chrome会弹出权限提示,放心给就行。它的数据完全是本地处理的,书签信息不会上传到任何服务器,这也是它不需要联网权限的原因。我个人的原则是,能不给权限就不给权限,Caveman这种只申请必要权限的扩展,用起来心理负担小很多。
3.2 书签结构设计:决定使用体验的关键一步
Caveman的使用体验,六成取决于你的书签结构,三成取决于你的清理习惯,一成才是扩展本身的设置。这话可能有点绝对,但在我推荐给十几个朋友之后,反馈基本印证了这一点。书签分类清晰的人,用Caveman如虎添翼;书签全堆在"其他书签"里的人,打开Caveman就是一锅粥。
我的建议是,在Chrome书签管理器里先做一次大扫除,建立一套符合自己使用习惯的文件夹结构。拿我自己的为例:
书签栏 ├── 1_工作 │ ├── 项目管理 │ ├── 设计素材 │ └── 内部系统 ├── 2_学习 │ ├── 前端文档 │ ├── 后端文档 │ └── 算法刷题 ├── 3_生活 │ ├── 常用工具 │ ├── 影音娱乐 │ └── 购物 ├── 4_临时收集 └── 5_常驻直达这套结构的关键点是:第一层文件夹全部用数字前缀编号,这样Caveman里的分组展示就有固定的排列顺序;第二层文件夹不宜超过十来个,否则页面会显得拥挤;"常驻直达"这个文件夹我放的是那种天天都要打开的高频站点,不需要再分二级。
Caveman会把书签栏下的所有内容平铺展示,也就是说,第一层的每一个文件夹、每一条直接书签,都会出现在页面上。如果把顶层书签塞了三四十条,又没有用文件夹归类,那页面就会非常长。所以我的经验是,顶层条目控制在十个左右,剩下的都收进文件夹里。
3.3 几个提升体验的微调技巧
书签名称是Caveman搜索功能的数据基础,所以书签命名很讲究。我给每个书签命名时都会确保名称里包含两个以上的可辨识关键词,比如"GitHub - 代码托管",这样搜索"git"能出来,搜索"托管"也能出来。千万不要把所有书签都命名成"官网""首页"这类垃圾名,那搜索功能等于被废掉。
定期清理死链也是必修课。书签里躺着一堆失效链接,Caveman页面上的图标就会缺失,变成占位符或者灰色圆点,很影响视觉。我大概每个月花五分钟,把书签管理器里的失效链接删掉,顺便把不再用的工具站清理出常用区。这个习惯不仅让Caveman更清爽,也让Chrome整体书签质量更高。
Caveman还支持自定义每个文件夹是否展开或者折叠。如果你某个分类是低频访问区,比如"临时收集",可以把整个分组折叠掉,页面上只留一个标题行,需要时再展开。这个功能对书签量大的人特别友好,让页面始终保持在一个可扫视的长度。
4. 技术实现层面:为什么它这么快
4.1 原生JavaScript零依赖
作为一个平时也写前端的人,我特意把Caveman的源码翻了一遍。最直观的感受就是:它完全没有依赖任何框架和构建工具,就是纯原生JavaScript,直接操作DOM。这在今天的Web开发环境里几乎算得上"异类"了,但正是这种异类选择,成就了它的速度。
扩展应用和普通网站有一个本质区别:普通网站可以慢慢加载、用框架构建、做各种初始化,用户容忍度高;但新标签页扩展是你每次打开新标签页都要执行的,必须做到毫秒级响应。如果Caveman像普通网站那样引入整个前端框架库,哪怕什么都不干,光解析和执行框架本身的代码就要耗费几十毫秒甚至更多。而原生JS下,从页面加载到所有favicon渲染完成,几乎察觉不到延迟。
还有一个被很多人忽略的点:依赖越少,攻击面和出bug的概率就越小。一个不引入第三方库的扩展,没有供应链风险,没有依赖API变动的兼容性问题,代码行为完全可控。对于讲究安全合规的职场环境来说,这种"看得见所有代码"的轻量扩展反而更让人放心。
4.2 书签API与数据同步机制
Chrome给扩展提供了访问书签的API,Caveman主要用到的是chrome.bookmarks.getTree(),一次性拿回整个书签树形结构,然后在本地构建展示数据。因为书签数据量通常很小,几百条最多几千条,这个API调用是瞬间完成的,不需要做分页或者懒加载。
有意思的是,Caveman并不是每次打开都重新读取书签。它会做本地缓存,并且监听书签变化事件。你在Chrome书签管理器里增删改一条书签,Caveman都能实时感知并更新页面,不需要手动刷新。这个机制在体验上很加分,我一边整理书签一边看着Caveman页面跟着变化,有种"工具箱连着工作台"的感觉。
同步方面,Caveman直接使用Chrome自带的书签同步,把书签数据结构交给浏览器处理。这意味着你在办公电脑上整理好的书签结构,回家打开家用电脑的Chrome,登录同一个账号后,Caveman自动就是同样的布局。它自己不搞一套云同步,省去了账号体系的复杂度。对用户来说,少注册一个账号就是少一个信息泄露的入口。
4.3 渲染取舍:图标缓存与极致性能
favicon的获取一直是这类扩展会遇到的技术难题。Chrome内部其实有一个隐藏的favicon服务,扩展可以通过特制URL拿到任意域名的图标。Caveman的做法是首次获取到图标后,在本地做持久化缓存,后续访问直接读缓存,不再重复请求网络。
这种"先网络后本地"的策略,保证了首次配置后,绝大多数情况下页面是无网络请求的。我在弱网环境下测试过,Caveman依然能秒开,因为所有图标都已经是本地资源了。相比之下,有些带壁纸的新标签页每次打开都要拉一张大图,网络差的时候白屏好几秒,体验天差地别。
在渲染层面,Caveman也没有用复杂的虚拟列表技术。它直接渲染当前视图下的全部图标,因为favicon本身尺寸就小,即使一次渲染几百个节点,对现代浏览器来说也构不成压力。这种"大力出奇迹"的做法反而让代码更简单可靠,不需要处理滚动位置、回收节点等复杂逻辑,也不容易出现滚动白屏的bug。
5. 常见问题与排查技巧实录
5.1 一组高频率问题的速查表
| 症状 | 原因 | 处理办法 |
|---|---|---|
| 新标签页没有变成Caveman | 其他新标签页扩展抢占入口 | 停用其他同类扩展,重启浏览器 |
| 安装了但刷新无效 | Chrome没刷新扩展状态 | 去扩展管理页把Caveman停用再启用 |
| 部分站点favicon不显示 | 站点本身没提供图标 | 换有图标的页面重新收藏,或忽略 |
| 书签修改后Caveman没变化 | 扩展监听偶尔失灵 | 重启浏览器或重新启用扩展 |
| 多台设备书签不一致 | Chrome同步延迟 | 确认所有设备登录同一账号并开启同步 |
| 搜索框打不开 | 输入焦点被其他元素抢走 | 点击页面任意留白处再重新键入 |
5.2 隐藏比较深的几个坑
第一个坑是我在上面提到的"新标签页入口被占用",但它的变体很迷惑人:有时候扩展设置里明明显示启用,新建标签页却是空白页面或者系统默认页。这通常是因为浏览器自动停用了来源不明的扩展。解决办法是去Chrome扩展管理页面,开启"允许此扩展"的开关,重新加载。如果还是没有效果,干脆把Caveman移除再重新安装,配置虽然重来,但大概率能恢复。
第二个坑和书签命名有关。我看到有人反馈说搜索某个书签死活搜不到,后来发现是书签名称里带了括号和特殊符号,比如"XX系统(测试环境)",Caveman的正则过滤处理这些符号时表现不够完美。我自己的做法是,书签命名尽量用纯中文和数字字母,不用括号、引号这类标点,搜索和匹配都稳定很多。当然,这也和我之前说的定期清理书签是配套动作。
第三个坑是Chrome书签同步偶尔给Caveman"投毒"。当你新建了大量书签,浏览器后台同步还没完成时,Caveman可能只显示部分书签,看起来就像数据丢了。这时候别急着重建,先手动触发了浏览器同步再刷新页面,通常就全回来了。这个现象尤其在"刚迁移电脑、导入了大量书签"的场景下容易遇到,我建议导入书签后先等一两分钟,再进行浏览操作。
6. 一些想单独拎出来说的经验之谈
我用了Caveman快半年,期间也尝试过其他新标签页方案,最后还是留下了它。最让我感慨的不是它的速度,而是它帮我改变了一个小习惯:以前打开新标签页,我总会有几秒钟"不知道要去哪"的放空时间,然后鬼使神差地去点一下社交网站图标。现在Caveman把最近常用的站点按我自己的书签结构摆在页面上,视线到达目标图标之前,几乎没有任何"顺路瞥见诱惑"的窗口。
另一个值得说的经验是:极简工具体验好不好,往往取决于你愿不愿意花时间做"没有技术含量"的整理工作。Caveman不会自动帮你分类书签,也不会判断哪些站点该留在常驻区,这些脏活累活都得自己干。但反过来说,正因为它是无脑依赖你的书签结构,它才那么轻、那么快、那么持久稳定。工具替你做了排序和呈现,你负责提供结构和品味,这样的协作关系在软件领域其实很少见。
如果你现在书签栏一团乱,我的建议是不要急着装这个扩展,先花半小时把书签按文件夹整理好,再开Caveman,你会立刻体会到什么叫"新的标签页像自己家客厅一样舒服"。反过来,如果你装了以后觉得"就这?",不妨检查一下是不是自己的书签结构本身就是一座没分类的原始人洞穴——这怨不得工具。