事情是这样的
话说前段时间,微软突然来了个「背刺」操作——Authenticator 的密码自动填充功能直接下线了1
更要命的是,想导出 OTP 密钥还得 root 手机… 这不是逼我找新家嘛 😅
开始我的「白嫖」之旅
本着「能免费绝不花钱」的优良传统,我经过一番折腾,最终锁定了 BitWarden:
- 个人免费使用
- 可以自建服务器2
看起来很完美对吧?但是用了一段时间后,我发现了几个让人头疼的问题:
- 免费版不支持OTP自动填充
- Android 客户端 用起来总觉得差点意思,体验不够丝滑
救星出现了
正当我准备妥协的时候,在翻找第三方客户端的过程中,我发现了 KeyGuard!
注意,KeyGuard 是一个第三方客户端,虽然支持 BitWarden 的 API,但并不是官方的客户端,请自行验证安全性。 不要使用来历不明的客户端,尤其是涉及密码管理的应用,务必谨慎选择和使用!
同时,下文可能混称 KeyGuard 和 BitWarden,请读者注意区分,KeyGuard 是一个第三方客户端, 而 BitWarden 是一个密码管理服务。KeyGuard 并不提供密码管理服务,而是通过兼容 BitWarden 的 API 来实现密码管理功能的客户端应用。
支持 Android、Windows、Mac、Linux 全平台,而且界面做得相当不错:

配置攻略
Android 端
- GitHub Release 直接下载安装包(免费且功能完整)
- Google Play 版本需要付费才能编辑(有点坑)
Windows 端
直接从 GitHub Release 下载最新版本的安装包,安装后即可使用。
浏览器扩展
想要 OTP 自动填充?没问题!可以修补官方浏览器扩展来实现。3
| |
具体操作可以参考这个项目:Sunsetvault
后记
在高强度使用了大概6个月之后,我有一些经验和感想想分享给大家:
在HyperOS3环境下如何设置为默认password manager
由于国行HyperOS魔改了系统设置4,导致可能需要一些特殊手段才能将KeyGuard设置为默认密码管理器。以下是一些可能的解决方案:
以下方法来自LinuxDo@L1Xu4n5,虽然主要针对Passkey,但同样适用于KeyGuard:
设备:红米K80Pro 系统:HyperOS3 3.0.3.0,安卓版本16
1.设置>指纹,面部与密码>智能密码管理>关闭 自动填充密码与通行密钥
2.设置>更多设置>语言与输入法>密码与账号
首选服务,先选择无,然后选择“小米智能密码管理”或“Google”或“Edge”
在其他服务中勾选Google,如果首选服务为Google,其他服务没有这一项,不需要勾选
回到Github登录界面,Use Passkey,成功调出窗口!
需要注意的是,经过我的实测,你可以先选择无,再选择Edge/Google,然后其他服务选择Keyguard, 最后再把首选服务切换到KeyGuard,这样就能成功设置KeyGuard为默认密码管理器了。
具体选择哪种方法可以根据个人习惯和系统版本来决定。
如何验证我的是否成功设置了?
你可以自行尝试在webauthn等支持Passkey的网站上登录,看看是否能够成功调出KeyGuard的登录界面。 如果能够成功调出,并且使用KeyGuard进行登录,那么就说明你已经成功设置了KeyGuard为默认密码管理器了。
如下图所示:

死锁
请注意,不要使用KeyGuard的OTP功能来登录KeyGuard的账户,否则可能会导致死锁,无法登录KeyGuard了。
你可以备份你的KeyGuard OTP密钥,使用Google Authenticator等其他OTP工具来登录KeyGuard账户, 同时确保你的邮箱账户也有备份,确保能接受到KeyGuard的登录验证码。
为什么我的没有起效?
有案例称,你可能需要同时安装BitWarden官方APP才能成功使用KeyGuard的Passkey功能, 虽然我个人没有遇到过,但如果你在使用过程中遇到了问题,可以尝试安装BitWarden官方APP来看看是否能够解决问题。
同时有部分讨论称,Edge/Chrome等浏览器需要手动开启flag才能使用,以下引用自小米社区@故铃6:
应急措施:手机 Chrome/Edge 浏览器,可通过将 Flags(chrome://flags/#web-authentication-android-credential-management)设置为 false, 临时改用浏览器内的凭据管理器,即可实现传统的 Passkey/MFA 体验,正常利用包括硬件密钥在内的 Passkey 进行认证,登录网站。 App 内的 Passkey 支持目前比较玄学,不能保证 100% 成功。
