server

SKILL.md

Vuer Server

Configuration

app = Vuer(
    port=8012,              # WebSocket port
    static_root=".",        # Static files at /static/
    cors="*",               # CORS origins
    free_port=False,        # Auto-kill process on port
)

Environment variables: VUER_PORT, VUER_DOMAIN, VUER_CORS, VUER_STATIC_ROOT

Decorators

# Main handler (start=True auto-starts)
@app.spawn(start=True)
async def main(session: VuerSession):
    session.set @ DefaultScene()
    await session.forever()

# Generator for streaming
@app.bind(start=True)
async def handler(session: VuerSession):
    while True:
        yield Frame(Update(...), frame_rate=60)

Event Handlers

@app.add_handler("CAMERA_MOVE")
async def on_camera(event: ClientEvent, session: VuerSession):
    print(event.value)

Events: CAMERA_MOVE, HAND_MOVE, CLICK, UPLOAD, OBJECT_MOVE

SSL for VR

VR requires wss://. Use ngrok:

ngrok http 8012
# Visit: https://vuer.ai?ws=wss://xxxx.ngrok.io

Or configure SSL:

app = Vuer(cert="/path/to/cert.pem", key="/path/to/key.pem")
Weekly Installs
2
Repository
vuer-ai/vuer
First Seen
Jan 25, 2026
Installed on
windsurf1
opencode1
cursor1
codex1
claude-code1
antigravity1