Its model, prompt, tools and credentials become a single portable package. Hand it to a colleague, push it to a fleet of kiosks, or carry it to an air-gapped machine on a USB stick — and it just runs.
No Docker. No Python environment. No per-token bill, and no prompt leaving your network.
git clone https://github.com/verdictlayer/nexusrun
cd nexusrun && make build
Needs Go 1.26+. Nothing else.
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.
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.
# 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
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.
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.
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.
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.
On the machine that holds the records, behind the VLAN, or on a box with no network at all. Seal the model in and carry one file across. Nothing is uploaded, and running it more often costs nothing extra.
Verified: imported to an empty machine and generated with no network at all.
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.
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 runs on top of them. What it adds is the packaging, the sharing, and the straight answers.
Writes one small YAML file. Edit the prompt to make it yours.
Straight from the folder, so you can change the prompt and go again.
A few hundred bytes, to any registry you already use. No network at the
other end? nexus build --seal packs the
model in so it travels on a USB stick.
The runtime is free forever. NexusRun Cloud hosts and signs your units for teams shipping to real fleets — early access is open.