The AI gateway that shows the bill.
Local models — your own on-prem GPU — and cloud models behind a single interface, with audit, quota and per-project data-protection policy. Every answer arrives with what it cost: tokens, time, tok/s and the infrastructure that served it.
Download ShvIA Desktop See the evolution
- Local and cloud models in the same conversation, switchable mid-thread.
- Every answer reports tokens, time, tok/s and where it ran.
- Your context only goes to the provider you pick — on your own GPU, it never leaves the network.
- 22 cloud profiles in the catalogue — BYOK, subscriptions and optional integrations
- + on-prem GPU local models — context that never leaves the network
- 4 API dialects native · OpenAI-compat · Anthropic-compat · Responses
- 7 surfaces web · desktop · mobile · cli · workspace · bench · memory
A gateway, not one more chat
The question ShvIA answers is not “which model is best”. It is “who talked to which model, with what context, what it cost and where it ran”. It sits between the people doing the work and the providers: applies the project policy, draws down the group quota, records the request and hands back the answer with the gauge beside it.
- gateway
- One interface for cloud via BYOK and local models: Ollama, plus vLLM, SGLang, llama.cpp and LM Studio through an OpenAI-compatible API. Your key, your contract, your infrastructure.
- providers
- Anthropic, OpenAI, xAI, Z.ai, Kilo, DeepSeek, Kimi, MiniMax, Gemini, Vertex AI, AWS Bedrock, IBM, Groq, Mistral, Together, Novita and OpenRouter. Models are discovered with your credentials; availability depends on the installation’s configuration.
- subscription
- OpenCode and ChatGPT can use your subscription. The catalogue also includes optional SuperGrok, Z.ai Coding and Kimi Code profiles when enabled in the installation. The account stays yours, at the provider.
- audit
- Full log of every request, authentication attempt, token count and timing.
- quota
- A ceiling per Work Group — Beginner, Professional, Expert, Admin. Daily, weekly and monthly, editable by the administrator, with a warning before you hit it.
- workspaces
- Folders, files and text extraction, turned into conversation context.
- code mode
- An agent that reads, shows changes, edits and runs commands in your local folder — with the engine and approval level you choose.
- voice
- Talk without holding a button: speak, hear the answer and interrupt by speaking. Requires microphone permission and available speech recognition and synthesis services.
- memory
- What was already decided comes back in the next conversation — and, with ai-memory, crosses agents and machines as markdown you can read without the app.
- channels
- WhatsApp, Telegram, Slack and SMS connect the conversation to your channels. Each integration needs configuration; SMS requires a Twilio account and carries messaging costs.
- mcp
- Both ways: ShvIA consumes MCP servers and also presents itself as one — with allowed_tools closed by default.
- anna
- The name of ShvIA’s assistant. In the terminal, the
annaCLI; on screen, the same voice.
The gauge does not lie
Telemetry is not decoration: it is working information. Every answer comes out with its receipt beside it — the number on screen is the real number from the run, in a mono face with tabular figures, so you can compare line against line without effort.
And when the answer comes off your own GPU, the receipt shows the best line there is: cost R$ 0.00.
| SHVIA · INFERENCE RECEIPT | #000481 |
| conversation | anna · operations |
| infra | gpu-local |
| model | qwen3-coder:30b |
| effort | medium |
| input tokens | 12,481 |
| output tokens | 1,903 |
| total time | 28.4 s |
| speed | 67.0 tok/s |
| cost | R$ 0.00 |
| ran on your GPU — nothing left the network | |
|
example receipt layout — in the app, every line comes from the real run | |
Where the data goes
From keyboard to answer, through a single place — leaving an auditable trail.
- You send the question and the context — workspace files, a code selection.
- The gateway resolves the model profile, checks the group quota and opens the audit record.
- The run goes to the on-prem GPU — where context never leaves the network — or to a cloud provider with your key.
- The answer comes back with its receipt, and the record closes on the same numbers.
Combos: plan B is settled before the first token
A combo is a queue of models with an owner. If the primary does not answer — provider limit, outage, expired key — the gateway moves to the next one before the first token, in the same conversation and with the same context. No error screen, no starting over.
- claude-sonnet-4-6 anthropic · nuvem provider limit
- qwen3-coder:30b gpu-local · on-prem served instead
- deepseek-chat deepseek · nuvem queued — not needed
example illustrative chain — in the app you build the combo yourself, and the receipt says who actually served
- your combos
- Created and edited in the panel: the order, the models and the queue’s nickname belong to the user, not to the system.
- in the picker
- The combo shows up in the model picker marked with ⚡ — choosing the queue is as simple as choosing a model.
- on the receipt
- Every answer still says which model and which infrastructure served it. Fallback is not a black box.
The agent works in your folder — under your control
Code Mode brings together the conversation, files, changes and project tasks. You choose the engine and approval level. History stays on the server, with author, date, model and usage — so you can resume work with the context of what already happened.
- five tabs
- General, Files, Changes, Tasks and Workspace: conversation, preview, diff, tasks with context and access to the working environment.
- skills
- Instructions scoped to a project, importable from a git repository or a standalone
SKILL.md— with the price in plain sight before you choose. - documents
- Project markdown under versioned revision: what the agent wrote yesterday is still readable and comparable today.
- three engines
- ShvIA, Claude Code and Codex. Choose the gateway or native executors with your account; the panel identifies the engine and model in use.
- approval
- Manual, Edit, Auto, Full and Plan adjust autonomy according to the engine. Full requires written confirmation, bypasses Allow/Ask/Deny lists and is not saved for the next session.
- continuity
- Resume history, follow parallel sessions on Desktop and send guidance while the agent is working. Tasks carry the selected project context.
- local browser
- The agent can read and operate a Desktop window, with native confirmation for each click and typed text. Optional and off by default: requires Desktop 1.23.0 and activation in both the server and app.
- sub-agents
- A large task splits, and the budget for the whole tree is declared up front: delegation with a ceiling, not with a surprise.
A token that never travels is never billed
Tool output is the largest consumer of context in Code Mode. RTK compresses that traffic before it reaches the model — content-aware reading of JSON, compacted diffs — and the panel shows how many characters never travelled, account by account. Not a promise: a gauge.
- rtk
- Tool-output compressor for Code Mode: the model receives what matters, not the raw dump.
- diffs
- Code changes travel compacted — editing context without paying for the whole file again.
- cache
- The provider’s prompt cache where there is one — and whatever the provider caches on its own, the gateway stays out of the way.
- panel
- Accumulated savings show up in your account, measured — in the same place as every other gauge.
Ask, walk away, get told
Not all work fits inside the time a screen stays open. A routine is a chain of steps with a schedule of its own: it runs without you, handles failure step by step and delivers the result on the configured channel you pick — in the app, by e-mail, on Telegram, WhatsApp or SMS.
-
Build the chain
Steps in sequence, each with its own instruction for failing. One step’s envelope is the next one’s input — and the routine picks its infrastructure and model, like any conversation.
-
It runs on schedule
Declarative cron, per user. A repeating routine has a failure ceiling: break too often and it stops and says so, instead of insisting in silence.
-
Check the bill
Run by run, with tokens, time and infrastructure — drawn from the same quota. Automatic work is not invisible work.
- triggers
- Beyond schedules, routines can respond to webhooks and messages received in a connected IMAP inbox. Accounts and channels must be configured.
- bots
- A bot is a conversation with an owner: a memory of its own that does not leak into the others, and spend visible as it happens.
- quota warning
- At 80% of the ceiling ShvIA tells you — once per window, in the app and on Telegram. A quota blown mid-task is not news you break afterwards.
- long question
- An answer that takes minutes leaves the open connection and goes to the queue: close the tab and the notice finds you.
Point the CLI you already use
The gateway speaks four dialects: the app’s native one, the
OpenAI-compatible one, the one that matches Anthropic’s Messages API,
and the Responses API. In practice the same key drives
Claude Code, OpenAI-compatible clients and anna — and every
call goes through the same audit, quota and project receipt.
-
Generate the key
In the app: Account → Generate API Key. It is born with the
shvia_usr_prefix, valid for 365 days — and it is shown exactly once. -
Point the base URL
Two environment variables, no fork, no plugin. The client finds
/v1/messagesand/v1/modelson its own. -
Check the bill
The call from your terminal shows up in the panel like any conversation: tokens, time, infrastructure — drawn from the same project quota.
# Anthropic dialect (Claude Code, official SDK)
$ export ANTHROPIC_BASE_URL=https://ai.shvia.org
$ export ANTHROPIC_API_KEY=shvia_usr_…
$ claude
# OpenAI dialect (any compatible client)
# base_url: https://ai.shvia.org/v1 — GET /v1/models lists the models
In the app, Account → Connect my CLI generates that block ready to paste — with your chosen client and model, and without ever embedding the key in a page. If you already pay for OpenCode or ChatGPT, plug the subscription in instead of the key; the rest of the path is the same.
One system, seven surfaces
The same gateway answering from different places. Tokens, typography and component vocabulary are identical across all of them — one system, not ten screens.
- web ShvIA Web — chat and voice, Code Mode, bots, routines, account panel and administration. in production
- desktop ShvIA Desktop — a native app with automatic updates, parallel Code sessions and guided executor installation. See the published installers for your system. in production
- mobile ShvIA Mobile — iOS and Android, return-to-app locking with biometrics when available, media attachments and file saving. in submission
-
cli
anna— a coding agent in the terminal, driven by the same gateway, with the bill itemised by role. in production - workspace ShvIA Workspace — a remote environment with isolated missions and service previews by port, when preview infrastructure is configured. internal use
- memory ai-memory — long-term memory in versioned markdown, crossing agents and machines. open source · MIT
- bench SHVIA-BENCH — an isolated environment for measuring models on engineering tasks, with no contamination between runs. public repository
Context sovereignty
ShvIA exists so that working with AI does not mean sending your own context outside without control. Success is the user never having to ask “where did my code go”.
- on-prem
- Models running on your own infrastructure’s GPU: context never crosses the network edge.
- byok
- When the run is in the cloud, the key is yours — the data-processing contract is yours, straight with the provider.
- per project
- The policy for where each context may go is decided per project, not by the habits of whoever typed.
- locality
- Every provider declares where the run happens — on-prem, US cloud, China cloud — and that is recorded on the request, not in the memory of whoever chose.
- masking
- National ID numbers, e-mail addresses and phone numbers leave masked whenever the destination is off-premises.
- strict mode
- With LGPD protection on — Brazil’s data-protection law — none of the project context goes to the cloud. And the in-house knowledge base never does, switch or no switch.
- trail
- Request, tokens, time and infrastructure are all recorded: you can audit later, not just trust in the moment.
- training
- ShvIA does not train models on your content. What leaves here is an inference request.
An app with a recorded evolution
Features arrive with a version and a date. Follow the milestones across the gateway, native apps and development tools.
Artificial intelligence, from 1943 to today
From a neuron on paper to the labs at the frontier today: 95 entries since 1943, each date linked to its source. The latest frontier releases:
Questions
Can I sign in straight from here?
What is the difference between ai.shvia.org and ia.shvia.org?
ai in
English, ia in Portuguese — whoever types from memory
gets it right either way.
Do I need an account? How do I get one?
Is my data used to train a model?
Which language does ShvIA answer in?
Can I use a subscription I already pay for?
Why does the site change theme?
Can I use Claude Code — or another CLI — with ShvIA?
/v1 facade speaks OpenAI’s dialect
(/v1/chat/completions, /v1/models) and
Anthropic’s (/v1/messages). Point your client’s base URL
at the app and use the key generated in the panel — the
“Point the CLI” section shows the two
lines you need.
What is the strip at the top reading?
/api/v1/health: state, version and how long
the probe took. If the reading fails, the fields sit at “—” with the
reason beside them. A blank field is information; an invented number
is not.
Sign in to ShvIA
The conversation, Code Mode and the usage panel are on the other side of the sign-in.