An AI workbench that runs on your machine, with the network switched off. Everything is deny-by-default — this list is a permission map, not a brag sheet.
Unplug the network and it keeps working: local llama.cpp inference, on-device OCR, speech-to-text, image generation. The online parts are the ones you switch on.
Read and edit files, run scripts, query CSVs with SQL, extract PDFs — and the dangerous ones show the exact action and ask first, every time.
~64 public-domain volumes indexed offline: ask an engineering question, get the document and page. One click downloads any missing source — or all of them.
Identify boards on your bench, read their boot logs, back up flash, compile and upload firmware — each with the exact command shown before it runs.
This machine, a machine you own, an API vendor, or a rented GPU — chosen per conversation, never hidden, with a rented box never dressed as yours.
Every handler failure, rejected promise, and refused download leaves a JSON line in a local log — debugging starts with reading it, not screenshotting an error prompt.
Each of these is one sentence typed into the same chat you just tried. The difference is that the full app is allowed to act — after asking you first.
Link the folder once; it lists, reads and searches the real files, and answers with the failing lines quoted.
file tools · linked workspaceThe extractor takes the whole document — born-digital or scanned — and hands the pieces back as files.
PDF extraction · OCRIt identifies the silicon, reads the boot log, and can back up the flash before anything is touched.
hardware · serial · ask-firstThe offline library answers with the document and page cited — no internet involved.
reference library · citationsIt queries the files in place with SQL — no import step, no spreadsheet wrangling.
SQL over CSVDescribed in text, rendered on your machine — diagrams via Graphviz, images via local Stable Diffusion.
diagrams · image generationThe app you download tonight patches itself from the same public repo you can read — and refuses anything that does not prove itself.
Every release passes the full gate — thousands of checks plus a driven-UI harness — then the build is signed with an offline Ed25519 key. The public half ships inside the app.
Your install polls this repo's releases. A newer official build downloads with its progress on the button, is hash-matched against the signed manifest, and rollbacks are refused — an unsigned or tampered file never launches.
The app waits until the installer has genuinely started before it closes, and says so honestly if the Windows prompt was dismissed. Nothing changes without you.
Windows today. Real numbers, enforced by the app's own load planner — a model that will not fit is refused with the shortfall stated, never allowed to freeze the machine.
| Minimum | Comfortable | To run everything | |
|---|---|---|---|
| RAM in the machine | 8 GB | 16 GB | 32 GB |
| Disk for models | 6 GB | 25 GB | 60 GB |
| CPU | any x64 | 8 cores | 16+ cores |
| GPU | not required | optional | optional |
| Network | never required | never required | never required |
The page you are on is the taste; the download is the workbench. Everything in the full column is permission-gated — none of it runs without your click.
| This page (lite) | The full app | |
|---|---|---|
| Thinking | ||
| Local inference | WebGPU — 0.5–1.5B models | llama.cpp — a 4B daily driver, up to a 9B flagship, CPU or GPU |
| Where it can think | this browser only | your machine · a machine you own · an API vendor · a rented GPU — chosen per conversation, never hidden |
| Works fully offline | after the model caches | yes — offline is the default state |
| Multi-step work | single answers | plans, runs tool chains, audits its own output, concludes |
| A model that fits | fixed small models | the load planner checks your RAM first — a model that will not fit is refused with the shortfall stated, never a frozen machine |
| Concurrency | one chat | local chats queue honestly — RAM is finite; API and node conversations run wide |
| Workspace | ||
| Sessions | saved in this browser | on your disk, every one resumable |
| Files | notes in browser storage, read by the model | real folders — listed, read, edited; every change shown, every change revertable |
| Terminal | — | a real terminal beside the chat — human keystrokes only, never the model's |
| Tools | ||
| Tool count | 4 demo stubs that explain themselves | 60+, permission-gated |
| Scripts & automation | — | writes and runs them — the exact command shown before it runs |
| Data | — | SQL over your CSVs, no import step |
| PDFs | — | extracts everything — text, scans, tables, images, forms, annotations |
| Vision & images | — | OCR on screenshots and scans · image generation on your own silicon · diagrams rendered via Graphviz |
| Speech | — | local dictation — rolling transcription, audio never leaves the machine |
| Knowledge | ||
| Reference library | — | ~64 public-domain volumes indexed offline — answers cite the document and page |
| Your own documents | — | add them; they join the same cited index |
| Filling the shelf | — | a missing volume downloads in one click — or the whole shelf at once |
| Hardware | ||
| Real devices | — | identifies boards, reads boot logs, backs up flash, compiles and uploads firmware — ask-first, every step |
| Trust | ||
| Permissions | read-only demo | deny-by-default — dangerous tools name the exact action and wait for your click |
| Cost | $0.00, always | $0.00 local — API spend, when you choose it, tracked to the cent |
| Updates | — | signed one-click patches from this repo — unsigned, tampered or older builds refused |
| Logs | — | every failure and refusal written to a local error log you can read |
| Audit trail | — | every tool call and refusal recorded in a local audit log you can read |
| Account / API key | none | none |
| Telemetry | none | none |
| Get the full appfree · MIT · Windows | ||
No. The lite chat runs the model in your browser via WebGPU — the weights download once from the model's public repository and cache locally; after that, generation happens on your GPU. This page has no analytics, no trackers, and no server of its own. Your sessions and files live in your browser's storage, on your machine.
It brings its own everything: llama.cpp, stable-diffusion.cpp, whisper.cpp, Tesseract, ffmpeg, qpdf, ImageMagick, SQLite, Graphviz, a starter model, and the offline reference index. No Python, no Docker, no account — it answers the moment it installs.
No. There is no cloud side. Local models run locally; if you deliberately link an API vendor, that conversation goes to that vendor under their terms — and the app names the destination on a card before anything leaves.
The app checks this repository's releases. A newer official build downloads with visible progress, is verified against an Ed25519-signed manifest baked at build time, and installs only on your click. Unsigned, tampered, or older builds are refused outright.
All of it — this page, the app, the engine, the tests, and the release tooling live in the public repository, MIT licensed. The test suites are the honest spec: thousands of checks, many quoting the exact failure that forced them.
Windows today. A Mac build is planned; the lite page runs anywhere WebGPU does.