- Category
- Developer Tools
- Rank
- No. 1404Tools index
Previous survey · No. 1410 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openclaw
- GitHub
- 86 stars
- Date
About
Clawd node implemented in Go for the OpenClaw ecosystem.
What it does
Clawgo turns a Raspberry Pi or Linux machine into a headless voice endpoint. It pairs with a gateway, accepts transcript lines from standard input, a file, or a FIFO, forwards them into a session, listens for chat replies, and can read responses aloud through local speech software.
Why it's ranked here
Clawgo has a focused job and exposes the useful controls directly. Pairing, session routing, chat subscription, speech input adapters, local text-to-speech, service discovery, and provider delivery are all present. Its small surface suits dedicated nodes, though it depends on a separate gateway and external speech tools.
What's good
Transcript routing is explicit and extensible through registered policies. Empty input is ignored, bounded queues reject excess work instead of blocking, and tests cover full queues, closed queues, direct transcripts, agent requests, and Telegram quick actions. Cross-compilation instructions make Raspberry Pi deployment practical.
Tradeoffs
This is infrastructure for an existing gateway, not a standalone assistant. The documented deployment requires building a Go binary and may require external programs for speech recognition or synthesis. Its built-in quick action only recognizes a Telegram ping, and the default system voice depends on espeak-ng.
How to use it well
Use Clawgo for an always-on Linux or Raspberry Pi voice terminal connected to an established gateway. Feed finalized transcripts through a FIFO or the supported speech recognizer, then subscribe to replies for spoken output. Choose it for a service-managed headless node, not for a graphical client, gateway replacement, or complete voice assistant stack.
Technical notes+
The CLI entry point in cmd/clawgo/main.go defines pair and run commands, persists node credentials, connects over net.Conn, advertises through zeroconf, and selects line or Brabble speech recognition. internal/routing/routing.go provides registry-backed Router and Transport interfaces; internal/routing/policy/default/policy.go dispatches transcripts, agent requests, provider messages, and the Telegram ping shortcut. internal/routing/queue/queue.go implements a mutex-protected bounded channel with nonblocking enqueue. modules/audio/audio.go, modules/stt/stt.go, and modules/tts/tts.go define media abstractions, while modules/stt/brabble.go parses plain text or JSON events from an external process. Tests appear in internal/routing/queue/queue_test.go and internal/routing/policy/default/policy_test.go.
Observed
- Primary language
- Go
- Install surface
- Build from source with the Go toolchain into a single CLI binary.
- Interface
- Command-line application with pair and run commands.
- Platform support
- Documented for Raspberry Pi and Linux, including Linux ARM64 cross-compilation.
- Discovery
- Advertises node presence through mDNS using zeroconf.
- Test structure
- Repository text includes unit tests for routing policy and bounded queue behavior.
Read from README.md, go.mod, internal/routing/routing.go, internal/session/session.go, internal/routing/queue/queue.go, internal/routing/plugin/plugin.go, internal/routing/queue/queue_test.go, internal/routing/policy/default/policy.go, internal/routing/policy/default/policy_test.go, cmd/clawgo/main.go, modules/stt/stt.go, modules/tts/tts.go, modules/stt/line.go, modules/audio/audio.go, modules/stt/brabble.go.
What it can do
Process blockchain transactions
Transaction data → Validated transactions
Maintain distributed ledger
Block data → Updated blockchain state
Validate network consensus
Consensus messages → Consensus validation results
Communicate with other nodes
Network messages → Synchronized node data
Store blockchain data
Block and transaction information → Persistent blockchain storage
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
