ArgentOSDocs

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-cli installed (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-cli
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 ANSI

Scan the QR code in Signal: Settings > Linked Devices > Link New Device.

signal-cli -a +1YOUR_PHONE_NUMBER receive

You should see recent messages. This confirms signal-cli is connected.

Step 4: Add the Channel

argent channels add signal

Configuration

{
  "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.sock

Supported Features

FeatureSupported
Text messagesYes
ImagesYes
FilesYes
Group messagesPartial
ReactionsNo
Voice/video callsNo

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