沙盒容器:Cookie 和浏览数据的物理隔离
什么是沙盒容器
沙盒(Sandbox)是 Hermit 的 Premium 功能核心,也是它在安卓浏览器里的差异化杀手锏。官方功能页的对比表上,Hermit 在"Sandboxed Containers"这一项上打了勾,而 Chrome 和 Firefox 在安卓端都没有这个能力。
原理很简单:每个沙盒是一个独立的 WebView 进程,有自己的 Cookie 存储、浏览历史、缓存和登录状态。同一网站的不同沙盒之间完全物理隔离,你在沙盒 A 里登录的账号,沙盒 B 完全看不到。

为什么安卓端独此一家
Hermit 帮助文档里有一个专门的页面叫"Claims of Sandboxing in Other Apps",专门用来解释为什么安卓上其他浏览器做不到:
- Chrome Android:不支持多 Profile/容器
- Firefox Android:不支持容器(桌面端有,安卓端砍了)
- 其他浏览器:要么用同一个 WebView 进程共享 Cookie,要么用隐身模式临时隔离
"隐身模式"不是真的沙盒——它只在该窗口内临时不记录历史,但退出后清除所有数据;真要同时在线好几个账号,隐身模式帮不上忙。
沙盒 vs 隐身模式 vs 多 Profile
| 维度 | 沙盒(Hermit) | 隐身模式 | 多 Profile |
|---|---|---|---|
| 数据隔离 | ✅ 永久、多窗口并行 | ⚠️ 临时、单窗口 | ⚠️ 切换不便 |
| 同时在线 | ✅ 多个窗口同时开 | ❌ 只能一个隐身窗口 | ❌ 切 Profile 才能切 |
| 独立配置 | ✅ 主题、拦截规则各自保存 | ❌ 跟正常窗口共享 | ⚠️ 部分独立 |
| 安卓兼容性 | ✅ 原生支持 | ✅ | ❌ Chrome Android 不支持 |
官方是怎么实现的
Hermit 没有自己实现渲染引擎,而是在 Android WebView 之上做了多进程管理。每个沙盒对应一个独立的 WebView 实例,数据路径也完全分开。配置沙盒时需要选一个颜色标记,之后在多窗口模式下能一眼看出当前在哪个沙盒里。
怎么才叫真沙盒
Hermit 在帮助文档里还特别提醒了一点:真正的沙盒隔离要在同时使用时才能验证。官方推荐的测试方法是:
- 分屏模式同时打开同一个网站的两个沙盒
- 在一个沙盒里登录账号 A,另一个沙盒里登录账号 B
- 确认两边的状态完全独立、互不干扰
如果只是切换应用先后打开,那不算"同时使用"——安卓会把前一个应用暂停,数据隔离状态可能跟同时跑时不一样。