mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-12 11:43:25 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
45
openclaw/extensions/bluebubbles/README.md
Normal file
45
openclaw/extensions/bluebubbles/README.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# BlueBubbles extension (developer reference)
|
||||
|
||||
This package contains the **BlueBubbles external channel plugin** for OpenClaw.
|
||||
|
||||
If you’re looking for **how to use BlueBubbles as an agent/tool user**, see:
|
||||
|
||||
- `skills/bluebubbles/SKILL.md`
|
||||
|
||||
## Layout
|
||||
|
||||
- Package entry: `index.ts`.
|
||||
- Channel implementation: `src/channel.ts`.
|
||||
- Webhook handling: `src/monitor.ts` (register per-account route via `registerPluginHttpRoute`).
|
||||
- REST helpers: `src/send.ts` + `src/probe.ts`.
|
||||
- Runtime bridge: `src/runtime.ts` (set via `api.runtime`).
|
||||
- Catalog entry for setup selection: `src/channels/plugins/catalog.ts`.
|
||||
|
||||
## Internal helpers (use these, not raw API calls)
|
||||
|
||||
- `probeBlueBubbles` in `src/probe.ts` for health checks.
|
||||
- `sendMessageBlueBubbles` in `src/send.ts` for text delivery.
|
||||
- `resolveChatGuidForTarget` in `src/send.ts` for chat lookup.
|
||||
- `sendBlueBubblesReaction` in `src/reactions.ts` for tapbacks.
|
||||
- `sendBlueBubblesTyping` + `markBlueBubblesChatRead` in `src/chat.ts`.
|
||||
- `downloadBlueBubblesAttachment` in `src/attachments.ts` for inbound media.
|
||||
- `buildBlueBubblesApiUrl` + `blueBubblesFetchWithTimeout` in `src/types.ts` for shared REST plumbing.
|
||||
|
||||
## Webhooks
|
||||
|
||||
- BlueBubbles posts JSON to the gateway HTTP server.
|
||||
- Normalize sender/chat IDs defensively (payloads vary by version).
|
||||
- Skip messages marked as from self.
|
||||
- Route into core reply pipeline via the plugin runtime (`api.runtime`) and `openclaw/plugin-sdk` helpers.
|
||||
- For attachments/stickers, use `<media:...>` placeholders when text is empty and attach media paths via `MediaUrl(s)` in the inbound context.
|
||||
|
||||
## Config (core)
|
||||
|
||||
- `channels.bluebubbles.serverUrl` (base URL), `channels.bluebubbles.password`, `channels.bluebubbles.webhookPath`.
|
||||
- Action gating: `channels.bluebubbles.actions.reactions` (default true).
|
||||
|
||||
## Message tool notes
|
||||
|
||||
- **Reactions:** the `react` action requires a `target` (phone number or chat identifier) in addition to `messageId`.
|
||||
Example:
|
||||
`action=react target=+15551234567 messageId=ABC123 emoji=❤️`
|
||||
Loading…
Add table
Add a link
Reference in a new issue