SMEEware Chatruns where you do.
Reasoning, tool calls and the answer stream in as they happen — with your files, your voice and the model you picked. Nothing leaves this machine unless you send it.
Or search directly with ⌘K in the docs
Streaming built in
Reasoning, tool calls and the answer arrive as they happen — not in one lump at the end.
Local or hosted
Run a model on your own machine through Ollama, or a hosted one. Same chat, same tools — you pick per message.
Encrypted at rest
Chats and notices are encrypted with a key derived from your password. The key lives in memory only, never on disk.
Files, voice, tools
Attach a file, speak your question in any language, and let the model search, fetch and look at things itself.
Nothing to sign up for
The backend runs next to you on localhost. Start it, point a request at it, and read the answer as it comes in. No key, no account, no SDK to install.
To the quickstartcurl -N http://127.0.0.1:8000/api/v1/chat/stream \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "Hello!"}],
"model": "deepseek-v4-flash"
}'Ready to put it online?
Local stays keyless. When you expose the backend, an API key becomes the ticket in — created against your account, shown once, sent as a bearer token. Turn on REQUIRE_API_KEY and every request needs one.
curl -N https://your-host/api/v1/chat/stream \
-H "Authorization: Bearer sk_smee_…" \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user",
"content":"Hello!"}]}'The whole API
Just a handful of endpoints — nothing more to learn.