OpenJetGet Started

Open-source local LLM coding agent & SDK

Run a local LLM coding agent on your own hardware.

OpenJet profiles your hardware, configures Qwen or another open model, and gives you a terminal coding agent plus a Python SDK — without sending your code or prompts to a hosted API.

Open sourceRuns on your hardwareNo API key
pip install open-jet
~/openjet

Two ways to use it

One local runtime. Your terminal or your application.

OpenJet’s job is the part nobody wants to do: profiling the hardware, picking a model that fits it, and configuring the local runtime. What you point at that runtime is up to you.

Terminal agent

Work on a repo from the CLI

Install it, run setup, and open the agent. It reads and searches files, applies edits, resumes sessions, and asks before it runs anything that changes state.

bash
pipx install open-jet
openjet setup
openjet
  • Read, grep, glob, write, and edit tools — not just chat
  • Approval-gated shell execution
  • Resumable sessions and automatic context condensing
  • MCP servers for extra tools

Python SDK

Embed a model in your own program

Same harness, no terminal. Open an inference session and call it — the model runs on the device your code is already running on.

python
from openjet.sdk import create_inference_session

session = await create_inference_session(
    system_prompt="You are a concise shopkeeper.",
)
reply = await session.run("What is for sale?")
print(reply.text)
  • No inference server to stand up, no API key to rotate
  • openjet project provisions the model into .openjet/models/ at build time, so your build bundles it
  • Nothing downloads at runtime — a missing model raises instead of reaching for the network
  • Every tool refused: an embedded model cannot touch the shell or filesystem

Built for developers, on your machine

Open source, local-native, and sovereign by default.

OpenJet is an open-source harness for developers who want to keep their code, prompts, and model weights on hardware they control — no hosted service in the loop, whether the model is answering you in a terminal or answering your users inside your app.

  • The harness does the hard part

    Setup profiles your machine, picks a model that fits it, configures the local runtime, and hands the same backend profile to the agent and the SDK.

  • A terminal agent that works on the repo

    OpenJet can read files, search the tree, apply edits, write new files, and run approved shell commands from the same CLI/TUI workflow.

  • One line to embed a model in your app

    Import the SDK, open an inference session, and call it. No server to stand up, no API key to manage, no request leaving the device.

  • Sized to the hardware you are shipping on

    Point openjet project at a use case, a target device, and a memory budget, and it recommends a configuration your machine can actually run.

  • Commands do not run behind your back

    The agent can propose terminal commands, but execution is approval-gated so state-changing work stays under your control.

  • Built for local-first work

    Prompts, repo content, tool output, transcripts, and resume checkpoints stay on your machine instead of a hosted service.

Install

One command.
No API key.

Run the install script in your terminal. OpenJet profiles your machine, configures the local runtime, and gives you both surfaces — the agent in your terminal and the SDK in your project.

pip install open-jet

Head-to-head

Claude Opus 4.7 vs Qwen3.8-27B (OpenJet).

Same prompt, same constraints: render an alien planet landing scene in a single HTML file. Each frame below is the model’s output, running live. See the Qwen3.8-27B local hardware and coding-agent guide.

Hosted · AnthropicClaude Opus 4.7
Local · on your machineQwen3.8-27B — OpenJet

Slipstream · opt-in

You don’t have to pick a side.

Local runs the loop. When a step genuinely needs a frontier model, Slipstream can hand that one step to the Codex subscription you already pay for — targeting a 20% Codex token share, around 5x more work per plan, measured live in your agent footer.

How the split works

  • Local is the default. Reading, searching, editing, and the ordinary turns stay on your hardware, exactly as they do without Slipstream.
  • Codex is the exception. Slipstream targets roughly one token in five going to Codex, so a plan that used to cover a day of agent work stretches about five times further.
  • The footer keeps score. The running local/Codex ratio is on screen while you work, so the 5x is something you check, not something we claim.
openjetlocal 80%codex 20%≈5x plan reach

Private agent evaluation

Find out if local coding agents work for your team.

One controlled machine, one real repository, and a fixed-scope evaluation with evidence you can use to make a decision.

Run it locally. Talk to other people running it.