Ship AI agents to your own machines. Keep what already works.
NexusRun packages an AI agent with its model, tools and runtime, then rolls it out to your computers through canaries. Each host runs your tests before it switches. The model runs on your hardware.
Fleet
order-desk · production canary
sha256:cd260ee23a87380e6a26bc8a071e9ed381e5c1a5… · llama.cpp b5688 · linux/amd64 CPU
| Host | Status | Latest test result | Active release | Last check-in | Hardware |
|---|---|---|---|---|---|
| store-014canary · production | Active | active · 2/2 | cd260ee2… | 12 sec ago | linux/amd64 · 8 cores · 16 GB |
| store-022canary · production | Active | active · 2/2 | cd260ee2… | 18 sec ago | linux/amd64 · 8 cores · 16 GB |
| warehouse-03production | Active | active · 2/2 | cd260ee2… | 31 sec ago | linux/amd64 · 16 cores · 32 GB |
| kiosk-118production | Pending | active · 2/2 (0.2.0) | a91f04c7… | just now | linux/amd64 · 4 cores · 8 GB |
Three steps. No surprises.
Package the whole agent.
A short YAML file describes the model, the system prompt, its tools and the secrets it needs. Build it into a standard OCI artifact and push it to any registry.
Test it where it runs.
Answers change with the hardware, so every host runs your acceptance tests on its own runtime before it switches. If a test fails, the working version stays.
Roll out in stages.
Canaries go first and the rest wait for them. If any host rejects the release, the rollout pauses, and no host is moved backward.
name: order-desk version: 0.3.0 models: - source: qwen2.5:1.5b entrypoint: system_prompt: | Look up orders. Never guess. tools: - name: lookup_order secrets: - name: ORDERS_TOKEN
Every machine, one screen.
See which version each computer runs, what its tests said, and when it last checked in. Publish, pause and roll back from the browser.
sha256:cd260ee2… · 2 canary hosts · 13 activated
sha256:a91f04c7… · 1 canary host · 16 activated
sha256:5be2d913… · rejected on 1 host · 4 activated
Sign in on the computer, then join a repository and channel.
$ nexus login $ nexus fleet join \ registry.nexusrun.dev/acme/order-desk \ --name store-031 $ nexus fleet serve
The host keeps itself updated and serves local apps.
Canaries first
Pick how many hosts try a release. The rest wait until every canary passes.
Tested on every host
Each computer runs the included tests through its own runtime before it activates.
Pause or roll back
A rejection pauses the rollout. Start a tested rollback from the same page.
Signed records
Download each release's signed results and verify them offline.
Your apps call it like OpenAI. It never leaves the box.
A drop-in endpoint
Chat completions and streaming at 127.0.0.1:7720, behind a key for each host.
Always the tested release
Each response names the exact version that produced it.
Tools and secrets included
Releases carry script tools. Secrets stay encrypted on each host.
from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:7720/v1", api_key=FLEET_KEY, ) reply = client.chat.completions.create( model="order-desk", messages=[{"role": "user", "content": "Where is order 3105?"}], ) print(reply.choices[0].message.content)
curl http://127.0.0.1:7720/v1/chat/completions \ -H "Authorization: Bearer $FLEET_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "order-desk", "messages": [{"role": "user", "content": "Where is order 3105?"}] }'
const res = await fetch("http://127.0.0.1:7720/v1/chat/completions", { method: "POST", headers: { Authorization: `Bearer ${process.env.FLEET_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ model: "order-desk", messages: [{ role: "user", content: "Where is order 3105?" }], }), }); const reply = await res.json(); console.log(reply.choices[0].message.content);
Signed by the machine. Checkable by anyone.
Each host makes its own Ed25519 key when it enrolls. Every report it sends names the artifact, runtime, test suite and result, and is signed with that key.
Private data stays local
Documents, prompts, conversations and tokens never leave the host.
Tools in a sandbox
On Linux, the kernel holds each tool to the paths it declared.
Outbound only
Hosts reach Cloud over HTTPS. An active release keeps running offline.
Free to run. Everywhere.
One small file for eight platforms, and a desktop app for building workflows by drawing them.
NexusRun
The nexus command packages, runs and ships agents. Unpack it and put it on your PATH.
Check your download against checksums.txt. See all downloads and checksums.
NexusRun Studio
Build a workflow by drawing it. Drag your own models onto agents, connect them and press Run. It saves a plain nexus-compose.yaml.
Pay for the fleet. Not the tokens.
The runtime is free and open source. Cloud adds a private registry and Fleet management.
Developer
- 25 hosts
- 10 GB storage
- 100 GB pulls a month
- 2 seats, email support
Team
- 100 hosts
- 100 GB storage
- 500 GB pulls a month
- 5 seats, priority email
Every plan includes private repositories, the Fleet dashboard, canary releases, rollback and immutable tags. Extra pulls are $0.09/GB. Compare plans
Ship the agent. Keep the machine.
Enroll your first host today. Free for 90 days, no card required.