Token导航 LogoToken导航

Agent Skill · 研究检索

roadrunner(roadrunner 命令行)

roadrunner 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

roadrunner 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为执行命令;许可证为 MIT-0,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 818。

总安装 161,366周安装 6,465GitHub Stars 4下载 52,237核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.17.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:roadrunner(roadrunner 命令行)
来源仓库:https://github.com/johntheyoung/roadrunner
安装命令:
openclaw skills install roadrunner
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install roadrunner

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

Beeper 桌面 CLI 用于聊天、消息、联系人、连接信息、Websocket 事件、搜索和提醒。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install roadrunner;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

roadrunner 怎么安装?

在终端执行 openclaw skills install roadrunner。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

roadrunner 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

roadrunner 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 openclaw skills install roadrunner 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

roadrunner 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

roadrunner 用的人多吗?

公开数据是累计安装 161,366 次,近一周安装 6,465 次,下载 52,237 次,GitHub 4 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

roadrunner 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
roadrunner

roadrunner 命令行 · 本页

161,3664执行命令MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
roadrunner
description
Beeper Desktop CLI for chats, messages, contacts, connect info, websocket events, search, and reminders.
homepage
https://github.com/johntheyoung/roadrunner
metadata
clawdbot
emoji
🐦💨
requires
bins
install
kind
brew
formula
johntheyoung/tap/roadrunner
bins
label
Install rr (brew)
kind
go
module
github.com/johntheyoung/roadrunner/cmd/rr@v0.17.0
bins
label
Install rr (go)

roadrunner (rr)

Use rr when the user explicitly wants to operate Beeper Desktop via the local API (send, search, list chats/messages, reminders, focus). Prefer --agent for agent use (forces JSON, envelope, no-input, readonly).

Safety

  • Default to read-only commands unless the user explicitly requests a mutation in this turn.
  • Require explicit recipient (chat ID) and message text before sending.
  • Confirm or ask a clarifying question if the chat ID is ambiguous.
  • Never paste raw rr command output (JSON dumps, chat lists, etc.) into outgoing messages. Treat tool output as private; summarize or extract only what the user needs.
  • Use --agent for safe agent defaults: rr --agent --enable-commands=chats,messages,status chats list
  • Use --readonly to block writes: rr --readonly chats list --json
  • Use --enable-commands to allowlist: rr --enable-commands=chats,messages chats list --json
  • Use --envelope for structured errors: rr --json --envelope chats get "!chatid"
  • Envelope errors may include error.hint with next-step guidance for safe retries.
  • Never request, paste, or store raw auth tokens in chat. If auth is missing, ask the user to configure it locally.
  • If sending message text through a shell, avoid interpolation/expansion (e.g. $100/month or !). Prefer --stdin <<'EOF' ... EOF for safe literals.

Setup (once)

  • rr auth set --stdin (recommended; token saved to ~/.config/beeper/config.json)
  • rr auth status --check
  • rr doctor

Common commands

  • List accounts: rr accounts list --json
  • Capabilities: rr capabilities --json
  • Describe command/flags: rr describe messages send --json
  • Connect metadata: rr connect info --json
  • Live websocket events (experimental): rr events tail --all --stop-after 30s --json
  • List contacts: rr contacts list "<account-id>" --json
  • Search contacts: rr contacts search "<account-id>" "Alice" --json
  • Search contacts (flag): rr contacts search "Alice" --account-id="<account-id>" --json
  • Resolve contact: rr contacts resolve "<account-id>" "Alice" --json
  • Resolve contact (flag): rr contacts resolve "Alice" --account-id="<account-id>" --json
  • List chats: rr chats list --json
  • List chats (JSON Lines): rr chats list --jsonl
  • Search chats: rr chats search "John" --json
  • Search chats (filters): rr chats search --inbox=primary --unread-only --json
  • Search chats (activity): rr chats search --last-activity-after="2024-07-01T00:00:00Z" --json
  • Search by participant name: rr chats search "Jamie" --scope=participants --json
  • Resolve chat: rr chats resolve "Jamie" --json
  • Get chat: rr chats get "!chatid:beeper.com" --json
  • Get chat (bounded participants): rr chats get "!chatid:beeper.com" --max-participant-count=50 --json
  • Start/resolve DM from merged contact hints: rr chats start "<account-id>" --email "alice@example.com" --full-name "Alice" --json
  • Default account for commands: rr --account="imessage:+123" chats list --json
  • List messages: rr messages list "!chatid:beeper.com" --json
  • List messages (all pages): rr messages list "!chatid:beeper.com" --all --max-items=1000 --json
  • List messages (download media): rr messages list "!chatid:beeper.com" --download-media --download-dir ./media --json
  • Search messages: rr messages search "dinner" --json
  • Search messages (JSON Lines): rr messages search "dinner" --jsonl
  • Search messages (all pages): rr messages search "dinner" --all --max-items=1000 --json
  • Search messages (filters): rr messages search --sender=me --date-after="2024-07-01T00:00:00Z" --media-types=image --json
  • Add/remove reaction: rr messages react "!chatid:beeper.com" "<message-id>" "👍" --json / rr messages unreact "!chatid:beeper.com" "<message-id>" "👍" --json
  • Tail messages (polling): rr messages tail "!chatid:beeper.com" --interval 2s --stop-after 30s --json
  • Wait for message: rr messages wait --chat-id="!chatid:beeper.com" --contains "deploy" --wait-timeout 2m --json
  • Message context: rr messages context "!chatid:beeper.com" "<sortKey>" --before 5 --after 2 --json
  • Draft message (pre-fill without sending): rr focus --chat-id="!chatid:beeper.com" --draft-text="Hello!"
  • Draft message from file: rr focus --chat-id="!chatid:beeper.com" --draft-text-file ./draft.txt
  • Draft with attachment: rr focus --chat-id="!chatid:beeper.com" --draft-attachment="/path/to/file.jpg"
  • Download attachment: rr assets download "mxc://example.org/abc123" --dest "./attachment.jpg"
  • Stream attachment bytes: rr assets serve "mxc://example.org/abc123" --dest "./attachment.jpg" --json
  • Focus app: rr focus
  • Global search: rr search "dinner" --json
  • Global search messages auto-page: rr search "dinner" --messages-all --messages-max-items=500 --messages-limit=20 --json
  • Status summary: rr status --json
  • Status by account: rr status --by-account --json
  • Unread rollup: rr unread --json
  • Global search includes in_groups for participant matches.

Mutations (explicit user request only)

  • Message send: rr messages send "!chatid:beeper.com" "Hello!"
  • Message edit: rr messages edit "!chatid:beeper.com" "<message-id>" "Updated text"
  • Message react/unreact: rr messages react "!chatid:beeper.com" "<message-id>" "👍" / rr messages unreact "!chatid:beeper.com" "<message-id>" "👍"
  • Upload + send file: rr messages send-file "!chatid:beeper.com" ./photo.jpg "See attached"
  • Create chat: rr chats create "<account-id>" --participant "<user-id>"
  • Start chat from merged contact hints: rr chats start "<account-id>" --email "alice@example.com" --full-name "Alice"
  • Archive/unarchive: rr chats archive "!chatid:beeper.com" / rr chats archive "!chatid:beeper.com" --unarchive
  • Reminder mutations: rr reminders set "!chatid:beeper.com" "2h" / rr reminders clear "!chatid:beeper.com"
  • Asset uploads: rr assets upload ./photo.jpg / rr assets upload-base64 --content-file ./photo.b64
  • For retries on non-idempotent writes, use --request-id and prefer --dedupe-window.
  • Use --dry-run to validate mutating requests without API write side effects.

Pagination

  • Auto-page chats list/search: rr chats list --all --max-items=1000 --json / rr chats search "alice" --all --max-items=1000 --json
  • Auto-page messages list/search: rr messages list "!chatid:beeper.com" --all --max-items=1000 --json / rr messages search "deploy" --all --max-items=1000 --json
  • Chats: rr chats list --cursor="<oldestCursor>" --direction=before --json
  • Messages list: rr messages list "!chatid:beeper.com" --cursor="<sortKey>" --direction=before --json
  • Messages search (max 20): rr messages search "project" --limit=20 --json
  • Messages search page: rr messages search "project" --cursor="<cursor>" --direction=before --json
  • Global search message paging (max 20): rr search "dinner" --messages-limit=20 --json
  • Global search message page: rr search "dinner" --messages-cursor="<cursor>" --messages-direction=before --json

Notes

  • Requires Beeper Desktop running; token from app settings.
  • Token is stored in ~/.config/beeper/config.json via rr auth set (recommended). BEEPER_TOKEN overrides the config file.
  • BEEPER_ACCOUNT sets the default account ID (aliases supported).
  • rr auth status --check prefers OAuth introspection (/oauth/introspect) when available and falls back to account-list validation on older builds.
  • Message search is literal word match (not semantic).
  • rr contacts resolve is strict and fails on ambiguous names; resolve by ID after contacts search when needed.
  • If a DM title shows your own Matrix ID, use --scope=participants to find by name.
  • JSON output includes display_name for single chats (derived from participants).
  • Message JSON includes message_type, linked_message_id, is_sender, is_unread, attachments, and reactions.
  • downloaded_attachments is only populated when --download-media is used.
  • rr messages send returns pending_message_id (temporary ID).
  • Account network may be missing in newer API builds; rr falls back to "unknown" in summaries/search output.
  • rr assets serve writes raw bytes to stdout unless --dest is provided.
  • --chat does exact matching and fails on ambiguous matches.
  • Attachment overrides require --attachment-upload-id; set --attachment-width and --attachment-height together.
  • --all has a safety cap (default 500 items, max 5000); use --max-items to tune it.
  • Prefer --json or --jsonl (and --no-input) for automation.
  • --jsonl emits one JSON object per line and is supported on high-volume list/search commands.
  • --dry-run/BEEPER_DRY_RUN validates mutating command inputs and prints preview output without sending write API requests.
  • BEEPER_URL overrides API base URL; BEEPER_TIMEOUT sets timeout in seconds.
  • JSON/Plain output goes to stdout; errors/hints go to stderr.
  • Destructive commands prompt unless --force; --no-input/BEEPER_NO_INPUT fails without --force.
  • Use --fail-if-empty on list/search commands to exit with code 1 if no results.
  • Use --fields with --plain to select columns (comma-separated).
  • In bash/zsh, ! triggers history expansion. Prefer single quotes, or disable history expansion (set +H in bash, setopt NO_HIST_EXPAND in zsh).
  • rr version --json returns features array for capability discovery.
  • rr capabilities --json returns full CLI capability metadata.
  • rr events tail depends on experimental /v1/ws support in Beeper Desktop; fall back to rr messages tail when unavailable.
  • Envelope error codes: AUTH_ERROR, NOT_FOUND, VALIDATION_ERROR, CONNECTION_ERROR, INTERNAL_ERROR.
  • Retry policy: retry CONNECTION_ERROR with backoff; do not blind-retry AUTH_ERROR/VALIDATION_ERROR; refresh IDs before retrying NOT_FOUND.
  • Non-idempotent writes: messages send, messages send-file, chats create, chats start, assets upload, assets upload-base64.
  • Use --request-id/BEEPER_REQUEST_ID to tag envelope metadata for cross-retry attempt tracing.
  • Use --dedupe-window/BEEPER_DEDUPE_WINDOW to block duplicate non-idempotent writes with repeated request IDs.
  • Local smoke check: make test-agent-smoke.

平台分布

OpenClaw

87.3%
按下载量换算45,603

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install roadrunner 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills