Web & self-hosted.
Zod Agent runs in any modern browser — no install, no account, no backend. Open the page, add an API key, and chat.

Everything runs client-side. Your data lives in your browser, and only the requests you send go out to the providers you configure.
Runs in any modern browser
No daemon, no install, no backend. Just open the page and start a conversation — the whole agent loop runs on the browser APIs every tab already has.
Get started in minutesOpen & chat
Open the page, add an API key, pick a model, and start chatting. No account to create, nothing to configure first.
No backend
Zero servers, zero accounts, zero cloud dependency. It's a static page that does the work itself.
Local-first
Sessions, memory, tools, and preferences persist in localStorage. Close the tab and come back — it's all still there.
Installable as a PWA
Zod is a progressive web app. Install it to your home screen for an offline shell, and a service worker keeps scheduled agents running in the background.
Learn about the schedulerInstall to home screen
Add Zod to your phone or desktop like any app. Launch it full-screen, offline or online.
Offline shell
The app shell is cached by the service worker, so the workspace is available even when you're offline.
Background scheduler
A service worker runs due scheduled tasks and agent runs even when the tab is closed.
Mobile-friendly
Safe-area aware and touch-friendly, so the workspace feels right on any screen size.
Self-host it anywhere
The build is pure static HTML, CSS, and JS. Drop it on your own server, a static host, or even a USB drive — no backend to run, no database to manage.
Deploy the static buildWorks with any OpenAI-compatible API
OpenAI, OpenRouter, Together, Groq, Ollama, LM Studio — anything that speaks /v1/chat/completions. Configure many providers, then pick a default and a fallback.
Default & fallback
If your primary provider fails, Zod transparently retries on the fallback you configure.
Retries & tuning
Exponential backoff on retryable errors, rate limiting, and a request timeout you control.
Keys stay local
API keys are stored only in your browser and sent only to the provider base URL you configure.
Open the app. Add a key. Chat.
It's free to run — you only pay for the model APIs you choose.