Analyzed 30 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

berkayturanci/voicebridge

4 0 3 issues
JavaScript
NOASSERTION

Project Overview

anthropic / claude-opus-4-7

voicebridge

A Node bridge and mobile app that lets you talk to CLI coding agents like Claude Code from your phone.

AI Verdict
Clean— AI Trust Assessment

True Intent (AI Assessment)

A source-available, self-hosted voice+chat bridge that lets a phone drive local CLI coding agents over a private Tailscale network.

README Accuracy

Accurate

Notes

Code matches the README's claims. Note the PolyForm Noncommercial 1.0.0 license — despite being 'open source-adjacent', it forbids commercial use. Agent CLIs are spawned as child processes with user-supplied prompts, so the usual caveats about trusting your own agent binaries apply.

What Is This?

voicebridge is a self-hosted voice interface for command-line AI coding agents. It consists of a small Node.js HTTP server (server.js) that spawns and pipes stdin/stdout to agent CLIs (Claude Code, Codex, Antigravity, Ollama), a browser-based web UI served from /public that uses the Web Speech API for speech-to-text and text-to-speech, a Flutter mobile app (in /app) for iOS/Android, and an Electron desktop control panel (in /desktop) that packages everything into a Mac DMG and Windows installer.

The problem it solves is friction and cost around voice interaction with coding agents. Existing agent CLIs are text-only, and third-party voice services like ElevenLabs charge per minute and route audio through their servers. voicebridge lets a developer speak to their agent from a phone while away from the keyboard, using the phone browser's built-in (free) speech recognition and synthesis, with the agent still executing locally on the developer's machine.

The intended users are developers who already use CLI-based coding agents and want hands-free or remote-from-couch operation. They install the desktop app or run the Node server, expose it over Tailscale HTTPS (required because Web Speech needs a secure context), and pair a phone by scanning a QR code. From then on the phone acts as a chat+voice client that streams prompts to and receives streamed responses from the agent running on the host.

Architecturally it is straightforward: a single Node process (one production dependency, qrcode-terminal) exposes a small HTTP/NDJSON API guarded by an optional Bearer ACCESS_TOKEN, manages multiple named sessions, and shells out to configured agent binaries (CLAUDE_BIN, CODEX_BIN, AGY_BIN). Replies are streamed sentence-by-sentence to the browser, which speaks them via SpeechSynthesis. Optional local Whisper (batch or WebSocket streaming) replaces browser STT for fully-local transcription. A reference cloud-runner example allows the agent to run on a different host. Auth, session, and health tests exist under /test.

The code is clean and coherent with its stated purpose: extensive documentation, CI workflows for Android/iOS/desktop releases, Electron secure-storage for tokens, and no signs of exfiltration or hidden network calls. The PolyForm Noncommercial license is real and restrictive — commercial use is prohibited. The .agents and .claude directories contain 'Keel' agent workflow skill definitions used by the maintainer's own dev tooling, not runtime code.

Your Report, Tab by Tab
At a Glance
4Stars
0Forks
3Open Issues
July 2026Last Active
CLI ToolJavaScriptPolyForm Noncommercial 1.0.0
Technology Stack
LanguagesJavaScript, Dart, HTML, Shell, Swift, Kotlin
RuntimeNode.js 18+
FrameworkElectron (desktop), Flutter (mobile), plain HTTP server (bridge)
DatabaseNone (JSON file persistence for sessions)
Package Managernpm
Key Dependenciesqrcode-terminal, qrcode, electron, electron-builder, web-push (optional), Flutter SDK
Build Toolelectron-builder, Flutter build, GitHub Actions
Test Frameworknode:test (built-in), Dart test, XCTest