Skip to content

Signal

Verbind uw Triggerfish-agent met Signal zodat mensen het berichten kunnen sturen vanuit de Signal-app. De adapter communiceert met een signal-cli-daemon via JSON-RPC, met behulp van uw gekoppelde Signal-telefoonnummer.

Hoe Signal anders is

De Signal-adapter is uw telefoonnummer. In tegenstelling tot Telegram of Slack, waar een apart botaccount bestaat, komen Signal-berichten van anderen naar uw nummer. Dit betekent:

  • Alle inkomende berichten hebben isOwner: false — ze zijn altijd van iemand anders
  • De adapter antwoordt als uw telefoonnummer
  • Er is geen eigenaarcontrole per bericht zoals bij andere kanalen

Dit maakt Signal ideaal voor het ontvangen van berichten van contacten die uw nummer berichten, met de agent die namens u antwoordt.

Standaardclassificatie

Signal is standaard ingesteld op PUBLIC-classificatie. Omdat alle inkomende berichten van externe contacten komen, is PUBLIC de veilige standaard.

Installatie

Stap 1: signal-cli installeren

signal-cli is een externe opdrachtregelclient voor Signal. Triggerfish communiceert ermee via een TCP- of Unix-socket.

Linux (native build — geen Java nodig):

Download de nieuwste native build van de signal-cli-releases-pagina, of laat Triggerfish het voor u downloaden tijdens de installatie.

macOS / andere platforms (JVM-build):

Vereist Java 21+. Triggerfish kan automatisch een draagbare JRE downloaden als Java niet is geïnstalleerd.

U kunt ook de geleide installatie uitvoeren:

bash
triggerfish config add-channel signal

Dit controleert op signal-cli, biedt het te downloaden als het ontbreekt, en begeleidt u door het koppelproces.

Stap 2: Uw apparaat koppelen

signal-cli moet worden gekoppeld aan uw bestaande Signal-account (zoals een desktopapp koppelen):

bash
signal-cli link -n "Triggerfish"

Dit drukt een tsdevice:-URI af. Scan de QR-code met uw Signal-mobiele app (Instellingen > Gekoppelde apparaten > Nieuw apparaat koppelen).

Stap 3: De daemon starten

signal-cli draait als een achtergrond-daemon waarmee Triggerfish verbinding maakt:

bash
signal-cli -a +14155552671 daemon --tcp localhost:7583

Vervang +14155552671 door uw telefoonnummer in E.164-formaat.

Stap 4: Triggerfish configureren

Voeg Signal toe aan uw triggerfish.yaml:

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: PUBLIC
OptieTypeVereistBeschrijving
endpointstringJaAdres van signal-cli daemon (tcp://host:poort of unix:///pad/naar/socket)
accountstringJaUw Signal-telefoonnummer (E.164-formaat)
classificationstringNeeClassificatieplafond (standaard: PUBLIC)
defaultGroupModestringNeeGroepsberichtverwerking: always, mentioned-only, owner-only (standaard: always)
groupsobjectNeeConfiguratie-overschrijvingen per groep
ownerPhonestringNeeGereserveerd voor toekomstig gebruik
pairingbooleanNeeKoppelmodus inschakelen tijdens installatie

Stap 5: Triggerfish starten

bash
triggerfish stop && triggerfish start

Stuur een bericht naar uw telefoonnummer van een andere Signal-gebruiker om de verbinding te bevestigen.

Groepsberichten

Signal ondersteunt groepschats. U kunt bepalen hoe de agent reageert op groepsberichten:

ModusGedrag
alwaysReageer op alle groepsberichten (standaard)
mentioned-onlyReageer alleen wanneer vermeld via telefoonnummer of @vermelding
owner-onlyReageer nooit in groepen

Configureer globaal of per groep:

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    defaultGroupMode: mentioned-only
    groups:
      "uw-groep-id":
        mode: always
        classification: INTERNAL

Groeps-ID's zijn base64-gecodeerde identifiers. Gebruik triggerfish signal list-groups of raadpleeg de signal-cli-documentatie om ze te vinden.

Berichtopsplitsing

Signal heeft een berichtlimiet van 4.000 tekens. Antwoorden die dit overschrijden, worden automatisch opgesplitst in meerdere berichten, waarbij op regeleinden of spaties wordt gesplitst voor leesbaarheid.

Typaanduidingen

De adapter stuurt typaanduidingen terwijl de agent een verzoek verwerkt. De typstatus verdwijnt wanneer het antwoord is verzonden.

Uitgebreide tools

De Signal-adapter stelt aanvullende tools beschikbaar:

  • sendTyping / stopTyping — Handmatige controle van typaanduidingen
  • listGroups — Alle Signal-groepen weergeven waarvan het account lid is
  • listContacts — Alle Signal-contacten weergeven

Classificatie wijzigen

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: INTERNAL

Geldige niveaus: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.

Herstart de daemon na het wijzigen: triggerfish stop && triggerfish start

Betrouwbaarheidsfuncties

De Signal-adapter bevat verschillende betrouwbaarheidsmechanismen:

Automatisch opnieuw verbinden

Als de verbinding met signal-cli wordt verbroken (netwerkunderbrekking, daemon-herstart), maakt de adapter automatisch opnieuw verbinding met exponentiële backoff. Geen handmatige interventie nodig.

Gezondheidscontrole

Bij het opstarten controleert Triggerfish of een bestaande signal-cli-daemon gezond is via een JSON-RPC-ping-probe. Als de daemon niet reageert, wordt het gestopt en automatisch opnieuw gestart.

Versietracering

Triggerfish houdt de bekende goede signal-cli-versie bij (momenteel 0.13.0) en waarschuwt bij het opstarten als uw geïnstalleerde versie ouder is. De signal-cli-versie wordt vastgelegd bij elke succesvolle verbinding.

Unix-socketondersteuning

Naast TCP-eindpunten ondersteunt de adapter Unix-domeinsockets:

yaml
channels:
  signal:
    endpoint: "unix:///run/signal-cli/socket"
    account: "+14155552671"

Probleemoplossing

signal-cli-daemon niet bereikbaar:

  • Controleer of de daemon actief is: controleer op het proces of probeer nc -z 127.0.0.1 7583
  • signal-cli bindt alleen IPv4 — gebruik 127.0.0.1, niet localhost
  • Standaard TCP-poort is 7583
  • Triggerfish herstart de daemon automatisch als het een ongezond proces detecteert

Berichten komen niet aan:

  • Bevestig dat het apparaat is gekoppeld: controleer de Signal-mobiele app onder Gekoppelde apparaten
  • signal-cli moet minstens één synchronisatie hebben ontvangen na het koppelen
  • Controleer logboeken op verbindingsfouten: triggerfish logs --tail

Java-fouten (alleen JVM-build):

  • signal-cli JVM-build vereist Java 21+
  • Voer java -version uit om te controleren
  • Triggerfish kan een draagbare JRE downloaden tijdens de installatie indien nodig

Herverbindingslussen:

  • Als u herhaalde herverbindingspogingen in de logboeken ziet, kan de signal-cli-daemon crashen
  • Controleer de eigen stderr-uitvoer van signal-cli op fouten
  • Probeer opnieuw op te starten met een nieuwe daemon: stop Triggerfish, stop signal-cli, start beide opnieuw