{
  "schemaVersion": "1.0",
  "item": {
    "slug": "beepctl",
    "name": "beepctl",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/blqke/beepctl",
    "canonicalUrl": "https://clawhub.ai/blqke/beepctl",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/beepctl",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=beepctl",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/beepctl"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/beepctl",
    "agentPageUrl": "https://openagent3.xyz/skills/beepctl/agent",
    "manifestUrl": "https://openagent3.xyz/skills/beepctl/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/beepctl/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "beepctl",
        "body": "CLI for Beeper Desktop API — unified messaging from your terminal. Control all your messaging platforms (Telegram, WhatsApp, Slack, iMessage, etc.) through one interface.\n\n📖 Setup & installation: see GitHub repo"
      },
      {
        "title": "Quick Start",
        "body": "beepctl accounts                    # List connected accounts\nbeepctl chats list                  # List recent chats\nbeepctl chats list --search \"John\"  # Find a chat\nbeepctl search \"meeting\" --after \"1d ago\"  # Search messages\nbeepctl send <chat-id> \"Hello!\"     # Send a message"
      },
      {
        "title": "Auth Management",
        "body": "beepctl auth show           # Check auth status and token\nbeepctl auth set <token>    # Set API token\nbeepctl auth clear          # Clear saved token"
      },
      {
        "title": "Accounts",
        "body": "beepctl accounts            # List all connected accounts"
      },
      {
        "title": "Browse Chats",
        "body": "beepctl chats list                        # List inbox (non-archived)\nbeepctl chats list --limit 20             # Limit results\nbeepctl chats list --search \"John\"        # Filter by name\nbeepctl chats list --inbox archive        # Archived chats only\nbeepctl chats list --inbox low-priority   # Low-priority chats\nbeepctl chats list --inbox all            # All chats\nbeepctl chats list --type group           # Filter by type (single/group/any)\nbeepctl chats list --unread-only          # Unread chats only\nbeepctl chats list --activity-after \"1d ago\"  # Recent activity filter\nbeepctl chats show <chat-id>              # Detailed chat info with participants\nbeepctl chats create <account> <users...> # Create new chat\n\nInbox filters: primary (default), archive, low-priority, all"
      },
      {
        "title": "List Messages",
        "body": "beepctl messages <chat-id>              # Recent messages from a chat\nbeepctl messages <chat-id> --limit 10   # Limit results\nbeepctl messages work --after \"1d ago\"  # Use alias + time filter\nbeepctl messages <chat-id> --before \"1h ago\"  # Messages before a time"
      },
      {
        "title": "Search Messages",
        "body": "beepctl search \"query\"                    # Search across all chats\nbeepctl search \"query\" --limit 10         # Limit results\nbeepctl search \"meeting\" --after \"1d ago\" # Time filter\nbeepctl search \"hello\" --chat work        # Filter by chat/alias\nbeepctl search \"files\" --media file       # Filter by media type\nbeepctl search \"dm\" --chat-type single    # Filter by chat type\nbeepctl search \"update\" --sender others   # Filter by sender (me/others)\nbeepctl search \"msg\" --account <id>       # Filter by account\nbeepctl search \"todo\" --include-low-priority   # Include low-priority chats\nbeepctl search \"important\" --exclude-muted     # Exclude muted chats\n\nCombine filters:\n\nbeepctl search \"deploy\" --chat work --sender others --after \"1d ago\" --media link\nbeepctl search \"hello\" --chat work family  # Multiple chats (space-separated)\nbeepctl search \"test\" --chat id1,id2,id3   # Multiple chats (comma-separated)\n\nTime formats: 1h ago, 2d ago, 3w ago, 1mo ago, yesterday, today\nMedia types: any, video, image, link, file"
      },
      {
        "title": "Aliases",
        "body": "Create shortcuts for frequently used chat IDs:\n\nbeepctl alias list                    # List all aliases\nbeepctl alias add work <chat-id>      # Create alias\nbeepctl alias show work               # Show alias value\nbeepctl alias remove work             # Remove alias\nbeepctl send work \"Using alias!\"      # Use alias in any command"
      },
      {
        "title": "Archive Chats",
        "body": "beepctl archive <chat-id>              # Archive a chat\nbeepctl archive <chat-id> --unarchive  # Unarchive\nbeepctl archive work                   # Use alias\nbeepctl archive <chat-id> --quiet      # No confirmation message"
      },
      {
        "title": "Send Messages",
        "body": "⚠️ NEVER send messages without explicit user approval first!\nAlways show the message content and recipient, then ask for confirmation.\n\nbeepctl send <chat-id> \"Hello!\"                    # Send message\nbeepctl send myself \"Quick note\"                   # Send to self\nbeepctl send <chat-id> \"Reply\" --reply-to <msg-id> # Reply to message\nbeepctl send <chat-id> \"msg\" --quiet               # No confirmation output"
      },
      {
        "title": "Focus (Bring to Foreground)",
        "body": "beepctl focus                           # Bring Beeper to foreground\nbeepctl focus <chat-id>                 # Open a specific chat\nbeepctl focus <chat-id> -m <msg-id>     # Jump to specific message\nbeepctl focus <chat-id> -d \"draft\"      # Pre-fill draft text\nbeepctl focus <chat-id> -a /path/file   # Pre-fill draft attachment"
      },
      {
        "title": "Send Media",
        "body": "beepctl send only supports text. To send media, use focus with draft:\n\nbeepctl focus <chat-id> -a /path/to/image.png -d \"Caption\"\n# Then press Enter in Beeper to send"
      },
      {
        "title": "Contacts",
        "body": "beepctl contacts search <account> <query>  # Search contacts on an account"
      },
      {
        "title": "Download Attachments",
        "body": "beepctl download <mxc-url>              # Download attachment (mxc:// URLs)\nbeepctl download <mxc-url> -o /path     # Save to specific path"
      },
      {
        "title": "Reminders",
        "body": "beepctl reminders set <chat> 30m       # Remind in 30 minutes\nbeepctl reminders set <chat> 1h        # Remind in 1 hour\nbeepctl reminders set <chat> 2d        # Remind in 2 days\nbeepctl reminders set <chat> tomorrow  # Remind tomorrow\nbeepctl reminders clear <chat>         # Clear reminder"
      },
      {
        "title": "Tips",
        "body": "Chat IDs look like: !gZ42vWzDxl8V0sZXWBgO:beeper.local\nUse aliases to avoid typing long chat IDs\nThe special alias myself sends to your own chat"
      }
    ],
    "body": "beepctl\n\nCLI for Beeper Desktop API — unified messaging from your terminal. Control all your messaging platforms (Telegram, WhatsApp, Slack, iMessage, etc.) through one interface.\n\n📖 Setup & installation: see GitHub repo\n\nQuick Start\nbeepctl accounts                    # List connected accounts\nbeepctl chats list                  # List recent chats\nbeepctl chats list --search \"John\"  # Find a chat\nbeepctl search \"meeting\" --after \"1d ago\"  # Search messages\nbeepctl send <chat-id> \"Hello!\"     # Send a message\n\nCommands\nAuth Management\nbeepctl auth show           # Check auth status and token\nbeepctl auth set <token>    # Set API token\nbeepctl auth clear          # Clear saved token\n\nAccounts\nbeepctl accounts            # List all connected accounts\n\nBrowse Chats\nbeepctl chats list                        # List inbox (non-archived)\nbeepctl chats list --limit 20             # Limit results\nbeepctl chats list --search \"John\"        # Filter by name\nbeepctl chats list --inbox archive        # Archived chats only\nbeepctl chats list --inbox low-priority   # Low-priority chats\nbeepctl chats list --inbox all            # All chats\nbeepctl chats list --type group           # Filter by type (single/group/any)\nbeepctl chats list --unread-only          # Unread chats only\nbeepctl chats list --activity-after \"1d ago\"  # Recent activity filter\nbeepctl chats show <chat-id>              # Detailed chat info with participants\nbeepctl chats create <account> <users...> # Create new chat\n\n\nInbox filters: primary (default), archive, low-priority, all\n\nList Messages\nbeepctl messages <chat-id>              # Recent messages from a chat\nbeepctl messages <chat-id> --limit 10   # Limit results\nbeepctl messages work --after \"1d ago\"  # Use alias + time filter\nbeepctl messages <chat-id> --before \"1h ago\"  # Messages before a time\n\nSearch Messages\nbeepctl search \"query\"                    # Search across all chats\nbeepctl search \"query\" --limit 10         # Limit results\nbeepctl search \"meeting\" --after \"1d ago\" # Time filter\nbeepctl search \"hello\" --chat work        # Filter by chat/alias\nbeepctl search \"files\" --media file       # Filter by media type\nbeepctl search \"dm\" --chat-type single    # Filter by chat type\nbeepctl search \"update\" --sender others   # Filter by sender (me/others)\nbeepctl search \"msg\" --account <id>       # Filter by account\nbeepctl search \"todo\" --include-low-priority   # Include low-priority chats\nbeepctl search \"important\" --exclude-muted     # Exclude muted chats\n\n\nCombine filters:\n\nbeepctl search \"deploy\" --chat work --sender others --after \"1d ago\" --media link\nbeepctl search \"hello\" --chat work family  # Multiple chats (space-separated)\nbeepctl search \"test\" --chat id1,id2,id3   # Multiple chats (comma-separated)\n\n\nTime formats: 1h ago, 2d ago, 3w ago, 1mo ago, yesterday, today\nMedia types: any, video, image, link, file\n\nAliases\n\nCreate shortcuts for frequently used chat IDs:\n\nbeepctl alias list                    # List all aliases\nbeepctl alias add work <chat-id>      # Create alias\nbeepctl alias show work               # Show alias value\nbeepctl alias remove work             # Remove alias\nbeepctl send work \"Using alias!\"      # Use alias in any command\n\nArchive Chats\nbeepctl archive <chat-id>              # Archive a chat\nbeepctl archive <chat-id> --unarchive  # Unarchive\nbeepctl archive work                   # Use alias\nbeepctl archive <chat-id> --quiet      # No confirmation message\n\nSend Messages\n\n⚠️ NEVER send messages without explicit user approval first! Always show the message content and recipient, then ask for confirmation.\n\nbeepctl send <chat-id> \"Hello!\"                    # Send message\nbeepctl send myself \"Quick note\"                   # Send to self\nbeepctl send <chat-id> \"Reply\" --reply-to <msg-id> # Reply to message\nbeepctl send <chat-id> \"msg\" --quiet               # No confirmation output\n\nFocus (Bring to Foreground)\nbeepctl focus                           # Bring Beeper to foreground\nbeepctl focus <chat-id>                 # Open a specific chat\nbeepctl focus <chat-id> -m <msg-id>     # Jump to specific message\nbeepctl focus <chat-id> -d \"draft\"      # Pre-fill draft text\nbeepctl focus <chat-id> -a /path/file   # Pre-fill draft attachment\n\nSend Media\n\nbeepctl send only supports text. To send media, use focus with draft:\n\nbeepctl focus <chat-id> -a /path/to/image.png -d \"Caption\"\n# Then press Enter in Beeper to send\n\nContacts\nbeepctl contacts search <account> <query>  # Search contacts on an account\n\nDownload Attachments\nbeepctl download <mxc-url>              # Download attachment (mxc:// URLs)\nbeepctl download <mxc-url> -o /path     # Save to specific path\n\nReminders\nbeepctl reminders set <chat> 30m       # Remind in 30 minutes\nbeepctl reminders set <chat> 1h        # Remind in 1 hour\nbeepctl reminders set <chat> 2d        # Remind in 2 days\nbeepctl reminders set <chat> tomorrow  # Remind tomorrow\nbeepctl reminders clear <chat>         # Clear reminder\n\nTips\nChat IDs look like: !gZ42vWzDxl8V0sZXWBgO:beeper.local\nUse aliases to avoid typing long chat IDs\nThe special alias myself sends to your own chat"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/blqke/beepctl",
    "publisherUrl": "https://clawhub.ai/blqke/beepctl",
    "owner": "blqke",
    "version": "0.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/beepctl",
    "downloadUrl": "https://openagent3.xyz/downloads/beepctl",
    "agentUrl": "https://openagent3.xyz/skills/beepctl/agent",
    "manifestUrl": "https://openagent3.xyz/skills/beepctl/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/beepctl/agent.md"
  }
}