核心用法
Redshift 是一款基于 Nostr 协议的去中心化密钥管理 CLI 工具,采用 NIP-59 Gift Wrap 协议实现客户端端到端加密,所有密钥均加密后分布式存储于 Nostr Relay,无任何中心化服务端参与。
主要功能模块
1. 身份认证与密钥管理
redshift login:支持交互式登录、直接导入 nsec 私钥、NIP-46 Bunker 远程签名及 NostrConnect 连接redshift me/logout:身份查看与登出- CI/CD 环境可通过
REDSHIFT_NSEC或REDSHIFT_BUNKER环境变量免交互认证
2. 项目与环境隔离
- 通过
-p(project) 和-c(config/environment) 实现多项目、多环境密钥隔离 redshift setup生成redshift.yaml配置文件,支持本地目录级环境管理- 支持
dev/staging/production等任意环境 slug
3. 密钥操作
- CRUD 完整支持:list/get/set/delete secrets
- 多种输出格式:
--json、--raw、--only-names - 批量导入导出:支持 JSON/ENV/YAML/Docker 格式,
--copy直写剪贴板
4. 运行时注入 (`redshift run`)
- 将密钥作为环境变量注入任意命令:
redshift run -- npm start - 文件挂载模式:
--mount secrets.json - 离线回退:
--fallback本地加密文件备用 - 环境变量保留:
--preserve-env防止覆盖现有变量
5. 本地 Web UI
redshift serve启动本地 HTTP 服务(默认 127.0.0.1:3000),支持浏览器可视化管理
显著优点
- 去中心化架构:基于 Nostr 开放协议,无单点故障,Relay 可自建或自由选择
- 零信任安全模型:端到端加密,Relay 仅存储密文,无法解密
- 开发者体验优化:类 Unix CLI 设计,ENV 无缝兼容,支持多环境快速切换
- CI/CD 原生支持:环境变量认证 + 非交互模式,完美适配自动化流水线
潜在局限与风险
- Relay 可用性依赖:若配置的 Relay 集体离线,密钥读取失败(
--fallback可缓解) - 密钥管理责任:用户自行保管 nsec 私钥,丢失即永久无法恢复密钥
- Nostr 生态成熟度:相比 HashiCorp Vault/AWS Secrets Manager,企业级审计、细粒度 RBAC 缺失
- 无历史版本:删除操作不可逆,无内置密钥版本控制
- Bunker URL 注入风险:shell 对
&字符的特殊处理需强制引号包裹
适合人群
- 个人开发者、开源项目维护者追求去中心化密钥方案
- 小型团队需要低成本、无服务器 secret 管理
- Nostr 生态用户、隐私优先场景的 DevOps 工程师
- 希望避免云厂商 vendor lock-in 的边缘部署场景
常规风险提示
- 生产环境建议配置多个 Relay 并启用
--fallback本地备份 - nsec 私钥应存储于硬件密钥管理器或加密 vault,禁止硬编码
- Bunker 模式虽提升安全性,但引入额外网络依赖与配置复杂度