核心用法
ravi-inbox 是 Ravi 生态中专门用于读取(非发送)短信和邮件的工具,主要服务于双因素认证(2FA)、账户验证等场景。其核心能力包括:
- SMS 会话管理:按发送方分组查看短信对话,支持未读消息筛选,通过
conversation_id(格式为{phone_id}_{from_number})获取完整对话历史 - Email 线程管理:类似的邮件线程浏览模式,可提取包含验证链接的完整邮件内容
- 扁平化消息访问:通过
ravi message子命令直接按消息 ID 访问,绕过会话分组
典型工作流为:触发验证 → sleep 5 等待送达 → 拉取未读消息 → 用 jq/grep 提取 OTP 或链接。
显著优点
1. 结构化数据优先:强制 --json 输出,天然适配自动化脚本和 CI/CD 流水线
2. 会话抽象合理:短信按对话分组、邮件按线程组织,符合用户认知习惯
3. 验证场景闭环:与发送类技能(ravi-email-send)和凭证管理类(ravi-passwords/ravi-vault)形成完整分工
4. 查询灵活性:同时提供聚合视图(inbox)和原子视图(message),满足不同粒度需求
潜在局限
- 仅支持接收:明确禁止用于发送邮件,需配合其他技能使用
- 无主动推送:需轮询(poll)而非订阅式接收,延迟依赖外部定时逻辑
- 依赖 Ravi 身份:所有消息必须发送至
@ravi.app域或绑定的手机号,无法读取用户既有邮箱 - 无内容过滤:需自行用
jq/grep提取有效信息,无内置验证码识别
适合人群
- 自动化测试工程师(E2E 流程验证)
- 开发者构建账户注册/登录自动化
- 需要临时接收验证码的安全研究者
常规风险
- 敏感信息泄露:OTP 和验证链接以明文 JSON 输出,日志需脱敏处理
- 时序竞态:邮件/短信送达延迟 2-10 秒,脚本需可靠重试机制
- 会话 ID 混淆:
conversation_id包含phone_id,多号码场景需正确解析