// concierge

An AI concierge with a face, for any website.

One tag gives your site a support chat that visitors actually enjoy: a rigged 3D avatar that blinks, talks, and lipsyncs; streaming answers grounded in your live page; and voice in and out, straight from the browser. No account, no crawler setup, no per-seat pricing.

This page runs it live, try the bubble in the corner

Why it beats a faceless chat bubble

Most site chatbots are a text box with a logo. This one is a presence: the same rigged-avatar engine that powers Walk and the page guide, pointed at support.

// presence

A real 3D avatar

Skeleton-rigged, blinking, idling, viseme-lipsyncing while it speaks. Visitors pick their concierge from a diverse catalog, or you supply your own GLB.

// grounded

Answers from your page

At ask-time it reads the live page (title, headings, nav, content) plus your curated knowledge, and refuses to invent prices or policies it can't see.

// streaming

Tokens, not spinners

Answers stream in over SSE and the avatar starts speaking the first sentence while the rest is still arriving.

// voice

Talk to it, hear it

Push-to-talk speech input and browser-native speech output, no audio backend and no API key. Mute is one click and remembered.

// yours

Your brand, both themes

One accent color restyles the whole widget. Light and dark follow the visitor's system, or pin either. Bottom-left or bottom-right.

// free

Free and open

The widget is open source and the hosted answer engine runs on the three.ws free inference chain. Bring your own endpoint any time, same wire format.

Install in under a minute

Pick your flavor. Every option ships the same widget.

<script type="module"
        src="https://three.ws/concierge/concierge.global.js"
        data-concierge
        data-site-name="Acme"
        data-accent="#f97316"
        data-suggestions="What is Acme?|What does it cost?"></script>

How it works

No crawler, no vector database, no onboarding call. Three moving parts.

Harvest at ask-time

When a visitor asks something, the widget snapshots the live DOM, title, meta description, headings, nav labels, and the main content, capped to a strict budget, and merges in the knowledge you curated. Whatever your page says today is what the concierge knows today.

Ground and stream

The snapshot, the running conversation, and the question go to /api/concierge, which builds a grounded system prompt and streams the answer back over SSE from the three.ws free-first inference chain, with automatic failover across providers, so the widget stays up when any one lane is throttled.

Speak while streaming

Completed sentences are handed to the browser's speech engine as they arrive, and a text-to-viseme timeline drives the avatar's mouth morphs in sync. Muted? The captions and lipsync still play, so the answer never stalls.

Go deeper