网淘吧来吧,欢迎您!

Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging技能使用说明

2026-03-29 新闻来源:网淘吧 围观:10
电脑广告
手机广告

《钳住我,或许》- Beeper桌面API与跨平台消息收发 📟

你的龙虾刚刚收到一台Beeper。

终于,你的Clawdbot能够跨越所有聊天平台联系到你(以及其他人)。WhatsApp?Telegram?Signal?Discord?Slack?Instagram私信?LinkedIn?iMessage?全部搞定。一种技能。一只钳子。

Beeper驱动——这款应用整合了你所有的聊天。

你的龙虾能用Beeper做什么?

🔍搜索一切- "Sarah上周关于项目说了什么?"你的龙虾会立即翻遍你所有的Beeper聊天记录。

💬随处发送消息- "告诉妈妈我会晚到"——消息发送到WhatsApp。"在Slack上给团队发消息"——搞定。无需切换应用。

📊汇总你的收件箱- "我错过了什么?"获取你在所有Beeper网络中的未读消息摘要。

🔔设置提醒- "提醒我明天回复这条聊天"——你的小龙虾帮你记住,无需你费心。

📎获取附件- 从任何Beeper对话中下载文件、图片和媒体。

😀对消息做出反应- 在Beeper支持的任何网络中的消息上添加表情符号反应。

标记为已读- 将对话标记为已读,保持您的Beeper收件箱整洁。

支持的Beeper网络

您的Clawdbot可以在Beeper支持的任何平台上联系您

平台状态
WhatsApp✅ 完全支持
Telegram✅ 完全支持
Signal✅ 完全支持
Discord✅ 完全支持
Slack✅ 完全支持
Instagram 私信✅ 完全支持
Facebook Messenger✅ 完全支持
领英消息✅ 完全支持
X (Twitter) 私信✅ 完全支持
Google 信息✅ 完全支持
Google Chat✅ 完全支持
iMessage✅ 仅限 macOS

一项技能。十二个平台。无限可能。

快速开始

1. 获取 Beeper

还没有 Beeper?免费下载——这款应用能将您所有的聊天汇聚一处。

2. 启用Beeper桌面API

打开Beeper桌面 →设置开发者选项→ 切换"Beeper桌面API"开启

就这样。你的龙虾现在可以直接连线你的所有聊天了。

3. (可选)添加你的Beeper令牌

为了实现更流畅的自动化,获取一个访问令牌:

  1. Beeper桌面 → 设置 → 开发者选项
  2. 点击"创建访问令牌"
  3. 添加到~/.clawdbot/clawdbot.json文件中:
{
  "skills": {
    "entries": {
      "claw-me-maybe": {
        "enabled": true,
        "env": {
          "BEEPER_ACCESS_TOKEN": "your-token-here"
        }
      }
    }
  }
}

注意:BEEPER_API_URL默认值为http://localhost:23373——除非你在不同的端口上运行Beeper,否则无需设置此值。

与你的龙虾对话

设置完成后,只需自然地提问:

"在Beeper中显示我的未读消息"

"在我的Beeper聊天记录中搜索关于晚餐计划的消息"

"给约翰发送一条WhatsApp消息,说我正在路上"

"我的Signal群聊里有什么最新消息?"

"在Slack的#general频道发送消息:五分钟后进行站立会议"

"查找过去一周内莉莎的所有消息"

"给上一条消息点个👍"

"将我的Discord聊天标记为已读"

您的龙虾通过Beeper处理剩下的部分。

技术细节

(献给那些喜欢一探究竟的人)

Beeper API基础

基础URL:http://localhost:23373(必须运行Beeper Desktop)

# Auth header (when using a token)
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

账户

列出您的Beeper账户

查看您在Beeper中连接的所有平台:

curl -s "${BEEPER_API_URL}/v1/accounts" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

示例响应:

[
  {
    "id": "whatsapp-abc123",
    "service": "whatsapp",
    "displayName": "+1 555-123-4567",
    "connected": true
  },
  {
    "id": "telegram-xyz789",
    "service": "telegram",
    "displayName": "@myusername",
    "connected": true
  },
  {
    "id": "signal-def456",
    "service": "signal",
    "displayName": "+1 555-987-6543",
    "connected": true
  }
]

聊天

列出所有Beeper聊天

curl -s "${BEEPER_API_URL}/v1/chats" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

搜索 Beeper 聊天记录

[
  {
    "id": "chat-abc123",
    "name": "Family Group",
    "service": "whatsapp",
    "unreadCount": 5,
    "lastMessage": {
      "text": "See you at dinner!",
      "timestamp": "2026-01-23T15:30:00Z"
    }
  },
  {
    "id": "chat-xyz789",
    "name": "Work Team",
    "service": "slack",
    "unreadCount": 0,
    "lastMessage": {
      "text": "Meeting moved to 3pm",
      "timestamp": "2026-01-23T14:00:00Z"
    }
  }
]

获取聊天详情

curl -s "${BEEPER_API_URL}/v1/chats/search?q=project+meeting" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

示例响应:

curl -s "${BEEPER_API_URL}/v1/chats/{chatID}" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

创建新的 Beeper 聊天

{
  "id": "chat-abc123",
  "name": "Family Group",
  "service": "whatsapp",
  "unreadCount": 5,
  "participants": [
    {"id": "user-1", "name": "Mom", "phone": "+15551234567"},
    {"id": "user-2", "name": "Dad", "phone": "+15559876543"},
    {"id": "user-3", "name": "You", "phone": "+15555555555"}
  ],
  "archived": false,
  "muted": false
}

归档/取消归档聊天

curl -X POST "${BEEPER_API_URL}/v1/chats" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "accountID": "whatsapp-abc123",
    "participants": ["+1234567890"]
  }'

消息

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/archive" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"archived": true}'

列出聊天中的消息

示例响应:

curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

在所有 Beeper 网络中搜索消息

[
  {
    "id": "msg-001",
    "chatID": "chat-abc123",
    "sender": {"id": "user-1", "name": "Mom"},
    "text": "Don't forget to call grandma!",
    "timestamp": "2026-01-23T15:30:00Z",
    "reactions": [
      {"emoji": "👍", "user": {"id": "user-2", "name": "Dad"}}
    ]
  },
  {
    "id": "msg-002",
    "chatID": "chat-abc123",
    "sender": {"id": "user-2", "name": "Dad"},
    "text": "See you at dinner!",
    "timestamp": "2026-01-23T15:25:00Z",
    "reactions": []
  }
]

示例响应:

curl -s "${BEEPER_API_URL}/v1/messages/search?q=dinner+plans" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

通过 Beeper 发送消息

{
  "results": [
    {
      "id": "msg-xyz",
      "chatID": "chat-abc123",
      "chatName": "Family Group",
      "service": "whatsapp",
      "text": "What are the dinner plans for tonight?",
      "sender": {"name": "Mom"},
      "timestamp": "2026-01-23T12:00:00Z"
    }
  ],
  "total": 1
}

示例响应:

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from my lobster! 🦞"}'

回复消息

{
  "id": "msg-new123",
  "chatID": "chat-abc123",
  "text": "Hello from my lobster! 🦞",
  "timestamp": "2026-01-23T16:00:00Z",
  "status": "sent"
}

将消息标记为已读

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Sounds good!",
    "replyTo": "msg-001"
  }'

反应

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/read" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"upToMessageID": "msg-001"}'

为消息添加反应

移除反应

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"emoji": "👍"}'

联系人

curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"emoji": "👍"}'

搜索账户上的联系人

示例响应:

curl -s "${BEEPER_API_URL}/v1/accounts/{accountID}/contacts?q=john" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

提醒

[
  {
    "id": "contact-123",
    "name": "John Smith",
    "phone": "+15551234567",
    "avatar": "https://..."
  },
  {
    "id": "contact-456",
    "name": "Johnny Appleseed",
    "phone": "+15559876543",
    "avatar": "https://..."
  }
]

创建聊天提醒

为聊天设置提醒:

Set a reminder for a chat:

curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"remindAt": "2026-01-25T10:00:00Z"}'

删除聊天提醒

curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

资产

下载消息附件

curl -X POST "${BEEPER_API_URL}/v1/assets/download" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"assetID": "asset-id-here"}' \
  --output attachment.file

专业技巧 🦞

从Beeper获取未读消息摘要

curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
  jq '.[] | "[\(.service)] \(.name): \(.unreadCount) unread"'

示例输出:

[whatsapp] Family Group: 5 unread
[slack] Work Team: 12 unread
[signal] Best Friend: 2 unread

在Beeper中查找WhatsApp聊天

# Get your WhatsApp account ID from Beeper
WHATSAPP=$(curl -s "${BEEPER_API_URL}/v1/accounts" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
  jq -r '.[] | select(.service == "whatsapp") | .id')

# Search for a contact
curl -s "${BEEPER_API_URL}/v1/chats/search?q=Mom" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

将所有聊天标记为已读

for chatID in $(curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[].id'); do
  curl -X POST "${BEEPER_API_URL}/v1/chats/${chatID}/read" \
    -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
  echo "Marked ${chatID} as read"
done

快速回复最后一条消息

# Get the last message ID from a chat
LAST_MSG=$(curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages?limit=1" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[0].id')

# React with thumbs up
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/${LAST_MSG}/reactions" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"emoji": "👍"}'

检查Beeper是否就绪

curl -s --connect-timeout 2 "${BEEPER_API_URL:-http://localhost:23373}/health" && echo "Beeper is ready!"

获取过去24小时的消息

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")

curl -s "${BEEPER_API_URL}/v1/messages/search?after=${YESTERDAY}" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"

按服务筛选聊天

# Get only Signal chats
curl -s "${BEEPER_API_URL}/v1/chats" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
  jq '[.[] | select(.service == "signal")]'

# Get only Slack chats
curl -s "${BEEPER_API_URL}/v1/chats" \
  -H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
  jq '[.[] | select(.service == "slack")]'

须知事项

Beeper Desktop必须正在运行- API内置于Beeper Desktop中。没有Beeper = 没有连接。

它是本地且私密的- Beeper API完全在您的机器上运行。通过此功能,您的消息绝不会触及外部服务器。

尊重网络规则- 此功能仅供个人使用。发送过多消息可能会触发WhatsApp等的速率限制。

iMessage需要macOS- 苹果还是那个苹果。

各网络平台的反应功能有所不同- 并非所有平台都支持全部表情符号。Beeper会负责转换处理。

故障排除

"无法连接至Beeper"

  1. Beeper桌面端是否正在运行?请在菜单栏中查找其图标。
  2. API功能是否已启用?请前往Beeper → 设置 → 开发者选项 → Beeper桌面端API
  3. 检查端口:curl http://localhost:23373/health

"身份验证失败"

  1. 请在Beeper中生成新的令牌:前往设置 → 开发者选项
  2. 确保令牌已正确写入配置文件(注意不要有多余空格!)
  3. 或直接移除令牌——Beeper将提示您进行OAuth验证

"未找到聊天"

  1. 请确认该聊天在您的Beeper应用中确实存在
  2. 尝试使用不同的搜索关键词
  3. 检查相关账户(如WhatsApp、Telegram等)是否已在Beeper中完成连接

"不支持该反应"

部分网络平台的表情符号支持有限。请尝试使用更常见的表情,例如:👍 ❤️ 😂 😮 😢 😡

链接

鸣谢

由@nickhamze和Clawdbot社区用🦞打造。

由以下提供支持Beeper- 一款整合所有聊天应用的应用。

Claw Me Maybe——因为你的龙虾应该能在任何地方联系到你。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326300名访客 今日有221篇新文章/评论