与 Bitwarden 官方服务端能力对比
| 能力 | Bitwarden | NodeWarden | 说明 |
|---|---|---|---|
| 网页密码库 | ✅ | ✅ | 原创Web Vault界面 |
全量同步 /api/sync | ✅ | ✅ | 已针对官方客户端做兼容优化 |
| 附件上传 / 下载 | ✅ | ✅ | Cloudflare R2 或 KV |
| Send | ✅ | ✅ | 支持文本与文件 Send |
| 导入 / 导出 | ✅ | ✅ | 支持 Bitwarden JSON / CSV / ZIP 导入(包括附件) |
| 云端备份中心 | ❌ | ✅ | 支持 WebDAV / E3 定时备份 |
| 密码提示(网页端) | ⚠️ 有限 | ✅ | 无需发送邮件 |
| TOTP / Steam TOTP | ✅ | ✅ | 含 steam:// 支持 |
| 多用户 | ✅ | ✅ | 支持邀请码注册 |
| 组织 / 集合 / 成员权限 | ✅ | ❌ | 未实现 |
| 登录 2FA | ✅ | ⚠️ 部分支持 | 当前仅支持用户级 TOTP |
| SSO / SCIM / 企业目录 | ✅ | ❌ | 未实现 |
必要条件
- 你需要有一个 Cloudflare 账号(必须有一个域名和信用卡)
- 一个 GitHub 账号
网页部署
- Fork 本仓库。若本项目对你有帮助,欢迎点个 Star。
- 打开 Workers ➜
Continue with GitHub➜ 选择你 Fork 后的仓库(NodeWarden)➜ 下一步 ➜ (默认使用 R2 存储;若未开通,可用 KV 来代替,将部署命令改为npm run deploy:kv)➜ 部署 ➜ 打开生成的链接储存是否需绑卡单个附件/Send文件上限免费额度R2需要100 MB(软限制可更改)10 GBKV不需要25 MiB(Cloudflare限制)1 GB
设置 NodeWarden
部署成功之后,Cloudflare 会提供一个临时地址,类似 1nodewarden.apipnn.workers.dev,用浏览器打开它,如果打不开,就绑定一个你自己的二级域名。
这个步骤主要有:
- 设置 JWT_SECRET
- 设置主账号与密码
- 设置启用主账号的二次验证

最后一步成功之后,还能选择彻底隐藏这个设置页面:
设置完成。
在客户端登录
打开你的 Bitwarden 官方客户端,在登录的地方选择自托管,并输入 服务器 URL:


之后,在使用刚刚设置页面设置的用户名和密码(如果设置了二次验证,还会要求输入验证码),就可以正常登录啦:

Tip:同步方法(更新仓库):
- 手动:打开你 Fork 的 GitHub 仓库,看到顶部同步提示后,点击
Sync fork➜Update branch - 自动:进入你的 Fork 仓库 ➜
Actions➜Sync upstream➜Enable workflow,会在每天凌晨 3 点自动同步上游。
云端备份说明
- 远程备份支持 WebDAV 与 E3
- 勾选“包含附件”后:
- ZIP 内仍只包含
db.json与manifest.json - 真实附件单独存放在
attachments/ - 后续备份会按稳定 blob 名复用已有附件,不会每次全量重传
- ZIP 内仍只包含
- 远程还原时:
- 会从
attachments/目录按需读取附件 - 缺失的附件会被安全跳过
- 被跳过的附件不会在恢复后的数据库中留下脏记录
- 会从
导入 / 导出
当前支持的导入来源包括:
- Bitwarden JSON
- Bitwarden CSV
- Bitwarden 密码库 + 附件 ZIP
- NodeWarden JSON
- 网页导入器里可见的多种浏览器 / 密码管理器格式
当前支持的导出方式包括:
- Bitwarden JSON
- Bitwarden 加密 JSON
- 带附件的 ZIP 导出
- NodeWarden JSON 系列
- 备份中心中的实例级完整手动导出