Skip to main content

Offline local-LLM terminal app for Jetson and edge Linux: chat with on-device models, run agent tools, and manage context safely.

Project description

OpenJet

Screenshot_20260227_144411

open-jet is an offline-first agent runtime for Jetson-class and other edge Linux systems with tight memory budgets.

It is built for cases where the hard part is not just running a local model, but keeping the agent useful under constrained RAM, limited context windows, interrupted sessions, and hardware-specific failure modes.

Quickstart

pip install open-jet

OpenJet does not bundle an inference runtime. By default it uses llama-server from llama.cpp, though setup can also configure SGLang or TensorRT-LLM instead.

For the default llama.cpp path, you need:

  1. the open-jet Python package
  2. a working llama-server binary
  3. a local model file such as a .gguf

Then run:

open-jet --setup
open-jet

Installation

1. Install the Python package

pip install open-jet

2. Install llama-server from llama.cpp

llama.cpp setup is required for the default OpenJet runtime. If you choose SGLang or TensorRT-LLM in open-jet --setup, follow the runtime-specific model/runtime setup for those backends instead.

Jetson:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
mkdir build && cd build

cmake .. \
  -DGGML_CUDA=ON \
  -DCMAKE_CUDA_ARCHITECTURES=87 \
  -DGGML_CUDA_FA_ALL_QUANTS=ON

cmake --build . --target llama-server -j$(nproc)

Linux x86 + NVIDIA:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
mkdir build && cd build

cmake .. -DGGML_CUDA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON
cmake --build . --target llama-server -j$(nproc)

CPU-only:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
mkdir build && cd build

cmake ..
cmake --build . --target llama-server -j$(nproc)

OpenJet looks for llama-server on PATH first, then at ~/llama.cpp/build/bin/llama-server.

3. Have a local model ready

You need a model reference for the selected runtime:

  • llama.cpp: typically a local .gguf file, or an Ollama-backed model selected during setup
  • SGLang: a local model directory or supported HF model id
  • TensorRT-LLM: a local model directory or supported HF model id

4. Run setup

open-jet --setup

The setup flow guides you through:

  1. hardware detection/profile
  2. model source selection
  3. model path or download choice
  4. context window size
  5. GPU offload configuration

After setup:

open-jet

What it provides

  • bounded-context local chat with your on-device model
  • automatic context condensing under pressure
  • session resume and harness state recovery
  • OpenTelemetry instrumentation with collector export
  • hardware-aware runtime setup for Jetson and edge Linux
  • controlled tool use and slash commands
  • Python SDK access to the same backend

Why OpenJet exists

Most local LLM tools stop at “chat with a model on your box.” That breaks down on edge hardware.

OpenJet is built around:

  • limited prompt memory on-device
  • interrupted work and session recovery
  • deterministic tool and approval boundaries
  • real traces for evaluation
  • reliable operator workflows on constrained local models

Docs

License

AGPL-3.0-only, with commercial licensing available under separate terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_jet-0.1.13-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file open_jet-0.1.13-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for open_jet-0.1.13-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 d755e490d574add1a088e7e9ddec16acb6fb69e8ad28d6526b7387120e4c81e4
MD5 c7add4b55bc249c616fb233bc3b1b5b0
BLAKE2b-256 6772961565211a618d361f809f55af565cf2a1ef33be2bb5bd6ac33c52b75167

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page