核心用法
ravi-passwords 是一款面向终端用户的端到端加密密码管理工具,专为存储网站登录凭证(域名/用户名/密码)设计。用户通过 CLI 完成全流程操作:创建条目时可自动提取基础域名(如将 https://mail.google.com/inbox 归一化为 google.com),支持手动指定或自动生成高强度密码(可配置长度、字符集);通过 UUID 索引实现精准检索、更新与删除。所有加密/解密过程由 CLI 透明处理,用户交互层面始终呈现明文。
关键设计原则:
- 强制 JSON 输出(
--json)确保下游可解析 - 自动密码生成器支持长度、特殊字符、数字等细粒度控制
- 明确区分使用场景:API 密钥/环境变量应使用
ravi-vault,消息读取使用ravi-inbox
显著优点
| 维度 | 特性 |
|------|------|
| 安全架构 | 端到端加密,服务端仅存储密文 |
| 易用性 | 域名自动清洗、密码一键生成、CLI 透明加解密 |
| 可集成性 | 结构化 JSON 输出,便于脚本化与自动化工作流 |
| 场景聚焦 | 清晰边界,避免与 vault/inbox 功能重叠 |
潜在局限
1. CLI 依赖:无 GUI/Web 界面,纯命令行交互对非技术用户存在门槛
2. 单点风险:若用户丢失本地密钥或 CLI 配置,E2E 加密特性将导致数据不可恢复
3. 元数据暴露:list 命令返回的域名、用户名、创建时间为明文存储(仅密码加密),存在轻度隐私泄露风险
4. 无共享机制:当前设计未支持团队共享或紧急联系人功能
适合人群
- 开发者与 DevOps 工程师,需脚本化密码管理
- 注重隐私的技术用户,偏好本地可控的 E2E 加密方案
- 已使用
ravi生态其他工具(vault/inbox)的用户,寻求场景分离的最佳实践
常规风险
- 密钥管理责任:用户须自行备份 CLI 配置/密钥,厂商无法协助恢复
- UUID 泄漏:条目 UUID 若被第三方获知,可枚举元数据(虽无法解密密码)
- 剪贴板安全:密码解密后可能暂存于终端历史或剪贴板,建议配合专用密码填充工具使用
- 混淆误用:需严格区分
passwords(网站登录)与vault(API 密钥),错误选型可能导致权限管理混乱