Private · local · uncensored
The AI that answers to you.
PriestAI runs on models you install, on hardware you own. It never softens an answer, never phones home, and never spends a cent without your number on the limit.
Built on restraint
What it refuses to do behind your back
Nothing leaves this machine
Your words go to models on your own hardware — unless you use a tool whose whole point is the web: research browses when you ask it to, and only then. The update check runs only when you press its button. There is no telemetry to opt out of, because there is no telemetry.
Nothing is softened
Any model Ollama can run, including abliterated ones. PriestAI never rewrites, filters, or blocks what a model says. What you ask is what gets asked.
Nothing spends without a limit
Paid models are off until you set a monthly budget. Every paid call's real cost is recorded and itemised. Local models are never limited — they are free.
The chat
A window with no one else in it
Your model, seated by name
Pin one model, or let the panel pick the largest one installed and say on screen that it chose for you. Cold start in seconds; conversation history stays in a folder you can open.
Permission modes, enforced first
From Plan, where nothing changes anything, to Bypass, where everything runs — chosen per conversation and enforced before dispatch, not after. The model asks before it touches what you told it to ask about.
Agents
Workers whose job descriptions you write
Each agent is a model seat, the tools it may reach, and a plain file of your own words. No hidden prompts ride along — a test in the box proves the bare mode sends only what you typed.
Readable
Every job description is a text file. Rewrite it in any editor; the change takes effect on the next conversation.
Scoped
Per-agent tool switches decide what each worker may touch. A write law refuses closed lanes even when the model asks nicely.
Visible
Live seat, live tool subset, one screen. The feather colours are how you tell five workers apart at a glance.
Money
A budget with teeth
Measured, never estimated
Every paid call's cost comes from the provider's own receipt and lands in a per-model ledger. The Money panel answers "where did it go" so you never have to.
Stops at the line
At four fifths of the budget you get a warning. At the limit, paid models stop — plainly, with the figures. Free local models are never limited, by construction.
Updates & support
News that waits to be asked
Releases, on your terms
Patch notes live on the News panel with an unread dot that clears when you read. "Check for updates" speaks only when pressed — and blanking one shipped file silences it for good.
Reports that never sneak
"Report a problem" composes the whole report on your screen — version, system, model state, your own words — and sends nothing. You send it. That is the entire design.
Proof, not promises
The box proves itself
Every download ships its own test suite and readable source. One command runs the same checks each release was gated on.
ok 0.9s dashboard/tests/test_no_injection.py
ok 0.6s dashboard/tests/test_first_run_signin.py
… every shipped test, one line each …
all passed, 0 failed
The license
One payment. Yours for good.
No subscription
One license per person, updates for a year, and what you have keeps working forever. No activation, nothing to phone home to.
Source you can read
The code ships readable so you can verify every claim on this page. That is transparency, not open source — see the terms.
Priced at launch
Pricing lands with the public release. Until then, the releases page is where the current build lives.