Signal
Connect ArgentOS to Signal using signal-cli.
Overview
ArgentOS connects to Signal through signal-cli, a command-line client for the Signal messenger. The channel driver communicates with signal-cli over its D-Bus or JSON-RPC interface.
Signal setup is more involved than other channels. You need signal-cli installed and registered as a linked device.
Prerequisites
signal-cliinstalled (installation guide)- Java 21+ runtime (required by signal-cli)
- A phone with Signal installed
- ArgentOS gateway running
Step 1: Install signal-cli
# macOS
brew install signal-cli
# Linux (manual)
wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli-0.x.x.tar.gz
tar xf signal-cli-*.tar.gz -C /opt/
ln -s /opt/signal-cli-*/bin/signal-cli /usr/local/bin/signal-cliStep 2: Link as a Device
signal-cli link -n "ArgentOS Agent"This outputs a tsdevice: URI. Convert it to a QR code:
signal-cli link -n "ArgentOS Agent" | qrencode -t ANSIScan the QR code in Signal: Settings > Linked Devices > Link New Device.
Step 3: Verify the Link
signal-cli -a +1YOUR_PHONE_NUMBER receiveYou should see recent messages. This confirms signal-cli is connected.
Step 4: Add the Channel
argent channels add signalConfiguration
{
"channels": {
"signal": {
"enabled": true,
"account": "+15551234567",
"signalCliPath": "/usr/local/bin/signal-cli",
"mode": "json-rpc",
"allowedNumbers": []
}
}
}Running signal-cli as a Daemon
For production use, run signal-cli in daemon mode so ArgentOS can communicate with it over JSON-RPC:
signal-cli -a +1YOUR_NUMBER daemon --socket /tmp/signal-cli.sockSupported Features
| Feature | Supported |
|---|---|
| Text messages | Yes |
| Images | Yes |
| Files | Yes |
| Group messages | Partial |
| Reactions | No |
| Voice/video calls | No |
Known Limitations
- signal-cli must be running as a daemon for the channel to work
- Signal's protocol updates may require updating signal-cli periodically
- Group message support is limited to receiving; sending to groups is experimental