mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-09 08:21:50 +00:00
Merge pull request #22534 from wesleysimplicio/fix/voice-mode-docker-respect-pulse-pipewire
fix(voice): honor PULSE_SERVER/PIPEWIRE_REMOTE inside Docker (#21203)
This commit is contained in:
commit
81a4f280d2
2 changed files with 69 additions and 2 deletions
|
|
@ -102,10 +102,23 @@ def detect_audio_environment() -> dict:
|
|||
if any(os.environ.get(v) for v in ('SSH_CLIENT', 'SSH_TTY', 'SSH_CONNECTION')):
|
||||
warnings.append("Running over SSH -- no audio devices available")
|
||||
|
||||
# Docker/Podman container detection
|
||||
# Docker/Podman container detection — honor host audio forwarding.
|
||||
# When the user mounts a PulseAudio/PipeWire socket into the container
|
||||
# and points PULSE_SERVER / PIPEWIRE_REMOTE at it, audio works fine
|
||||
# (issue #21203). Only block when no forwarding is configured.
|
||||
from hermes_constants import is_container
|
||||
if is_container():
|
||||
warnings.append("Running inside Docker container -- no audio devices")
|
||||
if os.environ.get('PULSE_SERVER') or os.environ.get('PIPEWIRE_REMOTE'):
|
||||
notices.append("Running inside container (Docker/Podman/LXC) with host audio forwarding")
|
||||
else:
|
||||
warnings.append(
|
||||
"Running inside container (Docker/Podman/LXC) -- no audio devices.\n"
|
||||
" Forward host audio with one of (substitute $XDG_RUNTIME_DIR for your runtime dir,\n"
|
||||
" typically /run/user/$UID):\n"
|
||||
" PulseAudio: -v $XDG_RUNTIME_DIR/pulse/native:$XDG_RUNTIME_DIR/pulse/native \\\n"
|
||||
" -e PULSE_SERVER=unix:$XDG_RUNTIME_DIR/pulse/native\n"
|
||||
" PipeWire: -e PIPEWIRE_REMOTE=$XDG_RUNTIME_DIR/pipewire-0"
|
||||
)
|
||||
|
||||
# WSL detection — PulseAudio bridge makes audio work in WSL.
|
||||
# Only block if PULSE_SERVER is not configured.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue