Architecture
The channel system uses a unified message format with channel-specific handling:Available Channels
REPL
Interactive command-line interface with markdown rendering, tab completion, and slash commands
HTTP Webhook
RESTful API for programmatic access with rate limiting and authentication
Signal
Private messaging via Signal protocol with pairing system and group support
Telegram
Integration with Telegram messenger (via WASM channels)
Web Gateway
Browser-based UI with real-time updates via SSE and WebSocket
REPL Channel
The REPL (Read-Eval-Print Loop) provides a rich terminal interface with:- Line editing via rustyline (history, tab completion)
- Markdown rendering via termimad for formatted responses
- Slash commands for control operations
- Tool approval cards for interactive confirmation
Slash Commands
Example: Tool Approval
Starting the REPL
The REPL uses
~/.ironclaw/history to persist command history across sessions.HTTP Webhook Channel
Provides a RESTful API for sending messages programmatically:Configuration
Rate Limiting
The HTTP channel enforces:- 60 requests per minute per client
- 64KB maximum body size
- 32KB maximum content length
- 100 maximum pending wait-for-response requests
Response Format
Signal Channel
Connect via Signal Messenger using the signal-cli daemon:Prerequisites
Configuration
Pairing System
The Signal channel supports a pairing flow for first-time users:Group Chat Support
Configure group access with fine-grained policies:Features
Status Updates
Status Updates
The Signal channel sends typing indicators during thinking phases and tool execution status in debug mode:
Attachment Support
Attachment Support
Send and receive file attachments:
Thread Persistence
Thread Persistence
Conversations automatically maintain thread history:
Web Gateway Channel
Browser-based UI with real-time updates:Features
- REST API for sending messages
- Server-Sent Events (SSE) for real-time status
- WebSocket for bidirectional communication
- Memory browser for workspace exploration
- Job management for sandbox execution monitoring
API Endpoints
Configuration
SSE Event Types
Channel Implementation
All channels implement theChannel trait:
Creating a Custom Channel
Next Steps
Tools
Learn about the dynamic tool system
Configuration
Configure channel settings
