Convobox banner
LegionForge LegionForge

Convobox

Development community

Description

A local, backend-agnostic voice frontend for CLI coding agents

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

LegionForge - ConvoBox

[![CI](https://github.com/LegionForge/convobox/actions/workflows/ci.yml/badge.svg)](https://github.com/LegionForge/convobox/actions/workflows/ci.yml) [![PyPI](https://img.shields.io/pypi/v/legionforge-convobox.svg)](https://pypi.org/project/legionforge-convobox/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-blue.svg)](pyproject.toml)

A local, backend-agnostic voice frontend for CLI coding agents. It sits between you and whichever coding agent CLI you're driving — Claude Code, Codex, OpenCode, and eventually others — and lets you work by voice instead of (or alongside) the keyboard.

**Headphones strongly recommended for now.** Acoustic echo cancellation (open mic + speakers, no headphones) is still being dialed in — see [docs/DESIGN-echo-and-barge-in.md](docs/DESIGN-echo-and-barge-in.md) for the live tuning notes. Headphones sidestep the whole problem: the assistant's own voice never reaches the mic, so self-barge-in can't happen regardless of room acoustics. Open-speaker use works today but is the rougher edge of the experience.

AI-assisted change attribution is documented in [docs/AI-ATTRIBUTION.md](docs/AI-ATTRIBUTION.md). The repo also includes a commit template at [`.gitmessage.txt`](.gitmessage.txt) for local AI-assisted commits.

Quick Start

The fastest way to hear it work, no microphone required — no `git clone` needed either, it's a real package:

pip install legionforge-convobox    # or: pipx install legionforge-convobox

Then a small `convobox.yaml` pointing at a backend you already have working standalone (`opencode serve`, or `claude`/`codex` on your PATH):

backend:
  name: opencode              # "opencode" | "claude-code" | "codex"
  url: http://localhost:4096  # opencode only
# start your backend first, e.g.: opencode serve
convobox --text "Reply with one short sentence: it wor