Voice mode + web UI for @open-gitagent/gitagent.
This package was split out of @open-gitagent/gitagent in core v2.0.0 so the CLI/SDK tarball stays slim and supply-chain scanners stop blocking it. The voice runtime (OpenAI Realtime + Gemini Live adapters, the file browser, the Composio toolkit bridge, the scheduler UI, the 200 KB single-file web UI) all live here.
# Both packages — voice mode works out of the box npm install -g @open-gitagent/gitagent @open-gitagent/voice # Then launch with voice: gitagent --voice -d ~/assistant
The gitagent CLI ships in @open-gitagent/gitagent. --voice dynamically loads this package; without it installed, the CLI prints an install hint and exits.
startVoiceServer(opts)— HTTP + WebSocket server (default:3333) with the web UI, file viewer, settings tab, skills/integrations/scheduler tabs.- OpenAI Realtime adapter — GA endpoint, GA
session.updateshape, GA event names. - Gemini Live adapter — Google's Live API.
- Composio bridge — toolkit browser and action execution from the UI.
import { startVoiceServer } from "@open-gitagent/voice"; const stop = await startVoiceServer({ adapter: "openai-realtime", adapterConfig: { apiKey: process.env.OPENAI_API_KEY! }, agentDir: "/path/to/agent", }); // ...later await stop();
startVoiceServer uses @open-gitagent/gitagent (peer dep) for the agent loader, SDK query(), the message-type protocol, and the standalone scheduler. Versions are decoupled — voice declares ^2.0.0 on core and follows core's semver.
The published @open-gitagent/gitagent@1.5.x tarball was being blocked with HTTP 403 by supply-chain scanners. The trigger was the bundled dist/voice/ui.html (~3,860 LOC of inline HTML/JS/CSS) plus the unused baileys dependency. Splitting voice out:
- core tarball: 179.5 kB → 85.7 kB packed (−52%), 310 → 211 deps
- voice tarball: ~150 kB packed (separate install, you opt in)
MIT.