QuapQuap

How the AI assistant works

Describe a change in plain words; the model plans it, Quap runs it locally, and you review the result before applying.

The AI assistant turns an instruction like "keep only the orders over 500, mask the customer emails and sort by date" into a sequence of Quap operations and runs them on your document. You see the result and a diff, and nothing changes until you click Apply.

The model plans, Quap does the work

You write an instruction

Open AI Chat (⌘J) under the editor and type what you want, or click a suggestion bubble.

The model writes a plan

The model receives your instruction and a description of the document — its format, size and, if you allow it, its key names — and answers with a short plan: a list of steps such as filter, mask, sort_array.

Quap checks the plan

Every step is validated against Quap's own operations. If the plan is invalid, Quap asks the model to fix it (The plan was invalid, retrying…). If a request is impossible you get Quap can't do this: with the reason.

Quap runs it on your computer

The steps run locally on the real data, one after another. Each step shows what it did — for example 34 matches — and the result opens in the preview.

You decide

Review the Result and the Diff, then Apply, Open in new tab or Discard.

What the model never sees

Your values stay on your computer

The provider receives only your instruction and, if Send key names (schema) is on, the names and types of the keys. Values — the emails, amounts, addresses in your document — are never sent. With the built-in local model nothing leaves the computer at all.

Keep in mind that the instruction itself goes to the provider: if you type a customer's name into the chat, that name is sent. Each plan shows a Sent to provider section so you can check exactly what went out.

What it can do

KindExamples you can type
Clean up"fix the JSON", "format the document", "remove duplicate records"
Records"keep only the active users", "sort the orders by total, highest first", "add a field country = TR to every record", "delete the internalNotes field"
Values"multiply price by 1.2", "format the dates as DD.MM.YYYY", "format phone numbers as +90 (5XX) XXX XX XX", "build fullName from firstName and lastName"
Privacy"mask emails and phone numbers", "replace the names with realistic random names", "hash the passwords with bcrypt", "encrypt the iban field with AES-256"
Shape"convert to CSV", "reshape every record into { id, customer: { name }, total }", "convert all keys to camelCase"
Generate"generate 200 more records like these", "give every record a new UUID v7"
Analyse"orders per city as a pie chart", "average delivery time per courier", "monthly revenue trend" — see AI analysis
Code and SQL"TypeScript types for this", "CREATE TABLE and INSERT for PostgreSQL", "convert this query to SQL Server", "convert this SQL to C# LINQ"
Text"sort the lines", "remove duplicate lines", "quote each line for a SQL IN list", "explain this regex"
APIs"list the OpenAPI endpoints as a table", "check the OpenAPI definition", "turn this curl command into JSON"

Several steps can go in one instruction; the plan runs them in order.

Keys, passwords and secrets

Operations that need a key — encrypt, decrypt, HMAC, JWT — never send it to the model. The plan says This plan needs a key or password, entered locally, and Quap asks for it in a local dialog when the step runs.

Conversations

Each document has its own chat. Follow-up instructions build on the previous result ("now sort them by date"), and saved files keep their chat history between sessions. Clear history in the chat header starts over.

Next

Accent color