← 返回 Skills 市场
nickhamze

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging

作者 nickhamze · GitHub ↗ · v1.2.1
cross-platform ✓ 安全检测通过
3550
总下载
2
收藏
12
当前安装
5
版本数
在 OpenClaw 中安装
/install claw-me-maybe
功能描述
Beeper integration for Clawdbot. Send messages and search chats across WhatsApp, Telegram, Signal, Discord, Slack, Instagram, iMessage, LinkedIn, Facebook Messenger, Google Messages via Beeper Desktop API. Reactions, reminders, attachments, mark as read. Unified multi-platform messaging automation—just ask.
使用说明 (SKILL.md)

\r \r

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 📟\r

\r Your lobster just got a Beeper.\r \r Finally, your Clawdbot can reach you (and everyone else) across every chat platform. WhatsApp? Telegram? Signal? Discord? Slack? Instagram DMs? LinkedIn? iMessage? All of them. One skill. One claw.\r \r Powered by Beeper - the app that unifies all your chats.\r \r

What Can Your Lobster Do With Beeper?\r

\r 🔍 Search Everything - "What did Sarah say about the project last week?" Your lobster will dig through all your Beeper chats instantly.\r \r 💬 Send Messages Anywhere - "Tell Mom I'll be late" - and it goes to WhatsApp. "Message the team on Slack" - done. No app switching.\r \r 📊 Summarize Your Inbox - "What did I miss?" Get a digest of unread messages across all your Beeper networks.\r \r 🔔 Set Reminders - "Remind me to reply to this chat tomorrow" - your lobster remembers so you don't have to.\r \r 📎 Grab Attachments - Download files, images, and media from any Beeper conversation.\r \r 😀 React to Messages - Add emoji reactions to any message across any Beeper network.\r \r ✅ Mark as Read - Keep your Beeper inbox tidy by marking conversations as read.\r \r

Supported Beeper Networks\r

\r Your Clawdbot can reach you on any platform Beeper supports:\r \r | Platform | Status |\r |----------|--------|\r | WhatsApp | ✅ Full Support |\r | Telegram | ✅ Full Support |\r | Signal | ✅ Full Support |\r | Discord | ✅ Full Support |\r | Slack | ✅ Full Support |\r | Instagram DMs | ✅ Full Support |\r | Facebook Messenger | ✅ Full Support |\r | LinkedIn Messages | ✅ Full Support |\r | X (Twitter) DMs | ✅ Full Support |\r | Google Messages | ✅ Full Support |\r | Google Chat | ✅ Full Support |\r | iMessage | ✅ macOS only |\r \r One skill. Twelve platforms. Infinite possibilities.\r \r

Quick Start\r

\r

1. Get Beeper\r

\r Don't have Beeper yet? Download it free - it's the app that brings all your chats together.\r \r

2. Enable the Beeper Desktop API\r

\r Open Beeper Desktop → SettingsDevelopers → Toggle "Beeper Desktop API" ON\r \r That's it. Your lobster now has a direct line to all your chats.\r \r

3. (Optional) Add Your Beeper Token\r

\r For smoother automation, grab an access token:\r \r

  1. Beeper Desktop → Settings → Developers\r
  2. Click "Create Access Token"\r
  3. Add to ~/.clawdbot/clawdbot.json:\r \r
{\r
  "skills": {\r
    "entries": {\r
      "claw-me-maybe": {\r
        "enabled": true,\r
        "env": {\r
          "BEEPER_ACCESS_TOKEN": "your-token-here"\r
        }\r
      }\r
    }\r
  }\r
}\r
```\r
\r
Note: `BEEPER_API_URL` defaults to `http://localhost:23373` - no need to set it unless you're running Beeper on a different port.\r
\r
## Talk to Your Lobster\r
\r
Once set up, just ask naturally:\r
\r
> "Show me my unread messages in Beeper"\r
\r
> "Search my Beeper chats for messages about dinner plans"\r
\r
> "Send a WhatsApp message to John saying I'm on my way"\r
\r
> "What's the latest in my Signal group chat?"\r
\r
> "Message the #general channel on Slack: standup in 5 minutes"\r
\r
> "Find all messages from Lisa in the last week"\r
\r
> "React with 👍 to that last message"\r
\r
> "Mark my Discord chats as read"\r
\r
Your lobster handles the rest through Beeper.\r
\r
## The Technical Stuff\r
\r
*(For those who like to peek under the shell)*\r
\r
### Beeper API Basics\r
\r
Base URL: `http://localhost:23373` (Beeper Desktop must be running)\r
\r
```bash\r
# Auth header (when using a token)\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Accounts\r
\r
#### List Your Beeper Accounts\r
\r
See all connected platforms in your Beeper:\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/accounts" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
  {\r
    "id": "whatsapp-abc123",\r
    "service": "whatsapp",\r
    "displayName": "+1 555-123-4567",\r
    "connected": true\r
  },\r
  {\r
    "id": "telegram-xyz789",\r
    "service": "telegram",\r
    "displayName": "@myusername",\r
    "connected": true\r
  },\r
  {\r
    "id": "signal-def456",\r
    "service": "signal",\r
    "displayName": "+1 555-987-6543",\r
    "connected": true\r
  }\r
]\r
```\r
\r
### Chats\r
\r
#### List All Beeper Chats\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
  {\r
    "id": "chat-abc123",\r
    "name": "Family Group",\r
    "service": "whatsapp",\r
    "unreadCount": 5,\r
    "lastMessage": {\r
      "text": "See you at dinner!",\r
      "timestamp": "2026-01-23T15:30:00Z"\r
    }\r
  },\r
  {\r
    "id": "chat-xyz789",\r
    "name": "Work Team",\r
    "service": "slack",\r
    "unreadCount": 0,\r
    "lastMessage": {\r
      "text": "Meeting moved to 3pm",\r
      "timestamp": "2026-01-23T14:00:00Z"\r
    }\r
  }\r
]\r
```\r
\r
#### Search Beeper Chats\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/search?q=project+meeting" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
#### Get Chat Details\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
{\r
  "id": "chat-abc123",\r
  "name": "Family Group",\r
  "service": "whatsapp",\r
  "unreadCount": 5,\r
  "participants": [\r
    {"id": "user-1", "name": "Mom", "phone": "+15551234567"},\r
    {"id": "user-2", "name": "Dad", "phone": "+15559876543"},\r
    {"id": "user-3", "name": "You", "phone": "+15555555555"}\r
  ],\r
  "archived": false,\r
  "muted": false\r
}\r
```\r
\r
#### Create a New Beeper Chat\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{\r
    "accountID": "whatsapp-abc123",\r
    "participants": ["+1234567890"]\r
  }'\r
```\r
\r
#### Archive/Unarchive Chat\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/archive" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"archived": true}'\r
```\r
\r
### Messages\r
\r
#### List Messages in a Chat\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
  {\r
    "id": "msg-001",\r
    "chatID": "chat-abc123",\r
    "sender": {"id": "user-1", "name": "Mom"},\r
    "text": "Don't forget to call grandma!",\r
    "timestamp": "2026-01-23T15:30:00Z",\r
    "reactions": [\r
      {"emoji": "👍", "user": {"id": "user-2", "name": "Dad"}}\r
    ]\r
  },\r
  {\r
    "id": "msg-002",\r
    "chatID": "chat-abc123",\r
    "sender": {"id": "user-2", "name": "Dad"},\r
    "text": "See you at dinner!",\r
    "timestamp": "2026-01-23T15:25:00Z",\r
    "reactions": []\r
  }\r
]\r
```\r
\r
#### Search Messages Across All Beeper Networks\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/messages/search?q=dinner+plans" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
{\r
  "results": [\r
    {\r
      "id": "msg-xyz",\r
      "chatID": "chat-abc123",\r
      "chatName": "Family Group",\r
      "service": "whatsapp",\r
      "text": "What are the dinner plans for tonight?",\r
      "sender": {"name": "Mom"},\r
      "timestamp": "2026-01-23T12:00:00Z"\r
    }\r
  ],\r
  "total": 1\r
}\r
```\r
\r
#### Send a Message via Beeper\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"text": "Hello from my lobster! 🦞"}'\r
```\r
\r
**Example Response:**\r
```json\r
{\r
  "id": "msg-new123",\r
  "chatID": "chat-abc123",\r
  "text": "Hello from my lobster! 🦞",\r
  "timestamp": "2026-01-23T16:00:00Z",\r
  "status": "sent"\r
}\r
```\r
\r
#### Reply to a Message\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{\r
    "text": "Sounds good!",\r
    "replyTo": "msg-001"\r
  }'\r
```\r
\r
#### Mark Messages as Read\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/read" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"upToMessageID": "msg-001"}'\r
```\r
\r
### Reactions\r
\r
#### Add a Reaction to a Message\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"emoji": "👍"}'\r
```\r
\r
#### Remove a Reaction\r
\r
```bash\r
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"emoji": "👍"}'\r
```\r
\r
### Contacts\r
\r
#### Search Contacts on an Account\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/accounts/{accountID}/contacts?q=john" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
  {\r
    "id": "contact-123",\r
    "name": "John Smith",\r
    "phone": "+15551234567",\r
    "avatar": "https://..."\r
  },\r
  {\r
    "id": "contact-456",\r
    "name": "Johnny Appleseed",\r
    "phone": "+15559876543",\r
    "avatar": "https://..."\r
  }\r
]\r
```\r
\r
### Reminders\r
\r
#### Create Chat Reminder\r
\r
Set a reminder for a chat:\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"remindAt": "2026-01-25T10:00:00Z"}'\r
```\r
\r
#### Delete Chat Reminder\r
\r
```bash\r
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Assets\r
\r
#### Download Message Attachment\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/assets/download" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"assetID": "asset-id-here"}' \\r
  --output attachment.file\r
```\r
\r
## Pro Tips 🦞\r
\r
### Get Unread Summary from Beeper\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
  jq '.[] | "[\(.service)] \(.name): \(.unreadCount) unread"'\r
```\r
\r
**Example Output:**\r
```\r
[whatsapp] Family Group: 5 unread\r
[slack] Work Team: 12 unread\r
[signal] Best Friend: 2 unread\r
```\r
\r
### Find a WhatsApp Chat in Beeper\r
\r
```bash\r
# Get your WhatsApp account ID from Beeper\r
WHATSAPP=$(curl -s "${BEEPER_API_URL}/v1/accounts" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
  jq -r '.[] | select(.service == "whatsapp") | .id')\r
\r
# Search for a contact\r
curl -s "${BEEPER_API_URL}/v1/chats/search?q=Mom" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Mark All Chats as Read\r
\r
```bash\r
for chatID in $(curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[].id'); do\r
  curl -X POST "${BEEPER_API_URL}/v1/chats/${chatID}/read" \\r
    -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
  echo "Marked ${chatID} as read"\r
done\r
```\r
\r
### Quick React to Last Message\r
\r
```bash\r
# Get the last message ID from a chat\r
LAST_MSG=$(curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages?limit=1" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[0].id')\r
\r
# React with thumbs up\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/${LAST_MSG}/reactions" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
  -H "Content-Type: application/json" \\r
  -d '{"emoji": "👍"}'\r
```\r
\r
### Check if Beeper is Ready\r
\r
```bash\r
curl -s --connect-timeout 2 "${BEEPER_API_URL:-http://localhost:23373}/health" && echo "Beeper is ready!"\r
```\r
\r
### Get Messages from Last 24 Hours\r
\r
```bash\r
YESTERDAY=$(date -u -v-1d +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -u -d "1 day ago" +"%Y-%m-%dT%H:%M:%SZ")\r
\r
curl -s "${BEEPER_API_URL}/v1/messages/search?after=${YESTERDAY}" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Filter Chats by Service\r
\r
```bash\r
# Get only Signal chats\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
  jq '[.[] | select(.service == "signal")]'\r
\r
# Get only Slack chats\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
  jq '[.[] | select(.service == "slack")]'\r
```\r
\r
## Good to Know\r
\r
**Beeper Desktop must be running** - The API lives inside Beeper Desktop. No Beeper = no connection.\r
\r
**It's local & private** - The Beeper API runs entirely on your machine. Your messages never touch external servers through this skill.\r
\r
**Respect the networks** - This is for personal use. Sending too many messages might trigger rate limits on WhatsApp, etc.\r
\r
**iMessage needs macOS** - Apple gonna Apple.\r
\r
**Reactions vary by network** - Not all platforms support all emoji. Beeper handles the translation.\r
\r
## Troubleshooting\r
\r
### "Can't connect to Beeper"\r
\r
1. Is Beeper Desktop running? Look for it in your menu bar.\r
2. Is the API enabled? Beeper → Settings → Developers → Beeper Desktop API\r
3. Check the port: `curl http://localhost:23373/health`\r
\r
### "Authentication failed"\r
\r
1. Generate a fresh token in Beeper → Settings → Developers\r
2. Make sure it's in your config (no extra spaces!)\r
3. Or just remove the token - Beeper will prompt for OAuth\r
\r
### "Chat not found"\r
\r
1. Make sure the chat exists in your Beeper app\r
2. Try different search terms\r
3. Check that the account (WhatsApp, Telegram, etc.) is connected in Beeper\r
\r
### "Reaction not supported"\r
\r
Some networks have limited emoji support. Try a more common emoji like 👍 ❤️ 😂 😮 😢 😡\r
\r
## Links\r
\r
- [Get Beeper](https://www.beeper.com/download) - Free download\r
- [Beeper Developer Docs](https://developers.beeper.com) - Full API reference\r
- [Beeper MCP](https://www.beeper.com/mcp) - For Claude Desktop & Cursor users\r
- [Beeper Desktop API Reference](https://developers.beeper.com/desktop-api-reference/) - Complete endpoint docs\r
\r
## Credits\r
\r
Built with 🦞 by @nickhamze and the Clawdbot community.\r
\r
Powered by [Beeper](https://www.beeper.com) - One app for all your chats.\r
\r
*Claw Me Maybe - because your lobster should be able to reach you anywhere.*\r
安全使用建议
This skill is coherent: it talks to your local Beeper Desktop API using curl and (optionally) a Beeper access token. Before enabling: 1) only enable the Beeper Desktop API in the Beeper app if you trust the machine and Beeper installation; 2) understand that storing BEEPER_ACCESS_TOKEN in ~/.clawdbot/clawdbot.json grants the skill (and any autonomous agent actions) access to read/send across all connected chat services — treat it like a sensitive token; 3) if you don't want automated sending, don't store the token or restrict when the skill is enabled; and 4) note iMessage support is macOS-only despite there being no OS restriction in the registry metadata. If you want more assurance, request the full SKILL.md (complete endpoints/examples) and any audit/logging the agent will retain for actions it takes on your behalf.
功能分析
Type: OpenClaw Skill Name: claw-me-maybe Version: 1.2.1 The skill is classified as benign. All demonstrated network interactions via `curl` are directed to `http://localhost:23373`, which is the local Beeper Desktop API. While the skill utilizes `curl` and reads an environment variable (`BEEPER_ACCESS_TOKEN`), these actions are consistently used for legitimate interaction with the local Beeper API as described in `SKILL.md`, without any evidence of data exfiltration to external endpoints, malicious execution of remote payloads, persistence mechanisms, or prompt injection aiming for harmful objectives. The instructions and code snippets are aligned with the stated purpose of providing multi-platform messaging integration.
能力评估
Purpose & Capability
Name/description (multi-platform messaging via Beeper Desktop API) matches the runtime instructions: all examples call the local Beeper API and use curl. Required binary (curl) is appropriate and no unrelated services or credentials are requested.
Instruction Scope
SKILL.md stays within scope: it instructs enabling the Beeper Desktop API, optionally creating an access token, and using curl against the local API (default http://localhost:23373). It does not instruct reading unrelated system files or contacting external endpoints other than the Beeper app.
Install Mechanism
No install spec and no code files — instruction-only. This minimizes risk because nothing is downloaded or written by the skill itself.
Credentials
The skill uses BEEPER_API_URL and optionally BEEPER_ACCESS_TOKEN. The metadata includes a default for BEEPER_API_URL but the skill does not declare any required env vars in registry metadata — acceptable because the access token is optional, but you should be aware that if you store a BEEPER_ACCESS_TOKEN (recommended in examples), the skill — and any agent invocation that has access to that config — can access all Beeper-connected chats.
Persistence & Privilege
always:false and no install; the only persistent change suggested is optionally adding a token to ~/.clawdbot/clawdbot.json to ease automated calls. That is a normal, scoped request for a messaging integration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install claw-me-maybe
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /claw-me-maybe 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.1
Removed horizontal rules for cleaner documentation
v1.2.0
SEO improvements: keyword-rich description, searchable name, keywords block for better ClawdHub discoverability
v1.1.1
Removed broken repo link
v1.1.0
Added reactions, mark as read, example responses, more API endpoints, default env vars, author info
v1.0.0
Initial release of Claw Me Maybe (v1.0.0): - Adds Beeper integration: search, send, and manage messages across 12+ chat platforms (WhatsApp, Telegram, iMessage, and more) from a single skill. - Supports user-invocable actions: search chats, send messages, summarize inbox, set reminders, and download attachments via Beeper's Desktop API. - Clear setup instructions for connecting Beeper and using access tokens. - Includes technical usage tips, troubleshooting steps, and direct API example commands. - Emphasizes privacy: all API calls are local to your machine.
元数据
Slug claw-me-maybe
版本 1.2.1
许可证
累计安装 13
当前安装数 12
历史版本数 5
常见问题

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 是什么?

Beeper integration for Clawdbot. Send messages and search chats across WhatsApp, Telegram, Signal, Discord, Slack, Instagram, iMessage, LinkedIn, Facebook Messenger, Google Messages via Beeper Desktop API. Reactions, reminders, attachments, mark as read. Unified multi-platform messaging automation—just ask. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 3550 次。

如何安装 Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install claw-me-maybe」即可一键安装,无需额外配置。

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 是免费的吗?

是的,Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 完全免费(开源免费),可自由下载、安装和使用。

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 支持哪些平台?

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging?

由 nickhamze(@nickhamze)开发并维护,当前版本 v1.2.1。

💬 留言讨论