via A2A_API_KEY
Agent-to-agent task dispatch and hybrid group chat (A2A connector bridge).
via OPENALICE_STORAGE_LAYOUT
File-first identity/session layout (identities/{slug}/, sessions/{conn}-{chat_id}/) read through storage-v2 compat shim when OPENALICE_STORAGE_LAYOUT=v2.
via OPENALICE_PROMPT_COMPOSER
Composer crate reads Cat-A SHA256-pinned .md blocks at boot and assembles prompts via SectionBuilder when OPENALICE_PROMPT_COMPOSER=v2.
via ws
Streams LipsyncFrame tokens (grapheme offset + viseme) into the session so gesture rhythm and mouth blendshapes are driven by the spoken token timeline.
via INTERNAL_SECRET
Persona renderer connects to /v1/sessions/{sid}/stream to consume PoseFrame + BlendshapeFrame at tick rate.
via RT_URL
Push real-time events (achievement unlocks, mood-mode broadcasts) for SPA SSE/WS subscriptions
via PERSONA_INTERNAL_URL
VRM upload/list/delete proxy — SPA talks only to BlueGenie, which forwards to persona-server
via INTERNAL_SECRET
Agent Desktop BrowserApp connects over WS to receive JPEG screencast frames and send click/type/navigate commands
via SOCIAL_URL (hardcoded https://social.blal.pro)
Loads the social UI in the native iframe — frontend served by openalice-social
via GATEWAY_URL_VOICE
Proxy /voice/* HTTP and /ws/voice WebSocket requests to the voice backend
via GATEWAY_URL_RT
Proxy /rt/* HTTP and /ws/rt WebSocket requests to the realtime backend
via GATEWAY_URL_PERSONA
Proxy /persona/* HTTP and /ws/persona WebSocket requests to the persona backend
via GATEWAY_URL_A2A
Proxy /a2a/* requests to the agent-to-agent service
via GATEWAY_URL_ALICE
Proxy /alice/* requests to the main OpenAlice service (120s timeout for LLM calls)
via ALICE_URL
System-under-test: lab spins up and probes the openalice agent binary inside the Docker incubator
via NEXT_PUBLIC_VOICE_SFU_URL
WebRTC recv-only Voice SFU — streams the agent's TTS audio into the OBS Browser Source page via VoiceClient from @openalicelabs/voice-client. BGM BgmPlayer ducks volume on oa-voice-chunk events.
via NEXT_PUBLIC_RADIO_URL
RadioPlayer subscribes to wss://radio.<domain>/v1/radio/channels/<slug>/subscribe; each now_playing frame drives the BgmPlayer cross-fade so the live page tracks the current radio track without restarting BGM.
via NEXT_PUBLIC_DEFAULT_DOMAIN
Embeds the VRM avatar renderer as an iframe (persona.blal.pro/<user>) in every VRM-bearing scene mode; forwards ?avatar=, ?anim=, ?token= from the parent URL.
via docker compose / container volume mount
Spawns and manages openalice containers; mounts alice binary + entrypoint from the main repo build.
via RT_URL
Publish persona state mutations (emotion, animation, scene) to the real-time state bus after each agent reply.
via DOMAIN
radio_bridge subscribes to wss://radio.${DOMAIN}/v1/radio/channels/:slug/subscribe and re-emits now_playing frames onto the PersonaEvent SSE bus when bgm_source=radio:<slug>.
via NEXT_PUBLIC_AGENT_URL
persona-web points its AI chat stream at the main openalice agent (POST /v1/chat/stream) for SSE-streamed assistant replies.
via ATLAS_ORG_ROOT
Consumes the OpenAlice feature inventory YAML produced by atlas to power 4-layer fuzzy gap detection and priority scoring.
via A2A_URL
Poll tasks/list (JSON-RPC) to fetch new A2A messages and forward them to Telegram
via VOICE_SFU_URL
Bundled SFU; social-api delegates audio/video sessions to it
via PERSONA_JWT_SECRET
Bundled persona server (profile=persona/full); serves avatar state to rt
via VOICE_WS_URL (wss://voice.blal.pro/ws)
P2P-mesh WebRTC signalling — join/leave rooms, relay ICE/SDP between peers.
via VOICE_SFU_WS_URL
Join SFU voice rooms as a participant; receive Opus audio frames and send TTS audio back
via RT_URL
Persona side-channel — emit emotion/expression events so the VRM avatar reacts to conversation
via A2A_URL
External A2A endpoint — forward transcribed user utterances and receive LLM reply text
via NEXT_PUBLIC_VOICE_URL
WebRTC SFU for spatial voice chat in 3D world rooms via @openalicelabs/voice-client
via NEXT_PUBLIC_RT_URL
Server-authoritative real-time state (presence, persona, room entities) via WS delta stream
via NEXT_PUBLIC_PERSONA_URL
Fetch and update persona profiles (avatar, emotion) displayed in-world