AIVG — AI Voice Gateway: agent-platform-agnostic voice-satellite management plane + CLI
Project description
AIVG — AI Voice Gateway
AIVG is a platform-neutral voice satellite system: a thin, realtime voice transport (WebRTC / Opus) bridged into whichever agent platform plugin is configured (v1 canonical: Hermes; planned: OpenClaw). Satellites capture audio and play it back; STT, the agent loop, TTS, and end-of-utterance detection live in the upstream agent platform.
Install (PyPI)
pip install aivg
Supported: Python 3.11+ on Linux x86_64/aarch64, macOS arm64/x86_64.
⚠ Install into your existing Hermes virtualenv, not a fresh venv. The
aivg-satellite entry point is only discoverable by Hermes's plugin loader
if AIVG lives in the same venv Hermes runs from:
uv pip install --python ~/.hermes/hermes-agent/venv/bin/python aivg
Then add aivg-satellite under plugins.enabled: in ~/.hermes/config.yaml
and restart the gateway. Full setup flow: see docs/ or run
aivg setup --help.
Repo: https://github.com/cloudomate/aivg · Changelog: CHANGELOG.md · License: MIT.
Status
| Layer | State |
|---|---|
| Voice plane (WebRTC, Opus, server-side endpointing) | Implemented (features 001/005/006/008/010) |
| Management plane (registry, adoption, control WS, SSE logs) | Implemented (feature 011 Phases 1–4) |
aivg CLI + Hermes agent skill |
Implemented (feature 011 Phase 3+4) |
Quickstart
pip install -e . # picks up the renamed entry point
aivg --version # JSON envelope, contract_version 1.0.0
aivg list # see the fleet
aivg device get kitchen # full state of one device
aivg logs kitchen --follow
aivg onboard --ssid "MyWiFi" --password "..." --name "bedroom"
Repo layout
src/aivg_core/ # platform-neutral management plane
platforms/hermes/ # v1 Hermes plugin (Hermes-platform agent skill, bridge)
platforms/openclaw/ # planned plugin (stub)
webrtc/ # voice plane
management/ # App. A REST + SSE + control WS
src/aivg_cli/ # `aivg` Typer CLI
skills/hermes-agent/ # Hermes-platform agent skill (invokes `aivg` CLI)
specs/ # Spec Kit features 001–012
docs/ # design notes, data-dir reference, rebrand allow-list
Hermes vs AIVG
| Use this | When you mean |
|---|---|
| AIVG | the product, the repo, the system as a whole |
| Hermes | the v1 agent-platform plugin (one of several AIVG supports) |
aivg |
the CLI binary |
aivg_core |
the platform-neutral Python package |
~/.aivg/ |
AIVG's operator data (state, firmware manifests) |
~/.hermes/ |
the Hermes plugin's data (provider config, secrets) |
Development
# Editable install with all dev deps (pytest, ruff, black, etc.)
pip install -e ".[dev]"
# or with uv:
uv pip install -e ".[dev]"
# Run the suite
pytest -q # 300+ tests
Runtime + dev deps are declared in pyproject.toml under
[project] and [project.optional-dependencies] respectively.
(The legacy requirements-dev.txt was removed in feature 018 —
single source of truth is the pyproject.toml extras now.)
See specs/ for the design history and the active feature
(currently 018-aivg-pypi-distribution).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aivg-0.2.1.tar.gz.
File metadata
- Download URL: aivg-0.2.1.tar.gz
- Upload date:
- Size: 128.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f722f5bc65eb681f25e77752dd7a9568fb25e68ffb563fc37b9faa3e1293e6
|
|
| MD5 |
567130841ad7b890ef16e047358dd909
|
|
| BLAKE2b-256 |
a0ed283f6ad549136c7511ffdd89c1bbb5bfa98dc90192535ab26259fde20daf
|
File details
Details for the file aivg-0.2.1-py3-none-any.whl.
File metadata
- Download URL: aivg-0.2.1-py3-none-any.whl
- Upload date:
- Size: 153.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1279ed625f749a09572c4e569868138283a8255b47d0c99bdc444b358a2f37c
|
|
| MD5 |
23190b7b3e88d303933a873ef996592d
|
|
| BLAKE2b-256 |
e8dd5f77332bb215c596bf75eae4d60253feef671b448d6a172d4fcb61ef1428
|