Module channels
Modules§
- acp_
embedded - ACP re-export of shared embedded-resource materialization.
Implementation lives in
zeroclaw_tools::embedded_resourceso MCP and ACP share one helper withoutzeroclaw-toolsdepending on this crate. - acp_
server - ACP (Agent Control Protocol) Server — JSON-RPC 2.0 over stdio.
- link_
enricher - Link enricher: auto-detects URLs in inbound messages, fetches their content, and prepends summaries so the agent has link context without explicit tool calls.
- media_
pipeline - Automatic media understanding pipeline for inbound channel messages.
- session_
backend - session_
sqlite - telegram
- transcription
Structs§
- Channel
Message - A message received from or sent to a channel
- CliChannel
- CLI channel — stdin/stdout, always available, zero deps
- Discord
Channel - Discord channel — connects via Gateway WebSocket for real-time messages
- Draft
Progress - Rendered draft-progress text paired with its semantic origin.
- Email
Channel - Filesystem
Channel - Filesystem change source as a
Channel. - Gmail
Push Channel - Message
Debouncer - Accumulates rapid inbound messages per sender and fires a single combined message after the debounce window elapses without new input.
- Send
Message - Message to send through a channel
- Sqlite
Session Backend - SQLite-backed session store with FTS5 and WAL mode.
- Stall
Watchdog - Telegram
Channel - Telegram channel — long-polls the Bot API for updates
- TtsManager
- Webhook
Channel - Generic Webhook channel — receives messages via HTTP POST and sends replies to a configurable outbound URL. This is the “universal adapter” for any system that supports webhooks.
Enums§
- Draft
Progress Kind - Origin of a rendered draft-progress entry.
- Listener
Health - What a channel can say about its own listener without performing any I/O.
Constants§
- BOOTSTRAP_
MAX_ CHARS - Maximum characters per injected workspace file (matches
OpenClawdefault). - COMPACT_
BOOTSTRAP_ MAX_ CHARS - Per-file cap applied to every injected workspace bootstrap file while the
agent’s runtime profile has
compact_contexton (the default).BOOTSTRAP_MAX_CHARSis the cap when it is off. Shared by the turn paths anddoctorso they report the same budget.
Traits§
- Channel
- Core channel trait — implement for any messaging platform.
- Session
Backend - Trait for session persistence backends.
Implementations must be
Send + Syncfor sharing across async tasks. - TtsProvider
- Trait for pluggable TTS backends.
Functions§
- bind_
channel_ identity_ into - Add
identityto the peer group bound to<type>.<alias>in-place. - bind_
telegram_ identity - build_
channel_ map - build_
channel_ map_ for_ agent - build_
local_ rpc_ session_ channels - Return the daemon-owned live channels visible to one trusted local RPC
session. This clones channel
Arcs and never constructs duplicate clients. - build_
system_ prompt - Build the default system prompt.
- build_
system_ prompt_ with_ mode - build_
system_ prompt_ with_ mode_ and_ autonomy - build_
system_ prompt_ with_ mode_ and_ effective_ tools - Build the system prompt with the effective callable tool names supplied by the turn’s assembled registry. The tool descriptions remain separately filtered for the prompt surface, while skill callable metadata uses this name set as its availability source of truth.
- channel_
alias_ configured - Whether a
[channels.<type>.<alias>]section exists. Rust has no reflection over the typed channel maps, so this stays an explicit per-type match; only this arm grows when a new pairing channel lands. - channel_
authorizing_ group_ key - The
peer_groupskey that already authorizesidentity, for reporting analready_boundresult without guessing a name. Delegates to the crate-privateidentity_persist::authorizing_group_key. - channel_
identity_ normalizer - Resolve the identity normalizer for a pairing-capable channel type, or
Nonefor a type with no operator-bind surface.Noneis the closed-set gate: onlytelegram/wechat/linecan be bound this way. - channel_
peer_ group_ key - The
peer_groupskey that holds bindings for<channel_type>.<alias>, orNonewhen no group carries that ref yet. - conversation_
history_ key - deliver_
announcement - doctor_
channels - Run health checks for configured channels.
- handle_
command - live_
channel_ map - live_
channel_ map_ for_ agent - prepare_
live_ channel_ registry - register_
channels_ for_ tools - send_
channel_ message - Send a one-off message to a configured channel.
- start_
channels - Start all configured channels and route messages to the agent
- start_
channels_ with_ authority - Start all configured channels with the live config authority owned by the current daemon generation.
- start_
channels_ with_ authority_ and_ plugin_ webhooks - Start supervised channels with the shared live-config authority and the daemon generation’s plugin-webhook route registry.
- start_
channels_ with_ plugin_ webhooks - Start supervised channels with an owned config snapshot and the daemon generation’s plugin-webhook route registry.
Type Aliases§
- Channel
Identity Normalizer - Per-channel-type identity normalizer. The operator-bind op is otherwise identical across the pairing-capable channels; the only variance is how a raw identity is canonicalized before it is stored in the allowlist.