Own your intelligence

Everyone rents intelligence by the token. What if you owned the whole stack?

Run any open-weight model on your own hardware. Give it memory, tune it, evaluate it, serve it fast, or train your own.

Download for Mac (.dmg)Contact

v0.7.1 Universal (54.7 MB) · Windows (.zip, 9.9 MB) · CLI binaries & release notes

More about Zorp →Discover how it works →

Own the model. Own the stack.

pre-alpha · MIT · local first

Everything in the stack, in one place

One open-source project, from the chat window down to training your own model. Planned pieces are marked as planned.

19 ship today 2 planned

Use it

  • Terminal agent
  • Browser chat
  • Mac app

Investigate

  • Validate
  • Investigate
  • Co-write
  • Deliver
  • Critique gate
  • Panel review

Know

  • Local memory
  • Web search
  • Skills
  • Voice input
  • MCP tools

Measure

  • Harness eval suite
  • Public benchmarks
  • BudgetBench

Train

  • Pretraining
  • Serve your checkpoint
  • Fine-tuningplanned
  • RLStudio post-trainingplanned

The open stack

One harness runs any open model. Everything else sits on top of it.

Pick a layer to see what it does, whether it ships today, and how much of the codebase it is.

Frontier, when you must

Your walls, offline

Interface live

The terminal agent, the browser chat with the artifact beside it, and the Mac app.

39,141 lines, 29.7% of the code

  • zorp-web
  • web
  • zorp-desktop

Investigate live

The research agent: tracks, the Kill Threshold, the evidence record, and the aryabhatta discovery layer.

17,266 lines, 13.1% of the code

  • zorp-track
  • erbga

Evaluate live

The harness suite that gates every change, compatibility runs and public benchmarks. BudgetBench lives in its own repository.

7,201 lines, 5.5% of the code

  • zorp-eval

Memory live

Local recall and memory over your own conversations. Text goes to a loopback address or nowhere.

2,800 lines, 2.1% of the code

  • zorp-recall
  • zorp-loopback

Adapt and train partial

Pretraining in developer mode on Apple Metal through MLX today. Fine-tuning and RLStudio post-training are planned.

3,026 lines, 2.3% of the code

  • zorp-train

Tools live

Web search through Tavily or your own SearXNG, Claude Code compatible skills, and local voice.

4,516 lines, 3.4% of the code

  • zorp-search
  • zorp-skill
  • zorp-voice

Harness live

The core and the agent: any OpenAI-compatible model, tools, approvals, sessions and MCP, in one CLI and API.

57,875 lines, 43.9% of the code

  • zorp
  • zorp-agent
  • zorp-mcp
  • zorp-stub

The model live

Any open-weight model, or one you build. Swap it and nothing above it changes.

No code of ours. This is the part you choose.

Your hardware live

Your laptop, your workstation, your servers. Offline if you want it to be.

No code of ours. This is the part you choose.

Where the 131,825 lines go

Source: lines of Rust, TypeScript and Python per crate in github.com/aviskaar/zorp at commit 16a773e, counted with wc -l. Generated and vendored files excluded.

The problem

The market is built to rent you intelligence, not to help you own it.

The default path is a frontier API. Easy to start, metered by the token, and every call sends your data out of the building.

YOUR WALLSYour workloadrecords, data, contextyour data, each callFrontier APImetered, external$ / token
Diagram of the default path.
  • The meter never stops

    Every call, forever. The bill grows with your success.

  • Your data leaves

    Each request ships your context to someone else's servers.

  • One vendor owns the dial

    Price, limits and the model change without your say.

Own the whole stack. Rent only the thin slice on top.

Why now

The models got good, and the tooling grew up.

Small open-weight models clear the bar for most everyday work, and the tools around them became a stack you can own.

Evaluation
Tuning
Memory
Serving
Open-weight model
Diagram. Open building blocks, stacked on an open model you choose.
  • Good enough for most work

    Classification, extraction, routing, drafting.

  • Open building blocks

    Serving, memory, tuning and evaluation, ready to use.

  • Your schedule

    Adopt a better open model when you choose to.

The strategy

Hybrid by design: local for the heavy lifting, frontier when you must.

The question is not open versus closed. It is which workload runs where.

Your data
Your task

Data sensitivity, higher at the top

Local

Sensitive, routine. Keep it in your walls.

Local, tuned

Sensitive and hard. Adapt a local model, never send it out.

Local

Routine, low stakes. The clear home for open-weight models.

Frontier, selectively

Hard, and safe to send out. Worth renting.

Task difficulty, harder to the right

Runs local. Keep it in your walls.Runs local, tuned. Adapt a local model, never send it out.Runs local. The clear home for open-weight models.The frontier, selectively. Worth renting.

Diagram of the routing rule. Choose your data and your task to see where the work runs.

One rule decides it

Keep the work local unless it is beyond a local model and the data is safe to send out. Sensitive data stays home however hard the task.

The open-source case

You are not buying a model. You are owning an interchangeable stack.

Swap in a better open model when one ships. Nothing above it changes.

Your app unchanged
The harness one interface
Any weights, swappable
Open model AOpen model BYour own model
Diagram. The model in the slot changes; nothing above it does.
  • No lock-in

    The model is a component, not a vendor.

  • Open and inspectable

    Open weights you can test and change.

  • A CLI and an API

    The way developers and researchers already work.

Where it stands today: the harness, the research agent, local memory and pretraining in developer mode ship now. Fine-tuning and RLStudio post-training are planned. Zorp is pre-alpha.

The memory layer

Give it a memory that stays home.

A model with no memory starts cold every time. Zorp indexes your earlier conversations on your machine and quotes the relevant ones back into a new turn.

On your machine, loopback only

  1. Earlier conversationsyour own history
  2. Local indexSQLite, local embeddings
  3. Quoted into the turnverbatim, labelled
  4. The modelstarts warm

No remote embedding provider, and no fallback to one

Diagram of Zorp's recall and memory. Conversation text goes to a loopback address or nowhere.

Make it yours

Run it, adapt it, or train your own. On your hardware.

You are not stuck at any rung.

  1. Run live

    Use an open model

    Run open weights as they are. Enough for most work.

  2. Adapt planned

    Fine-tune and post-train

    Tune it on your data and shape behaviour with RLStudio.

  3. Train live

    Pretrain your own

    A tokenizer and a model from scratch, in developer mode on Apple Metal through MLX.

Data stays in

The data that adapts or trains the model never leaves your machine to do it.

Prove it holds up

A leaderboard will not tell you if a small model clears your bar.

Test it under the token, context and memory budget you will actually run with.

Accuracy by memory strategy and context budget

Budget2K4K8K16K32K
Truncation0.290.20–0.400.000.270.18–0.360.000.270.18–0.360.000.330.23–0.430.000.330.24–0.430.00
Summary0.300.22–0.400.030.240.16–0.330.070.260.17–0.350.050.290.20–0.400.070.310.23–0.410.03
RAG0.300.20–0.400.000.310.23–0.420.000.350.25–0.450.000.340.24–0.430.000.310.22–0.420.00

The best strategy changes with the budget, and quality does not rise steadily with more context. The intervals overlap: this is a pilot, not a ranking.Only summarization broke its budget, on up to 7% of items. A leaderboard at one budget would miss it.

Source: BudgetBench (Rao and Jaggi, arXiv 2609.13149), LongBench v2, qwen2.5:1.5b, 88 scored items, exact-match accuracy with 95% bootstrap intervals. Violation rates use the benchmark tokenizer approximation.

Budget-tiered evaluation is formalized in BudgetBench (Rao and Jaggi, arXiv 2609.13149).

Serve it fast

Local does not mean slow. Tuned inference is fast and cheap to run.

Zorp talks to any OpenAI-compatible server, so a quantized model on Ollama, LM Studio or vLLM becomes your endpoint. Then the harness has to make each call count.

An agent finishes only if every call does

21%

of attempts finish

0%25%50%75%100%0%2.5%5.0%7.5%10.0%1 call10 calls
Arithmetic, not a measurement: an attempt finishes only if each of its model calls does, so the chance is (1 - p) to the power of the calls. 30 is Zorp's default step bound in the browser, 20 in the terminal, and ZORP_MAX_STEPS changes it.
  • Quantize

    Fits commodity hardware and speeds up each call.

  • Batch and cache

    Throughput climbs, cost per run falls.

  • No round trip

    No hop to someone else's data center.

Agentic security

An agent you run offline cannot leak what it never sends.

Where an agent runs is the strongest control on it.

YOUR WALLS, OFFLINEAgentscoped reachFiles, allowedDatabase, allowedInternetblocked
Diagram. Tool calls are recorded, and nothing leaves your walls.
  • Bounded reach

    It reaches only what your machine exposes.

  • Approvals

    Tool calls pass approval rules you set.

  • A logged trail

    Tool calls are stored with the conversation.

  • Nothing leaves

    With a local model there is nowhere to send it. Web search is off until you turn it on.

For the answers that must hold up

Stop asking for an answer. Ask for an investigation.

For questions that have to hold up, Zorp's research agent keeps a record as it goes.

A prompt

Nothing kept

  1. Question
  2. Answer

Fluent in seconds, and silent on what pointed the other way.

An investigation

A record to answer to

  1. Question
  2. Registered intent
  3. Sources
  4. Evidence
  5. Checkpoint
  6. Answer

Every claim traces back to the record, checkable by someone who was not there.

Answers are cheap. Evidence is not.

Commit before you look

Say what would prove you wrong, before any evidence exists.

The hypothesis, the metric and a kill threshold are committed to git and hashed first. Only a person sets the threshold, and only a person can move it.

tracks/kafka-migration/prereg.toml

  • hypothesis
  • metric
  • kill threshold

committed and hashed, before any evidence exists

  1. attempt 1within threshold, recorded
  2. attempt 2conflicts with attempt 1, recorded anyway
  3. attempt 3crosses the threshold
Diagram of one illustrative run. No stored investigation trace is published yet.

Measured, not claimed

Does the agent's confidence mean anything? We check.

Each forecast is recorded before its attempt runs, so it cannot be a postdiction.

Does a stated confidence mean anything?

0.800.800.850.850.900.900.950.951.001.00says what it meansstated confidencehow often it was rightn=39, gap 0.013n=112, gap 0.092

Well calibrated below 0.96 and overconfident above it, across 151 forecasts recorded before each attempt ran. Both bands sit inside the 0.10 tolerance a person set from this curve.

Source: Zorp calibration run 7, 151 forecasts recorded before each attempt over a crates.io corpus, model stealth/ox-alpha. docs/decisions/0075 in github.com/aviskaar/zorp.

What the answer is accountable to

Every claim resolves to a row, not a paragraph.

Each investigation writes to six tables. Measurements are typed values, so a claim in the report points at a stored row.

tracksOne investigation. Its question, its hypothesis, its status.
  • pre­registrationsThe committed hypothesis, metric, and kill threshold, with the hash that makes them tamper-evident.
  • experimentsEvery attempt, including the ones that conflicted and the one that ended the run.
  • metricsTyped key-value measurements, such as accuracy: 0.87.
  • checkpointsEach human yes or no, and when it was given.
  • validationsRedundancy and feasibility scores, each with the citation that justified them.
Diagram of the evidence record Zorp writes per investigation.

The human is the author of record

Four capabilities, one loop, a human gate before each.

The model drafts. A person approves each step and signs the result.

  1. human gatevalidateIs the question worth investigating? Scored only on cited evidence.
  2. human gateinvestigateStaged, pre-registered attempts, each one recorded.
  3. human gateco-writeA draft made only from what the record holds.
  4. human gatedeliverThe finished artifact matched to its venue and audience.

The agent drafts. It is never the author of record.

Diagram of the research loop: validate, investigate, co-write, deliver.

What you get back

Own it once, and stop paying to think.

Renting meters you forever. Owning costs the hardware once, then power.

Rent or own, on your numbers

Renting$900a month

Pays back in4.7 months

Saved over 24 months$16,640

$0$11,340$22,6800m6m12m18m24mRentOwn
Example inputs. Change them to yours. This is arithmetic on what you type, not a quote and not a measurement.
  • Cost

    An asset you run at the cost of power.

  • Sovereignty

    Data, context and memory stay with you.

  • Control

    You choose the model and when it changes.

  • Pace

    Adopt open advances the day they land.

The one move

Move one heavy workload onto the open stack. Measure it.

Do not boil the ocean.

  1. Pick one workload

    High volume and routine. A summarizer or a classifier.

  2. Run it on your stack

    An open model on hardware you own, for that one workload.

  3. Measure the gap

    Cost per run, quality against your bar, data that left.

What you learn

How much of your frontier spend was never necessary, and what owning the rest would be worth.

The through-line

Own the model, own the stack, own the evidence.

The frontier has its place. For the rest, the future is open, local and yours to run.

  • Any open model, or one you train
  • Memory and evaluation, on your machine
  • A research agent and an evidence record
  • Offline-capable, on your infrastructure
  • Made for developers, researchers and scientists
  • The frontier, only where it earns its place

Adapted from the Own Your Intelligence briefing by Arjun Jaggi. Sources: Zorp, zorp.dev and github.com/aviskaar/zorp. BudgetBench, Rao and Jaggi, arXiv 2609.13149.

Zorp paper

Read the draft

Enter your email to download the current paper draft. We store it in Zorp's Cloudflare lead database.

By continuing, you agree to the privacy notice.