核心用法
rn-logs-cli 是一款专为 React Native 开发者设计的轻量级日志采集工具,通过 Chrome DevTools Protocol (CDP) 直接与 Metro bundler 建立连接,绕过传统 MCP (Model Context Protocol) 的中间层开销,实现原生高效的日志流读取。
工具采用纯文本默认输出,针对非交互式 AI Agent 运行场景优化,支持命令行直接集成到自动化工作流中。核心工作流包含三步:通过 rn-logs apps 枚举已连接应用实例,使用 rn-logs logs --app <id> 实时流式获取日志,或通过 --limit 参数截取固定条数的快照日志。
显著优点
1. 零 MCP 开销:直接 CDP 连接消除协议转换延迟,适合高频日志采集场景
2. Agent 友好设计:默认纯文本输出,无 ANSI 转义序列,避免非交互式环境的解析异常
3. 多运行时支持:兼容 npm/bun 全局安装,适配不同 Node.js 生态偏好
4. 灵活过滤:支持按应用 ID 或名称精准定位,处理多实例并发场景
5. 可配置端点:--host/--port 参数覆盖默认 Metro 配置,适配自定义开发环境
潜在局限
- 环境前置依赖:必须预先启动 Metro 服务并运行目标应用,冷启动场景无法自动唤醒
- 本地开发限定:当前仅支持 simulator/device 直连,无远程设备或云构建日志能力
- 无日志持久化:纯流式输出设计,需外部管道配合实现存储或检索
- React Native 专属:与 Flutter、原生 iOS/Android 开发工具链无互通性
适合人群
- 需要为 AI Agent/LLM 构建自动化 RN 调试管道的开发者
- 追求最小依赖、拒绝重量级 IDE 集成的命令行优先用户
- 在 CI/CD 流程中嵌入日志断言测试的 DevOps 工程师
- 频繁处理多应用并发、需快速切换日志上下文的高级用户
常规风险
- 网络配置错误:Metro 默认绑定 localhost,容器化或远程开发环境需显式指定
--host - 版本兼容性:CDP 协议版本与 RN 版本强相关,跨版本升级可能导致连接失败
- 日志泄露:明文传输无加密,公共网络环境存在敏感信息暴露风险
- 资源竞争:高频轮询未连接应用列表可能触发 Metro 性能抖动