Original project
Artificial intelligencein your ownworkspace.
A desktop app to chat with AI models, with projects and history on your computer.
AI chat through an API, with projects and history on the computer.
- Tauri 2
- React 19
- Rust
- TypeScript
Original project
Artificial intelligencein your ownworkspace.
A desktop app to chat with AI models, with projects and history on your computer.
- Tauri 2
- React 19
- Rust
- TypeScript
AI chat through an API, with projects and history on the computer.
- Tauri 2
- React 19
- Rust
- TypeScript
The conversation
The reply arrives in pieces.
The reply shows up while it's being written, and the Stop button cuts it in the middle, without waiting for the end. Pick the reasoning effort and ask a question; then switch on the full queue and watch the program wait and try again.
Reasoning effort
Simulate failure
Pick a question down below.
The rules are the program's (provedor/conversar.rs): the reply arrives as a stream; a queue 429 and errors 500, 502, 503 and 504 get up to three new attempts, with 1, 2 and 4 second waits; a quota 429 is shown right away. The replies here are written for the demo.
The cost first
What it will cost, before you send.
Before each send the program estimates how many tokens the conversation will use. Then the service reports the real number, and the estimate learns from the error. Tick what goes along and send a few times.
What goes along
Service
The estimate
0.4% of 1M · factor 1.00×
The math is the program's: characters ÷ 4.2 and each image up to 1,024 tokens; the factor stays between 0.5× and 4×, one per service (lib.rs, calibrar_tokens). How far each service is from the estimate here is an example.

A space for every project. Conversations under your control.
Per-project settings, models through an API and a local history.
02 / WorkflowEverything stays on your computer.For the model to understand a project, the program joins the folder into a single text. What is generated, heavy or secret stays out; what looks like a copy becomes a suggestion, and you decide. Change the choices and pack.
- ▸ .git640 files · 0 tokGenerated · always out
- ▸ assets31 files · 0 tokNot text · out
- ▸ old-backup39 files · 58,200 tok
- chave.pem1 files · 600 tokKey · blocked
- ▸ dist23 files · 310,400 tokGenerated · always out
- ▸ docs6 files · 9,400 tok
- ▸ node_modules12,480 files · 4,102,000 tokGenerated · always out
- package-lock.json1 files · 98,300 tokGenerated · always out
- package.json1 files · 420 tok
- README.md1 files · 1,900 tok
- ▸ src42 files · 61,300 tok
- ▸ src-tauri18 files · 27,900 tok
61files
89,620tokens
The pack, in alphabetical order
# my-project
There are 61 files. The tree comes first and then the content of each one.
=== package.json ===
=== src ===
=== src-tauri ===
Remembered in the folder
.meuchat.json
{
"excluir": [
"old-backup"
],
"semDocumentacao": true
}The lists are the program's (projeto/varredura.rs): generated folders such as node_modules, dist and .git, images, archives and package lock files always go out; keys and certificates are blocked with no option; files above 400 KB stay out too. The alphabetical order exists because the service's cache only hits when the start of the text repeats.
Before writing
Every change is checked first.
When the model proposes changing a file, the program checks everything before writing: the excerpt must exist exactly once, nobody writes outside the folder and a new file overwrites nothing. Pick a proposal and apply.
export async function enviar(texto: string) {
if (!texto.trim()) return;
setCarregando(true);
const resposta = await mandar(texto);
setCarregando(false);
mostrar(resposta);
setCarregando(false);
return "Enviado";
}The rules are the program's (edicao/verificar.rs and aplicar.rs): checked again at write time, all or nothing, no hidden backup copy; Git only warns when the write touches files you changed yourself; undo reverts only what the program wrote.
Balance and timing
The clock that saves money.
On DeepSeek, outside peak hours the price drops by half. The clock below is already in your time zone and shows now; drag the hour or switch the day to watch the band change. Beside it, the balance and the spending, always apart.
Peak hours, in your time zone
Your time zone: UTC−3.
Balance and spending, apart
BalanceUS$ 9.92
Spent todayUS$ 0.029
Spending this week
The real screens
The rules are the program's (pico.ts and custo.rs): peak from 01:00 to 04:00 and from 06:00 to 10:00 UTC, Monday to Friday. Only DeepSeek has a balance address and a price table; for the others, the program shows tokens instead of inventing a value. The spending day is your time zone's. The week's values are an example.
The technologies
What it is made of, piece by piece
A lean desktop program: the screen is React inside Tauri 2, and everything that talks to the internet, reads the project or writes files is done in Rust, on the computer's side. Pick a piece to see what it does here and which file it is in.
10technologies, in 3 layers
Screen
Window and system
Conversation




Desktop applicationsOrganizer