One USB stick, one boot. The netboot installer lays down a complete NodeWeaver node and then deploys a local AI stack onto it — inference, routing, cluster tooling and an agent that knows the cluster — without anyone typing a configuration file.
This is a pre-release testing build. It is for evaluating NodeWeaver on Strix Halo hardware, not for production. Every credential on the resulting node is a well-known default — see Access — so treat the machine as untrusted until you have changed them.
Any straight image writer will do — the ISO is directly bootable.
# Linux / macOS — replace /dev/sdX with your stick, and check it twice
sudo dd if=nodeweaver-netboot-installer-v12.5.0_a017-strixhalo.iso \
of=/dev/sdX bs=4M status=progress conv=fsync
On Windows, Rufus or balenaEtcher in plain image mode.
Take the machine into its boot menu and select the USB device. Two firmware settings matter on these boxes:
It fetches what it needs, installs NodeWeaver to the internal disk, and reboots into the node. From here on nothing is interactive.
On first boot the node deploys the AI stack on its own. Most of that wall-clock is model download — roughly 51.5 GiB — so it is bounded by your link speed rather than by the machine.
The installer carries a bootstrap parameter that triggers a zero-touch deployment of the
NodeWeaver AI stack. Four components come up as one coordinated service, each in its own VM,
all owned by the admin user:
| Component | What it is |
|---|---|
llamacpp | The inference server, with the iGPU passed through to it and three models resident at once. |
switchyard | An OpenAI-compatible gateway that picks which model answers each request. |
mcp | An MCP server exposing the cluster itself as tools, so an agent can read and administer it. |
hermes | Hermes Agent, installed natively and already wired to the gateway and to the MCP server. |
All three stay loaded simultaneously, so escalating from a cheap answer to an expensive one costs a routing decision rather than a model load.
| Alias | Model | Quant | On disk | Role |
|---|---|---|---|---|
judge | AlphaRoute-0.8B | Q8_0 | 0.77 GiB | Routing classifier — decides fast vs deep |
moe | Ornith-1.5-35B-A3B | Q6_K | 27.20 GiB | The fast rung; answers most traffic |
dense | Qwen3.8-27B | UD-Q6_K_XL | 23.56 GiB | The deep rung; thinks, for genuinely hard turns |
Both large models get the full 262144-token context they were trained for, with a q8_0 KV cache and two server slots so two conversations do not block each other.
A unified-memory APU has no meaningful VRAM — the 8060S reports 1 GiB. Everything real lives in GTT, carved out of the VM's own RAM, and GTT defaults to only half of it. The deployment raises that ceiling deliberately, which is what lets three models be co-resident, and costs the VM one reboot on first build.
The hermes role is not a bare chat client. It arrives already knowing where it
is and what it is attached to:
mcp role is
registered as a tool server, so the agent can inspect and administer this cluster — list
and instantiate VMs, manage images, services and users — using the OpenNebula API rather
than shell access to the nodes.switchyard, so an easy question is answered by the fast model and a hard one
escalates to the thinking model without the agent having to choose.The full platform documentation those skills are drawn from is at docs.nodeweaver.io.
Everything is created under the admin user, and every password is the same
well-known default:
| What | User | Password |
|---|---|---|
| NodeWeaver web interface | admin | edgecloud |
| Every stack VM, over SSH as root | root | edgecloud |
Change these before the machine is anywhere real. The MCP server is deployed with write access, which means an agent reaching it can instantiate and terminate VMs, attach and resize disks, and manage services and users. That is the point of the demo, and it is also why a default password on a reachable node is not acceptable outside a lab.
This demo does not publish the roles behind a single cluster URL, and every VM takes its address from DHCP. So the VM consoles are where you find out where everything is. Log in to the NodeWeaver web interface, open each stack VM and click its console: each one states its own current address and the URLs it serves.
NodeWeaver AI Stack -- llamacpp
---------------------------------------------------------------
This VM 10.0.0.41
Inference API http://10.0.0.41:8080/v1
Chat UI http://10.0.0.41:8081/
Agent endpoint http://10.0.0.41:8082/v1
Log in as root to manage this VM.
---------------------------------------------------------------
The address on that banner is read at the moment the console draws it, so it stays correct across a DHCP renewal. Each role shows its own:
| Console | What it gives you |
|---|---|
llamacpp | The inference API, and the chat UI — the one to open first, since it shows the routing decision and the prefill and generation rates for every message. |
switchyard | The OpenAI-compatible router endpoint, for pointing your own tools at. |
mcp | The MCP endpoint, for connecting another agent to this cluster. |
hermes | The address to SSH into, and the command to run. |
The agent is a terminal application. Take its address from the hermes console,
then:
ssh root@<hermes-address> # password: edgecloud
hermes
What the installer produces is an ordinary NodeWeaver node that happens to arrive with an AI stack on it. Nothing about the demo deployment makes it a special case:
Peers are best added on the same DHCP network, since that is what this build assumes.