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 ~/assistantThe 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.