m3/org/openalice-persona
openalice-persona
“> Universal 3D avatar interface for AI agents. Real-time emotions, animations, lipsync, and voice — driven by any AI agent via A2A protocol.”
Features
16
Status
·unknown
Last activity
5h ago
Branch
mvp
persona-web/component
1 feature- persona-web.component.vrm-pickerapps/web/src/components/VrmPicker.tsx:73VRM gallery — list, upload (drag-drop + file picker), select active, delete with confirm. Uses Atelier primitives.component:VrmPickersince 0.6.0
persona-web/lib
2 features- persona-web.lib.lounge-apiapps/web/src/lib/loungeApi.ts:25Typed client for Discord-Style Lounge Phase 2 — room CRUD + participant management.since 0.7.0
- persona-web.lib.vrms-apiapps/web/src/lib/vrmsApi.ts:15Typed client for /v1/me/vrms GET/POST/DELETE — bearer JWT, multipart upload, public URL decoration.function:listVrmsfunction:uploadVrmfunction:deleteVrmsince 0.6.0
persona/agent
4 features- persona.agent.connectorpackages/core/src/agent/AgentConnector.ts:20Pluggable agent transport (REST, WebSocket, MCP) for sending messages and streaming replies to a Persona.class:AgentConnectorclass:OpenAliceRestClientsince 0.1.0
- persona.agent.protocol_connectorpackages/core/src/agent/ProtocolAgentConnector.ts:14Persona-side adapter that drives the OpenAlice agent contract (ConnectorEvent in / ToolCall out) so any AgentRuntime — Alice, Hermes, custom — can power a Persona without code changes in the embed.since 0.5.0
- persona.agent.rest_runtimepackages/core/src/agent/RestAgentRuntime.ts:7REST-backed AgentRuntime adapter for Persona — wraps a "POST text → get text" backend so the AgentRuntime contract works today without server-side contract changes. Re-export of the protocol package's canonical impl.since 0.5.0
- persona.web.protocol_agent_hookapps/web/src/hooks/useProtocolAgent.ts:64React hook wiring ProtocolAgentConnector + RestAgentRuntime + agent_config fetching for the Persona embed. Drop-in replacement for raw /api/chat fetch — once Alice ships a contract endpoint, only this hook's runtime changes.hook:useProtocolAgentsince 0.5.0
persona/agents
3 features- persona.agent_idle_config.patchserver/src/idle_config_routes.rs:31PATCH /v1/me/agents/:agent_id/idle-config — per-agent idle behaviour thresholds + kind toggles. Backs the Hub's Idle behaviour section on /account/agents/[id]/settings.api:PATCH /v1/me/agents/:agent_id/idle-configapi:GET /v1/me/agents/:agent_id/idle-configsince 0.11.2
- persona.agent_overrides.patchserver/src/agent_overrides.rs:52Per-agent voice + avatar override PATCH endpoint. Lets the Hub edit voice_id / stability / similarity_boost / speed / vrm_id / display_name without rolling an openalice-auth migration. Tenant-scoped via the bearer JWT.api:PATCH /v1/me/agents/:agent_id/overridessince 0.11.1
- persona.agents.detailserver/src/agents.rs:79Return the full per-agent settings (soundboard, voice stub, persona stub) for one agent_id. 404 when the id doesn't belong to the caller's tenant.api:GET /v1/me/agents/:agent_idsince 0.11.0
persona/avatar
1 feature- persona.avatar.vrmpackages/core/src/vrm/VRMManager.ts:31Load and drive VRM avatars — expressions, mouth lipsync, tick updates via three-vrm + GLTFLoader.class:VRMManagersince 0.1.0
persona/render
1 feature- persona.web.avatar-render-modesapps/web/src/components/AvatarRenderConfig.ts:29Screen-space post-processing render modes for the VRM avatar (3d / 2d-toon / 2d-flat). Applies a custom EffectComposer chain — toon posterize, sobel outline, chromatic aberration, scan lines, bloom-tinted hologram, CRT flicker — over the rendered scene WITHOUT touching the VRM's materials. The 3D path collapses to a null composer (zero cost).since 0.9.0
persona/room
1 feature- persona.room.world-syncpackages/multiplayer/src/useWorldSync.ts:40Multiplayer presence — direct WebSocket to RT service, broadcasts position at 10fps, returns remote players.hook:useWorldSyncsince 0.1.0
persona/voice
2 features- persona.voice.chatpackages/voice/src/voiceChat.ts:109WebRTC voice chat for Persona rooms — push-to-talk, mute/deafen, screen share, webcam, VAD.hook:useVoiceChatsince 0.1.0
- persona.voice.spatialpackages/multiplayer/src/spatialAudio.ts:57Distance-based 3D audio for remote users — Web Audio PannerNodes follow player positions in scene. Singleton AudioContext shared across hook callers.hook:useSpatialAudiosince 0.2.0
persona/vrm
1 feature- persona.pose-streampackages/core/src/vrm/PoseStream.ts:61WebSocket client for openalice-anim — receives synthesized pose + blendshape frames at 60 Hz and applies them to the AvatarAnimator. When connected, suppresses the procedural idle path so the two don't fight for bones.class:PoseStreamsince 0.3.0