Sybil Web
Preact + Vite frontend for the Sybil backend.
Setup
- Copy env values:
cp .env.example .env
- Install and run:
npm install
npm run dev
Default dev URL: http://localhost:5173
Environment variables
VITE_API_BASE_URL: backend API base URL. Defaults tohttp://localhost:8787.VITE_ADMIN_TOKEN: optional. Pre-fills a token in the login form.
Authentication
- On startup, the app checks
GET /v1/auth/session. - If backend runs with
ADMIN_TOKEN, sign in using that token. - If backend runs in open mode (
ADMIN_TOKENunset), you can continue without a token. - The entered token is stored in browser
localStorageand can be cleared via Logout.
UI
- Left panel: mixed list of chat conversations and Exa searches.
- Right panel:
- Chat mode: transcript + provider/model controls.
- Search mode: top AI answer block + Google-style Exa results view.
- Composer adapts to the active item:
- Chat sends
POST /v1/chat-completions/stream(SSE). - Search sends
POST /v1/searches/:searchId/run/stream(SSE).
- Chat sends
Client API contract docs:
../docs/api/rest.md../docs/api/streaming-chat.md
Routes
/: full Sybil app (sidebar + chat/search workspace)/search?q=bitcoin+price: standalone search page that renders only the search query box and results panel