Summary
Add Signal as a messaging channel for PicoClaw.
Motivation
Signal is a major privacy-focused messaging platform. Many users prefer it over Telegram/WhatsApp for self-hosted AI assistants due to its E2E encryption and privacy stance.
Proposed Solutions
Option A: signal-cli (Recommended)
Use signal-cli JSON-RPC API:
- Run
signal-cli daemon --http as external dependency
- PicoClaw connects to local HTTP API to send/receive messages
- Pros: Mature, handles E2E encryption, minimal code to maintain
- Cons: Requires JVM (~50-100MB RAM) — documented as optional external dependency
Option B: libsignal
Use Signal's official libsignal library:
- Native Signal Protocol implementation
- Pros: No external JVM process, lower memory footprint
- Cons: More complex integration, requires maintaining crypto code
Configuration
{
"channels": {
"signal": {
"enabled": true,
"account": "+1234567890",
"signal_cli_url": "http://localhost:8080",
"allow_from": ["+0987654321"]
}
}
}
Notes
- Credentials stored in
~/.local/share/signal-cli/ (if using signal-cli)
- Supports text messages, with voice/attachments possible as follow-up
References
Summary
Add Signal as a messaging channel for PicoClaw.
Motivation
Signal is a major privacy-focused messaging platform. Many users prefer it over Telegram/WhatsApp for self-hosted AI assistants due to its E2E encryption and privacy stance.
Proposed Solutions
Option A: signal-cli (Recommended)
Use signal-cli JSON-RPC API:
signal-cli daemon --httpas external dependencyOption B: libsignal
Use Signal's official libsignal library:
Configuration
{ "channels": { "signal": { "enabled": true, "account": "+1234567890", "signal_cli_url": "http://localhost:8080", "allow_from": ["+0987654321"] } } }Notes
~/.local/share/signal-cli/(if using signal-cli)References