Portable AI agents

An entire AI agent.
Model and runtime included.
Ready for offline deployment.

Package the agent, sealed model weights, NexusRun executable, and an exact verified llama.cpp runtime for a supported Linux target. Carry the bundle to a clean machine and run it without installing a separate inference engine.

No Docker requirement. No engine download at the destination. Secrets stay outside the artifact, and local prompts do not have to leave your network.

Build it
git clone https://github.com/verdictlayer/nexusrun cd nexusrun && make build

Needs Go 1.26+. Nothing else.

11 MB binary Verified runtime bytes Offline bundle Linux x86-64
See it run

Not a chatbot. An agent that does the work.

Here it is answering a question by going and finding the answer — on a laptop, with no network and no API key. Real output, not a mockup.

terminal 100% local
nexus run notes-agent -p "When does the launch window open?"

running notes-agent:1.0.0 on CPU via llama.cpp/server
starting MCP server notes
  notes v1.0.0 — 2 tool(s): notes__list_notes, notes__read_note

  → notes__list_notes({})
  ✓ notes__list_notes — launch.txt sites.txt
  → notes__read_note({"name":"launch.txt"})
  ✓ notes__read_note — The launch window opens on 14 March 2027.

The launch window opens on 14 March 2027.

— 54 tokens · 7.0 tok/s · 2 tool call(s) over 3 turns
# nexus.yaml — the whole agent
apiVersion: nexusrun.dev/v1
name: notes-agent
version: 1.0.0

models:
  # already pulled with Ollama? reuse it
  - source: ollama:llama3.1:8b

entrypoint:
  type: chat
  system_prompt: |
    Answer using the note tools.

mcp_servers:
  notes:
    # fetched, pinned and sandboxed for you
    source: github:acme/notes-mcp#v1.0.0
    command: ["node", "server.js"]
    sandbox:
      allowed_paths: [/home/me/notes]

secrets:
  # declared here, never stored here
  - name: API_KEY
    required: true

One readable file, not a Dockerfile

Everything that decides how the agent behaves is in front of you. It points at the model rather than containing it, so the file stays about a kilobyte instead of five gigabytes.

Its tools come with it

Tool servers are dependencies, pinned like any other. Nobody has to install anything first, and each one is confined by the kernel to the paths you listed — undeclared means denied.

Secrets stay out of the artifact

The file says which key it needs. The value lives encrypted on the machine that runs it, so the agent is safe to commit and safe to share.

Why it's different

It's built for machines you don't control.

Someone else's laptop, a rack of mixed hardware, a kiosk in a shop, a box that has never seen the internet. That is where agents actually have to work, and where the usual assumptions quietly fail.

It runs where your data already is

On the machine that holds the records, behind the VLAN, or on a box with no external network. A deployment bundle carries NexusRun, sealed weights, the exact llama.cpp runtime, its integrity metadata, and licenses together.

Verified: safe runtime import, target validation, bundle verification, and a relocatable launcher, with real inference on a clean Linux x86-64 host.

It won't quietly use the wrong one

A good GPU the installed runtime was never built to drive is the normal case, and most tools fall back to the CPU without a word. This one says so — then scores the agent on that machine, because answers change with the hardware and the model, not just the prompt.

Verified: a model that scored 0/3 there was rejected and a better one chosen, automatically, per machine.

Safe to run someone else's agent

Read the file, see exactly what it will reach for, then run it knowing the kernel holds it to that. Its tools, its files, its network — nothing it did not declare is possible.

Verified from inside the sandbox: no stray file writes, no outbound connections.

NexusRun doesn't replace llama.cpp or Ollama. It manages llama.cpp underneath the agent runtime and adds repeatable packaging, validation, deployment, and straight answers about what was actually tested.

Get started

Three commands.

Create it

nexus init my-agent --model llama3.1:8b

Writes one small YAML file. Edit the prompt to make it yours.

Run it

nexus run ./my-agent -p "hello"

Straight from the folder, so you can change the prompt and go again.

Ship it connected or offline

nexus bundle my-agent:0.1.0 --target linux/amd64 --runtime <runtime-id> -o my-agent-linux-amd64.tar.gz

Push portable agent artifacts to any OCI registry, or create a complete target-specific bundle for a clean offline host. Sealing still means “embed weights”; bundling explicitly adds the execution environment.

Hosting for your team →

The runtime is free forever. NexusRun Cloud hosts and signs your units for teams shipping to real fleets — early access is open.