logo
1
0
WeChat Login
Mariano Belinky<mariano@mb-server.local>
Align clawgo with clawdbot metadata

Clawgo (Go Node)

Minimal headless node client for Raspberry Pi / Linux. Connects to the gateway bridge, handles pairing, streams voice.transcript events (stdin/FIFO), subscribes to chat, and can speak responses via local TTS.

Build

cd clawgo go build ./cmd/clawgo

Cross-compile for Pi:

GOOS=linux GOARCH=arm64 go build -o /tmp/clawgo-linux-arm64 ./cmd/clawgo

Key flags

FlagDescription
-session-keySession for outgoing voice.transcript events (default main).
-chat-session-keySession to subscribe for chat replies (default mirrors -session-key).
-chat-subscribeEnable chat stream+TTS (default true).
-tts-enginesystem, piper, elevenlabs, or none (system = espeak-ng).
-tts-system-voiceespeak voice id (default en-us).
-tts-system-rateSpeech rate (wpm).
-mdns-serviceBonjour service type (default _clawdbot-node._tcp).
-stdinRead transcripts from stdin (pipe/FIFO).
-stdin-fileRead transcripts from a FIFO/file instead of stdin.
-agent-requestSend transcripts as agent.request (uses agent + deliver).
-deliverDeliver agent responses to a provider (requires channel + to).
-deliver-channelDelivery provider (telegram/whatsapp/signal/imessage).
-deliver-toDelivery destination id.
-quick-actionsEnable built-in quick actions (default true).
-ping-messageMessage used for telegram ping quick action.
-routerRouting plugin name (default default).

Pair

./clawgo pair \ -bridge 100.88.46.29:18790 \ -display-name "Razor Pi"

Approve via clawdbot nodes approve <requestId>.

Run (FIFO + TTS example)

mkfifo /tmp/voice.fifo # in one terminal tail -f /tmp/voice.fifo | ./clawgo run \ -bridge 100.88.46.29:18790 \ -stdin \ -chat-subscribe \ -tts-engine system # elsewhere printf hey computer turn on the lights > /tmp/voice.fifo

Each line on the FIFO becomes a voice.transcript; chat responses from the main session are spoken via espeak-ng.

systemd example

Minimal steps:

  1. Install the binary as /home/pi/clawgo.
  2. Create a wrapper script that keeps a FIFO (/home/pi/.cache/clawdbot/voice.fifo) open and pipes it into clawgo run -stdin.
  3. Create /etc/systemd/system/clawgo.service pointing to that wrapper.

mDNS advertising

The node advertises _clawdbot-node._tcp by default.

dns-sd -B _clawdbot-node._tcp local.

Override to _clawdbot-bridge._tcp if you intentionally want it to show up as a gateway beacon:

./clawgo run -mdns-service _clawdbot-bridge._tcp

Notes

  • Node state (nodeId + token) lives in ~/.clawdbot/clawgo.json.
  • Caps default to voiceWake; override via -caps if you expose more commands.
  • Set bridge.bind: "tailnet" on the gateway to restrict the bridge to Tailscale.

About

Clawd node in go

372.00 KiB
1 forks0 stars1 branches0 TagREADMEMIT license
Language
Go100%