AIVG — AI Voice Gateway: agent-platform-agnostic voice-satellite management plane + CLI; Hermes is the v1 plugin (constitution v2.0.1)
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) |
| Constitution | v2.0.1 (PATCH — branding rebrand only; Principle IV agent-platform-agnostic since v2.0.0) |
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) |
Constitution
.specify/memory/constitution.md. v2.0.1.
Five principles; Principle IV is the binding constraint: AIVG is
agent-platform-agnostic via the documented AgentPlatform plugin seam at
src/aivg_core/platforms/base.py.
Development
pytest -q # 170+ tests; includes the rebrand lint
See specs/ for the design history and the active feature
(currently 012-aivg-branding).
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.0.tar.gz.
File metadata
- Download URL: aivg-0.2.0.tar.gz
- Upload date:
- Size: 127.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b927b95ba7227b97d087f21aeffa6031c001653deb8986c31d91550f49050896
|
|
| MD5 |
ea7fcb9ab800dc0e3381aa8800e1aae3
|
|
| BLAKE2b-256 |
a7ae881ef6c7fcdabdd2d402d66b0fb15660b4e811673ac2a82491aa6f75db82
|
File details
Details for the file aivg-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aivg-0.2.0-py3-none-any.whl
- Upload date:
- Size: 152.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee12f23be0d5dfc49492c9495477be96a280a15c56545a1a05e49bfc314a667d
|
|
| MD5 |
a5531e45147a12abedea17901038f284
|
|
| BLAKE2b-256 |
ee717cacc030e6b8ea9398b671092812da93b3c675c553a9498fd6886a5304a3
|