Ente Photos 画廊模式(Gallery Mode)完全指南:无账号的端侧本地相册体验
【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente
本文基于 Ente Photos 官方 FAQ 文档 gallery-mode.md,系统讲解如何在不创建账号的情况下使用 Ente Photos:从进入无账号模式、端侧可用的全部功能(人脸识别、魔法搜索、地图、回忆等),到中途注册账号的数据保留机制,再到常见故障排查。读完本文,你将掌握画廊模式的完整使用路径,并理解其背后的源码实现(AppMode 状态机、独立本地 ML 数据库、特性开关等)。
什么是画廊模式(Gallery Mode)
画廊模式是 Ente Photos 提供的一种不需要 Ente 账号的本地相册使用方式:你可以在欢迎页直接选择Continue without account(不创建账号继续),之后应用会读取并展示设备上的照片,供你浏览、搜索和管理,所有能力均基于端侧计算,不依赖云端上传。
在移动端源码中,这一模式被建模为显式的应用状态。参见 app_mode.dart:
// Local gallery shows photos on the device without requiring an account. It may // still use the network for account setup, updates, and model downloads. enum AppMode { enteGallery, localGallery }从源码注释可以明确两点关键事实:
- localGallery(本地画廊)与 enteGallery(云端画廊)是并列的两种 AppMode,画廊模式即对应
localGallery; - 画廊模式并非完全断网——它仍可能使用网络完成账号注册、应用更新以及 ML 模型下载,但核心的浏览与搜索流程完全在设备本地进行,不会上传任何照片。
该模式的选择还会记录到本地设置(ls.app_mode)中,登录后应用切回enteGallery模式,登录/注册相关的首屏逻辑均受此状态驱动。
快速开始:如何不创建账号直接使用 Ente
进入画廊模式
在欢迎页点击Continue without account按钮,按系统提示授予照片库访问权限后,即可直接浏览设备照片,并使用人脸识别、魔法搜索等端侧功能,全程无需注册。
欢迎页的按钮逻辑见 landing_page_widget.dart:主按钮是createAnEnteAccount(创建账号),而continueWithoutAccount按钮被if (localSettings.showLocalGalleryModeOption) ...条件包裹,即只有在特性开关开启时才会渲染。点击后调用_navigateWithoutAccount(),最终触发widget.onStartWithoutAccount()进入画廊模式。
为什么看不到 "Continue without account" 按钮
该按钮由**特性开关(feature flag)**控制,对应本地设置键ls.show_offline_mode_option,默认值为true(见 local_settings.dart)。如果看不到按钮,请:
- 确认已升级到最新版本的 Ente Photos;
- 若仍不出现,说明该特性可能尚未在你所在的地区开放(服务端可远程关闭此开关)。
画廊模式需要哪些权限
- 照片库访问权限(必需):用于展示设备照片。iOS 上建议授予"Allow access to all photos"(允许访问所有照片),以获得完整体验;Android 上授予媒体/照片访问权限即可。
- 网络权限(非必需):画廊模式不上传任何内容,因此不需要网络权限即可浏览照片。
画廊模式下可用的功能
Android 上能否恢复已删除的照片
可以,但取决于系统版本:
- Android 11 及更高版本:从画廊删除的照片和视频会先进入Android 系统回收站。操作路径:打开Albums(相册)标签 → 点击回收站图标 → 选中照片 → 点击Restore(恢复)。每张照片都会显示在永久删除前剩余的保留天数。
- Android 10 及更早版本:从设备删除照片即为永久删除,无法恢复。更多细节可参考 Android 设备回收站说明。
人脸识别需要账号吗
不需要。画廊模式下,人脸识别完全在设备本地运行。可以通过Search(搜索)标签页的横幅启用,或前往Settings > Machine learning开启。所有处理均在本地完成,任何数据都不会离开你的手机。
这一点在源码中有清晰的印证:为了隔离本地画廊与云端账号的数据,Ente 为画廊模式维护了一套独立的本地 ML 数据库实例,例如 db.dart 中的IMLDataDB.localGalleryInstance(Rust 后端为RustMLDataDB.localGalleryInstance,Dart 后端为DartMLDataDB.localGalleryInstance),以及MemoriesDB.localGalleryInstance、ClipVectorDB.localGalleryInstance、宠物识别专用的PetVectorDB.allLocalGalleryInstances等,说明人脸/向量索引在无账号状态下拥有完全独立、隔离的本地存储,不会混入云端数据。
魔法搜索需要账号吗
不需要。自然语言搜索(magic search)同样在端侧运行。开启 ML 后,Ente 会在本地为照片建立索引,之后即可使用类似 "beach sunset"(海滩日落)或 "birthday cake"(生日蛋糕)这样的描述性语句搜索照片。整个索引与检索链路都在设备本地完成。
画廊模式支持地图视图吗
支持。如果照片中包含位置元数据,可前往Settings > Map开启地图视图,地图会依据照片内嵌的 GPS 数据展示拍摄位置。画廊模式还为此单独维护了ls.offline_map_enabled设置项,用于记忆地图功能在本地画廊模式下的开启状态。
画廊模式下回忆(Memories)可用吗
可用。回忆会基于设备上往年的照片,显示在主页画廊的顶部。源码层面,回忆服务的生成条件之一正是mlEnabled && localSettings.showLocalGalleryModeOption(见 smart_memories_service.dart),即本地画廊模式下同样可以生成回忆。
画廊模式下可以收藏照片吗
不可以。收藏(Favorites)属于 Ente 云相册能力,必须拥有账号。画廊模式下你可以浏览和查看全部设备照片,但无法将它们整理进 Ente 相册。
画廊模式下可以分享照片吗
可以分享单张照片。在照片查看器中点击分享按钮,即可通过系统标准分享面板(share sheet)将单张照片分享到其他应用。但Ente 的相册分享、协作相册和公共链接均需要账号才能使用。
从画廊模式注册账号
如何在画廊模式中创建账号
共有三个入口:
- 点击主页画廊顶部的Get started(开始使用)横幅;
- 点击Albums(相册)标签页中的 Enable backup(启用备份)提示;
- 打开Settings(设置),点击顶部的登录卡片。
注册后照片或 ML 数据会丢失吗
不会。设备上的所有照片仍然保留在设备本地,画廊模式下完成的 ML 处理(人脸识别、搜索嵌入向量等)也全部保留。注册账号只是在你现有的本地体验之上叠加云功能。
源码中的_kIsFromLocalGalleryToEnte(ls.pending_backup_selection_from_local_import)设置项印证了这一点:该字段用于把本地画廊首次导入的选择结果带入账号初始化流程(注释原文为 "Carries first-import completion from local-gallery mode into account setup",即“将从本地画廊模式完成的首次导入携带到账号设置流程”),确保从无账号浏览无缝过渡到云端备份时,本地状态能够平滑衔接。
注册后还能回到画廊模式吗
登录 Ente 账号后,应用会切换到已登录(signed-in)模式(即AppMode.enteGallery)。要回到画廊模式,需要注销账号(sign out)。
故障排查
画廊模式下照片不显示
按以下顺序排查:
- 在设备系统设置中检查 Ente 是否具有照片库访问权限;
- 在 iOS 上确认授予的是"Allow access to all photos"(允许访问所有照片),而不是 "Selected photos"(选中的照片);
- 等待首次扫描完成——可留意画廊顶部的状态栏进度;
- 关闭并重新打开 Ente,触发一次新的扫描。
ML 索引速度很慢
端侧 ML 处理需要时间,尤其当照片库较大时更为明显。建议保持应用打开并连接充电器,以加快处理速度。Search(搜索)标签页的 ML 进度横幅会显示当前进度。
应用耗电明显
ML 索引是处理器密集型任务,属正常现象。首次索引完成后,耗电会恢复正常。如果希望暂停索引,可前往Settings > Machine learning关闭 ML。
关键设置项与源码速查
画廊模式相关的核心本地设置键集中在 local_settings.dart,便于开发者对照排查:
| 设置键 | 用途 |
|---|---|
ls.app_mode | 当前应用模式(enteGallery / localGallery) |
ls.show_offline_mode_option | 是否显示 "Continue without account" 入口(特性开关,默认开启) |
ls.offline_flags | 本地画廊功能位图开关(bitmap 存储) |
ls.offline_map_enabled | 本地画廊模式的地图功能开关 |
ls.offline_ml_local_indexing | 本地画廊模式的本地 ML 索引开关 |
ls.offline_get_started_banner_dismissed_at | "Get started" 横幅的关闭时间戳(关闭后 7 天内不再显示) |
ls.pending_backup_selection_from_local_import | 标记本地画廊首次导入结果,供注册账号时衔接备份选择 |
这些设置项与上文的功能一一对应,也解释了为何画廊模式的开关、地图、ML 索引、横幅展示等能力可以在无账号状态下独立记忆各自状态。
小结
画廊模式是 Ente Photos 面向“只想先用起来、暂不注册”的用户设计的完整本地相册体验:浏览、人脸识别、魔法搜索、地图、回忆全部可用,唯独涉及云端组织能力的收藏、相册分享与公共链接需要账号;且随时可以从三个入口注册账号,本地照片与 ML 数据完整保留、无缝过渡。从实现角度看,AppMode枚举、独立的本地 ML 数据库实例以及ls.offline_*系列设置键,共同构成了这一模式“数据不出设备、状态完全隔离”的工程底座。
【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考