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-picker
    apps/web/src/components/VrmPicker.tsx:73
    VRM gallery — list, upload (drag-drop + file picker), select active, delete with confirm. Uses Atelier primitives.
    component:VrmPicker
    since 0.6.0

persona-web/lib

2 features
  • persona-web.lib.lounge-api
    apps/web/src/lib/loungeApi.ts:25
    Typed client for Discord-Style Lounge Phase 2 — room CRUD + participant management.
    since 0.7.0
  • persona-web.lib.vrms-api
    apps/web/src/lib/vrmsApi.ts:15
    Typed client for /v1/me/vrms GET/POST/DELETE — bearer JWT, multipart upload, public URL decoration.
    function:listVrmsfunction:uploadVrmfunction:deleteVrm
    since 0.6.0

persona/agent

4 features
  • persona.agent.connector
    packages/core/src/agent/AgentConnector.ts:20
    Pluggable agent transport (REST, WebSocket, MCP) for sending messages and streaming replies to a Persona.
    class:AgentConnectorclass:OpenAliceRestClient
    since 0.1.0
  • persona.agent.protocol_connector
    packages/core/src/agent/ProtocolAgentConnector.ts:14
    Persona-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_runtime
    packages/core/src/agent/RestAgentRuntime.ts:7
    REST-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_hook
    apps/web/src/hooks/useProtocolAgent.ts:64
    React 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:useProtocolAgent
    since 0.5.0

persona/agents

3 features
  • persona.agent_idle_config.patch
    server/src/idle_config_routes.rs:31
    PATCH /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-config
    since 0.11.2
  • persona.agent_overrides.patch
    server/src/agent_overrides.rs:52
    Per-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/overrides
    since 0.11.1
  • persona.agents.detail
    server/src/agents.rs:79
    Return 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_id
    since 0.11.0

persona/avatar

1 feature
  • persona.avatar.vrm
    packages/core/src/vrm/VRMManager.ts:31
    Load and drive VRM avatars — expressions, mouth lipsync, tick updates via three-vrm + GLTFLoader.
    class:VRMManager
    since 0.1.0

persona/render

1 feature
  • persona.web.avatar-render-modes
    apps/web/src/components/AvatarRenderConfig.ts:29
    Screen-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-sync
    packages/multiplayer/src/useWorldSync.ts:40
    Multiplayer presence — direct WebSocket to RT service, broadcasts position at 10fps, returns remote players.
    hook:useWorldSync
    since 0.1.0

persona/voice

2 features
  • persona.voice.chat
    packages/voice/src/voiceChat.ts:109
    WebRTC voice chat for Persona rooms — push-to-talk, mute/deafen, screen share, webcam, VAD.
    hook:useVoiceChat
    since 0.1.0
  • persona.voice.spatial
    packages/multiplayer/src/spatialAudio.ts:57
    Distance-based 3D audio for remote users — Web Audio PannerNodes follow player positions in scene. Singleton AudioContext shared across hook callers.
    hook:useSpatialAudio
    since 0.2.0

persona/vrm

1 feature
  • persona.pose-stream
    packages/core/src/vrm/PoseStream.ts:61
    WebSocket 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:PoseStream
    since 0.3.0