ClawSkills logoClawSkills

Bluebubbles

构建或更新 Clawdbot 的 BlueBubbles 外部通道插件(扩展包、REST 发送/探测、Webhook 入站)。

介绍

# BlueBubbles plugin

在使用 BlueBubbles 通道插件时使用此技能。

## 布局 - 扩展包:`extensions/bluebubbles/` (入口:`index.ts`)。 - 通道实现:`extensions/bluebubbles/src/channel.ts`。 - Webhook 处理:`extensions/bluebubbles/src/monitor.ts` (通过 `api.registerHttpHandler` 注册)。 - REST 辅助函数:`extensions/bluebubbles/src/send.ts` + `extensions/bluebubbles/src/probe.ts`。 - 运行时桥接:`extensions/bluebubbles/src/runtime.ts` (通过 `api.runtime` 设置)。 - 用于引导的目录条目:`src/channels/plugins/catalog.ts`。

## 内部辅助函数 (请使用这些,而不是直接调用 API) - `extensions/bluebubbles/src/probe.ts` 中的 `probeBlueBubbles` 用于健康检查。 - `extensions/bluebubbles/src/send.ts` 中的 `sendMessageBlueBubbles` 用于文本投递。 - `extensions/bluebubbles/src/send.ts` 中的 `resolveChatGuidForTarget` 用于聊天查找。 - `extensions/bluebubbles/src/reactions.ts` 中的 `sendBlueBubblesReaction` 用于轻触回复 (tapbacks)。 - `extensions/bluebubbles/src/chat.ts` 中的 `sendBlueBubblesTyping` + `markBlueBubblesChatRead`。 - `extensions/bluebubbles/src/attachments.ts` 中的 `downloadBlueBubblesAttachment` 用于入站媒体。 - `extensions/bluebubbles/src/types.ts` 中的 `buildBlueBubblesApiUrl` + `blueBubblesFetchWithTimeout` 用于共享的 REST 管道。

## Webhooks - BlueBubbles 将 JSON 发布到网关 HTTP 服务器。 - 防御性地规范化发送者/聊天 ID (负载因版本而异)。 - 跳过标记为来自自身的消息。 - 通过插件运行时 (`api.runtime`) 和 `clawdbot/plugin-sdk` 辅助函数路由到核心回复管道。 - 对于附件/贴纸,当文本为空时使用 `<media:...>` 占位符,并在入站上下文中通过 `MediaUrl(s)` 附加媒体路径。

## 配置 (核心) - `channels.bluebubbles.serverUrl` (基础 URL)、`channels.bluebubbles.password`、`channels.bluebubbles.webhookPath`。 - 操作限制:`channels.bluebubbles.actions.reactions` (默认为 true)。

## 消息工具说明 - **表情回应 (Reactions):** `react` 操作除了 `messageId` 之外,还需要一个 `target` (电话号码或聊天标识符)。示例:`action=react target=+15551234567 messageId=ABC123 emoji=❤️`

更多产品