Skip to main content
hermes-plugin-teams-voice (plugin name teams_voice) is the Python half of the Teams CVI for Hermes Agent. It hosts the HMAC WebSocket that StandIn connects to, runs the dialogue + perception, and emits avatar driver cues. Chat-plane features live in the existing Teams adapter.
This adds voice/video (CVI) on top of Hermes Agent’s existing Teams messaging - run both for chat + calls.

Requirements

  • A working Hermes Agent install (the host).
  • A StandIn subscription (standin.komaa.com, free package) - the hosted media bridge connecting to this plugin. See Architecture.
  • Realtime mode: an OpenAI / Azure OpenAI realtime key. Streaming mode: needs ffmpeg on PATH.

Install

Install into the same Python environment as Hermes so the hermes_agent.plugins entry-point is discovered:
uv pip install --python /path/to/hermes/venv/bin/python hermes-plugin-teams-voice
# or: pip install hermes-plugin-teams-voice
hermes plugins enable teams_voice

Verify

hermes teams-voice status      # show config + readiness
hermes teams-voice serve       # run the bridge server (foreground)
Register your plugin’s WebSocket (ws://<host>:8443/voice/msteams/stream) and a matching shared secret in your StandIn dashboard, then place a Teams call to your bot.
Next: the full configuration reference - config.yaml + .env, realtime backend, and Graph permissions.

Source

PyPI

Configuration