核心用法
keys-manager 是一套围绕 keys CLI 构建的本地密钥管理工作流,面向开发者提供终端级 API 密钥与敏感信息的存储、检索、隔离、同步及审计能力。
基础操作:通过 keys add <name> <value> 存储密钥,keys get <name> 或交互式 keys get 检索。keys see 启动 TUI 浏览器,支持模糊搜索、多选复制、一键导出 .env;keys peek 提供遮罩模式,适合屏幕共享场景。
配置隔离:keys profile 实现多项目/多环境密钥隔离,所有命令默认作用于当前激活配置,避免密钥混杂。
工作流集成:keys inject 将密钥以 KEY=VAL 形式注入命令或 Docker 容器;keys env / keys expose 生成环境变量文件或导出语句;keys import 从 .env 批量迁移。
安全特性:macOS 集成 Touch ID,访问密钥需生物认证,同终端会话缓存授权;AES-256-GCM 加密本地存储。
P2P 同步:keys sync serve / keys sync pull 通过 mDNS 自动发现局域网 peer,一次性口令加密传输,实现无云服务的跨设备同步。
审计与检查:keys audit 记录访问频次与时间;keys check 依据 .keys.required 校验必要密钥,适用于 CI 预检。
显著优点
- 零云端依赖:纯本地存储 + 可选 P2P 同步,杜绝云服务商数据泄露风险。
- 生物认证:Touch ID 绑定终端会话,兼顾安全与便捷。
- 开发者体验:TUI 交互、模糊搜索、Docker 兼容、
.env生态无缝衔接。 - 多配置管理:profile 机制天然适配多项目、多租户场景。
潜在缺点与局限性
- 平台限制:Touch ID 仅限 macOS;Linux/Windows 无强制生物认证。
- 网络同步局限:P2P 同步需局域网可达,无法跨公网或 NAT 复杂环境。
- 单点故障:无内置备份,设备损坏且未同步则密钥丢失。
- 审计粒度:仅记录访问事件,不记录具体调用上下文或进程信息。
适合人群
- 多项目开发者,需隔离不同客户/环境的 API 密钥。
- 对云密码管理器持谨慎态度的安全敏感用户。
- 追求终端工作流效率的 DevOps/SRE 工程师。
- 需快速在 CI/CD 中注入密钥的自动化场景。
常规风险
- 终端会话劫持:认证缓存于 shell 会话,若终端保持开放,物理访问者可无认证操作密钥。
- P2P 口令泄露:同步时使用的一次性口令若被截屏或旁听,可能导致中间人风险。
- eval 注入:
eval $(keys expose)模式若keys二进制被篡改,存在命令注入风险。 - 无恢复机制:忘记 profile 或丢失设备且无同步,密钥不可恢复。