Every [1] in an answer links to the page it refers to. A numbered source list sits underneath with the provider's own snippet.
Ask the web. Keep the receipts.
Live web search with numbered citations, built into a workspace that moves between Claude, ChatGPT, Gemini, DeepSeek and 60+ more models without losing the thread.
Anthropic Messages API with real token streaming. Requires an Anthropic API key.
Real APIs, real keys, no demo mode
Answers with
receipts.
Turn on the Web chip and Eltes searches the live web through your own search key — Brave, Tavily, Serper or Exa. You get a written answer, numbered inline citations and every source link on the page.
- Understanding the question18 ms
- Searching the web · “WebGPU browser support”720 ms
- Read 4 sourcesmdn · chrome · w3.org
- Writing an answer with citations6 ms
WebGPU is a browser API that exposes modern GPU features — compute shaders and rendering — to JavaScript 12. It ships in current Chrome, Edge and Safari releases, with Firefox support rolling out behind flags 3. Check the browser support table before relying on it in production 4.
The steps above the answer are recorded as they happen — the query, the provider, how many results returned and the time each step took.
Pick Brave, Tavily, Serper or Exa in Settings. The search key stays in this browser and goes only through the backend you configure.
No key or no results means an explicit message, not a guess. Eltes never fabricates a URL, a snippet or a citation.
One workspace.
Many ways to think.
Real provider logos, real endpoints, real streaming. Pick a model, paste a key, and the same conversation carries across labs.
A model you train
in your own tab.
Not a demo script. A real character-level network — embeddings, a hidden layer, softmax — trained by backpropagation and Adam in plain JavaScript, then saved to this browser.
Real gradients
51,245 weights, hand-written backprop, dropout, weight decay, gradient clipping and Adam with bias correction. The loss falls because the maths ran.
Curves, not claims
Training and held-out validation loss are drawn live, with the best validation point marked. On a corpus this small the dashed line turns up — overfitting, shown rather than hidden.
Yours after one save
The checkpoint lives in localStorage. Eltes Lab-1 then appears in the workspace picker and continues your text — honestly labelled, no key, no upload.
Built for people who
switch models.
No account walls, no model lock-in, no fake answers. A sharp interface that gets out of the way of the work.
Compare labs on the same prompt
Send a prompt, switch models, and keep the same context without losing track of which provider answered. Replies stay labeled by model.
An agent that actually runs
Two ways to call a tool, one trace. Hosted models ask through native function calling; Eltes CAI-1 plans the run on-device with no key and no network. Every step is timed and visible.
convert_units(value, from, to)
percentage(mode, value, base)
date_math(kind, start, end)
Your keys, your browser
Each provider key is stored locally and attached at request time. Requests go directly to the provider by default; you may opt into your own Vercel/local proxy. Provider billing remains with the provider.
ELTES_KEYS.zai = "••••7a1e"
// sent direct or via your trusted proxy
History that stays local
Threads, titles and pins live in local storage. Search them from the palette, export them as Markdown, delete them in one click.
Real numbers, not vibes
Every reply records time to first token, total latency, input and output tokens, and tokens per second straight from the provider's usage payload.
Failure states with answers
401, 429, CORS and offline each get a specific explanation and a retry that keeps your prompt. No silent fallbacks, no invented replies.
429 rate limited · retry in 4s
CORS blocked · use a proxy
Studio: code, run and preview in one window
A real workspace with a real shell. Open any HTML file and the preview follows it, edit and the page reloads, run npm run build and watch it land. The terminal runs locally with npm start — never on the deployed site.
vite v6 building for production…
✓ 12 modules transformed
dist/index.html · 1.42 kB
preview reloaded
Reel: a video editor that runs in this tab
Import clips and songs, cut on a snapping timeline, add crossfades, keyframed motion and animated text, then record a real video file. Nothing is uploaded and no account is needed — the project stays in this browser.
title “Night drive” · 4 keyframes
music waveform · fade in 1.2s
▸ export webm · recorded in real time
It calls tools.
It doesn't pretend to.
Eltes runs a real tool loop: the model requests a tool, the browser executes it, the result goes back into the conversation. With Eltes CAI-1 there is no model to ask — a deterministic planner picks the tools itself. Every call is timed and visible either way.
- Eight tools — arithmetic, unit and temperature conversion, percentages, calendar maths, the clock, your own chat history, the glossary, and cited web search with your own key.
- Works with no key — Agent mode is on by default. On CAI-1 the planner runs six of those tools in the tab, so nothing is sent anywhere.
- Provider-native — OpenAI tool calls and Anthropic
tool_use, streamed, up to four rounds. - Interruptible — stop mid-loop and keep every token already received.
- MCP servers — connect Blender or Roblox Studio and the model builds models, animations and game scaffolds in your own apps. How MCP works
For example: calculate, read the clock, or search chat history.
No shell access, no arbitrary terminal commands — MCP tools go to apps you started, and on CAI-1 the planner chose the tool itself.
When enabled, the provider receives the tool result to finish its answer.
One workspace.
Your rules.
Pick the model, choose how the request is sent, and keep control of your local workspace.
| Capability | Eltes | What that means |
|---|---|---|
| Model choice | 65 catalogue entries | Hosted providers plus your own OpenAI-compatible endpoint. |
| Provider access | Bring your own key | Direct from the browser by default; optional trusted proxy. |
| Conversation continuity | Switch mid-thread | Choose a different model without discarding the chat. |
| History | Local by default | Export or clear it from this browser at any time. |
| No-key option | Eltes CAI | A small, bounded on-device helper—not a frontier LLM. |
| Agent tools | Visible and local | Eight tools — maths, units, percentages, dates, clock, history, glossary, cited web search — run in the page, or planned on-device with CAI-1; no shell access. |
| Usage visibility | Latency and tokens | Metrics depend on what each provider reports. |
| Hosted billing | Provider-controlled | Provider pricing and account limits still apply. |
BYOK is free.
Hosted plans are next.
The workspace is free. Hosted model replies require your provider API key and may be billed by that provider. CAI runs locally at no per-token cost. No Eltes hosted plan or free hosted credits are available yet.
BYOK
Connect your provider key for real streamed replies. Eltes checks for a saved key before sending; without one, use CAI locally for free.
- All 66 models, 14 providers
- Agent tools and streaming
- Local history and exports
- No Eltes account required
Plans & credits
Hosted keys, one bill and no setup. The same workspace, without pasting anything.
- Hosted model access
- Usage dashboard and caps
- Shared threads and teams
- Waiting on billing infrastructure
Team
For teams that want centralised keys, audit trails and SSO.
- SSO and role controls
- Shared prompt library
- Self-hosted deployment
- Design partner programme
Pricing is a placeholder while the beta runs. Nothing is charged, and no card is ever requested. Read the pricing notes.
Sign in with
the account you use.
Eltes connects OpenAI, Anthropic and DeepSeek directly. Sign up with the provider that already pays for your models, or create an Eltes account with an email and password — a real row in our Supabase project, guarded by row-level security — or keep a local profile with no account at all. Model keys never go to that database. Hosted model requests may optionally use a Vercel/local proxy that you configure.
No password. The welcome email is sent by your own Eltes server, if you run one. Provider keys stay in this browser. How accounts work
Eltes as a real
desktop app.
A native window with the workspace, Studio, the terminal and the local API inside it. No server to install, no Node runtime to find, no browser tabs. Windows, macOS and Linux builds come from the same harness and the same site.
One app, three platforms
The shell starts the bundled local server on a free loopback port, then opens the workspace in a hardened window. Chats, keys and the Studio folder stay on your machine.
- Windows 10/11Eltes-Setup-3.18.0-x64.exe · also arm64; or the portable .exe with no install
- macOS 12+Eltes-3.18.0-arm64.dmg for Apple silicon · x64 .dmg for Intel
- LinuxEltes-3.18.0-linux-x86_64.AppImage · eltes_3.18.0_amd64.deb
No installer, just files
Unzip and double-click eltes.bat. It finds Python or Node, serves the folder on 127.0.0.1:4173 and opens your browser.
Two commands to an installer
Clone the repository, install once, then build the installers for the platform you are on.
npm install && npm run desktop:buildChecksums and build logs live on the release page for each tag. Unsigned Windows builds show SmartScreen’s “More info → Run anyway”; unsigned macOS builds need a right-click → Open the first time. The desktop app adds no telemetry and no update pings.
Connect an account.
Get a real answer.
Every hosted answer comes from a live provider you connected. Or start with Eltes CAI and get a real on-device answer before you add a key — no simulated replies, no fake latency.