核心用法
roadrunner(rr)是 Beeper Desktop 的非官方 CLI 工具,通过本地 API 与 Beeper 客户端交互。核心功能覆盖四大模块:
1. 账户与联系人管理:rr accounts list 查看绑定账户,rr contacts search/resolve 跨账户搜索联系人
2. 聊天操作:rr chats list/search/create/archive 管理会话,--scope=participants 可按参与者名称查找
3. 消息处理:rr messages list/search/send/tail/wait 支持发送、轮询、条件等待等高级操作,--download-media 可自动下载附件
4. 工作流增强:rr focus 控制应用焦点与草稿,rr reminders 设置聊天提醒,rr unread 汇总未读
安全特性突出:--agent 模式强制 JSON 输出与只读安全策略,--readonly 完全禁止写入,--enable-commands 实现命令白名单,--envelope 提供结构化错误封装。
显著优点
- 自动化友好:完整的 JSON API、
--no-input无人值守、stdin/文件输入、环境变量覆盖(BEEPER_TOKEN/BEEPER_ACCOUNT) - 功能深度:消息上下文查询、条件等待(
--contains+--wait-timeout)、附件下载、草稿预填充 - 多账户支持:账户别名机制,跨平台(iMessage/Slack/WhatsApp 等)统一操作
- 分页与过滤:cursor 分页、时间范围、媒体类型、发件人等精细过滤
潜在局限
- 依赖桌面端:必须保持 Beeper Desktop 运行,无法独立工作
- 搜索语义弱:消息搜索为字面词匹配,非语义/向量搜索
- 联系人解析严格:
contacts resolve遇歧义名称直接失败,需先search再按 ID 操作 - 生态封闭:仅限 Beeper 平台,无法桥接其他 Matrix 客户端
适合人群
- 需批量处理消息的高级用户
- 构建个人自动化工作流的开发者
- 偏好终端效率、反感 GUI 切换的键盘派
常规风险
- Token 泄露:
~/.config/beeper/config.json存储凭证,需严格权限控制 - 意外发送:
--force与--no-input组合可能绕过确认,建议生产环境用--readonly或白名单 - 历史扩展冲突:bash/zsh 的
!触发历史展开,需用单引号或禁用该特性 - API 稳定性:非官方工具,随 Beeper 更新可能中断