Monica for Android
Monica 的本地密码库 Android 客户端
Android 8.0+ · Jetpack Compose · MDBX / Bitwarden / KeePass · AutoFill · TOTP · WebDAV
摘要
Monica for Android 是 Monica 密码库生态中的原生 Android 客户端,采用 本地优先 的设计理念,专注于在 Android 手机上提供安全、可控、可恢复的密码管理体验。 ✨
主要特性:本地 Vault、Bitwarden 聚合、KeePass 兼容、AutoFill、TOTP、WebDAV。
Monica for Android 是聚合 Bitwarden 与 KeePass 的本地密码库(Local Vault)。它以本地存储优先为核心,帮助你在 Android 手机上统一管理账号密码、2FA、私密笔记与敏感附件,同时支持可选的 WebDAV 备份恢复与跨平台数据同步。
项目当前以 本地优先、Bitwarden 兼容、KeePass 聚合、MDBX 全面化、Android 8.0+ 为核心路线,重点围绕本地加密保险库、原生 AutoFill、TOTP、生物识别、Passkey、WebDAV 备份恢复以及多类型条目管理展开。
适合谁使用 ✅
Monica for Android 适合以下用户:
- 希望使用本地优先方案管理密码,不愿将核心凭据托管给第三方云服务。
- 既使用 Bitwarden,也维护 KeePass (
.kdbx) 数据,需要统一入口管理。 - 需要在 Android 日常使用中完成 AutoFill 自动填充、生物识别解锁、TOTP 管理。
- 希望通过自有 WebDAV 基础设施实现离线或低延迟的跨设备数据备份与恢复。
当前功能 🎯
本地 Vault
- 支持创建、打开、锁定本地加密保险库
- 采用本地优先策略,降低对外部服务的依赖
- 支持 MDBX 与传统加密数据库格式
多生态聚合
- Bitwarden 兼容:支持 Bitwarden API 同步、导入导出、账户关联
- KeePass 兼容:原生支持
.kdbx文件读写与导入迁移 - MDBX 本地格式:Monica 自研的嵌套加密数据库格式,支持版本历史与冲突检测
多类型条目管理
- 支持登录项、安全笔记、银行卡、身份证件、TOTP 等基础 CRUD
- 每条目支持附件存储
- 支持收藏、标签、文件夹分类
收藏与搜索
- 支持收藏优先视图
- 支持按标题、域名、标签快速检索
- 支持全文搜索
TOTP 与二次验证
- 支持
otpauth://URI 导入 - 支持二维码导入(通过相机或图库)
- 支持验证码生成与实时刷新
Android 原生集成
- 自动填充(AutoFill):系统级密码填充能力,兼容大多数应用与浏览器
- 生物识别:Face ID / 指纹解锁,基于 BiometricPrompt 集成
- Passkey / Credential Provider:Android 14+ 通行密钥支持
- 后台备份:WorkManager 定时 WebDAV 自动备份
WebDAV 备份恢复
- 支持上传、下载、完整性校验(SHA-256)
- 支持恢复预览与版本选择
- 支持恢复前验证
当前状态 ⚡
- 项目处于活跃开发与持续维护阶段
- Android 8.0 - 15 设备广泛支持;某些新特性(如 Passkey)需要 Android 14+
开发信息 👨💻
技术架构
UI 层 (Compose)
↓
ViewModel / ViewModel State
↓
Repository Pattern
↓
Room Database + Keystore + Biometric
↓
Bitwarden API / KeePass Library / MDBX FFI
↓
WebDAV / Encryption / Security核心技术栈 ⚙️
- UI 框架:Jetpack Compose + Material 3 + Navigation Compose
- 数据层:Room(SQLite ORM)+ DAO + Repository
- 状态管理:ViewModel + Kotlin Flow + DataStore Preferences
- 依赖注入:Koin(应用启动于
MonicaApplication) - 安全能力:Android Keystore、EncryptedSharedPreferences、BiometricPrompt
- 后台任务:WorkManager(
AutoBackupWorker用于自动 WebDAV 备份) - 网络与协议:Retrofit + OkHttp(Bitwarden API)、kotpass(KeePass)、sardine-android(WebDAV)
- 异步框架:Coroutines + Flow
- 扫描与识别:CameraX + ML Kit(二维码)、Credentials API(Passkey)
项目分层(代码结构) 📁
takagi/ru/monica/ui:Compose 页面与组件takagi/ru/monica/data:Room 实体、DAO、数据库迁移takagi/ru/monica/repository:数据访问封装与聚合takagi/ru/monica/security:加密、密钥与鉴权takagi/ru/monica/bitwarden:Bitwarden API、加密、同步、ViewModeltakagi/ru/monica/autofill:AutoFill 服务与流程takagi/ru/monica/passkey:Android 14+ Credential Provider 集成takagi/ru/monica/workers:后台任务(如自动 WebDAV 备份)
安全模型 🔐
- 加密算法:AES-256-GCM(认证加密)
- 密钥派生:PBKDF2-HMAC-SHA256(高迭代参数)
- 本地保护:主密码哈希与安全配置由 Android Keystore 管理
- 网络边界:仅用于 Bitwarden API 同步、WebDAV 备份/恢复及二维码更新
构建与依赖 📦
- JDK:17+
- Android Studio:最新稳定版
- 编译配置:
compileSdk 35,targetSdk 34,minSdk 26 - 构建工具:AGP
8.6.0,Kotlin2.0.21,Compose BOM2026.03.00 - 版本管理:见
gradle/libs.versions.toml与app/build.gradle
快速构建命令
构建调试 APK:
./gradlew :app:assembleDebug运行单元测试:
./gradlew test运行 Android 仪表测试(需连接设备或启动模拟器):
./gradlew connectedAndroidTest路线图 🚦
稳定版重点
- MDBX 本地 Vault 核心能力
- Bitwarden 兼容导入/同步
- KeePass
.kdbx读写 - 多类型条目管理
- Android AutoFill 支持
- TOTP 与二维码
- WebDAV 备份恢复
持续推进
- 生物识别体验深化(Face / 指纹)
- Passkey 真机验收(Android 14+)
- 离线搜索性能优化
- MDBX 全面迁移与兼容
后续能力
- 更多云服务同步(OneDrive、Google Drive 等)
- 浏览器插件联动
- iOS 版本数据同步
- 高级加密与安全审计
- Widget 与快速访问
致谢 🙏
Monica 的设计、兼容性适配与部分功能方向,受到了以下优秀开源项目和软件的启发与帮助:
- Keyguard - Android 端密码管理器的交互设计与体验参考
- Bitwarden - 开源密码管理生态、Vault 模型与同步能力的重要参考
- KeePass - 本地密码库理念与
.kdbx生态兼容的重要基础 - Stratum Auth - 身份验证器体验、图标资源与相关兼容支持参考
Star History
许可证
Copyright (c) 2025 JoyinJoester
Monica for Android 基于 GNU General Public License v3.0 开源发布。
第三方图标标注
- 本项目本地打包了来自 Stratum Auth app 的图标资源(版本 v1.4.0,目录 icons / extraicons,GPL-3.0)
- 品牌名称与 Logo 的商标权归各自权利人所有
