Repository navigation
Getting Started
Download the archive for the required operating system and architecture from GitHub Releases. Each release includes checksum files.
The main executables are:
-
tensors-routerfor routing and backend process management -
tensor-router-webuifor the optional management interface -
tensor-router-downloaderfor model downloads used by the management interface -
tensor-router-vllmfor isolated vLLM runtime installation and process management on Linux amd64, Linux arm64, and macOS arm64
Keep companion executables in the same directory as the router when automatic discovery is required. The WebUI obtains companion availability from the router. Native Windows archives do not include tensor-router-vllm; use a Linux deployment in WSL 2 for vLLM on a Windows host.
Requirements:
- Go matching the version used by the build workflow
- Node.js and npm for the WebUI bundle
-
uv0.12.0 when building the vLLM companion, so the platform-matched executable can be embedded
Build on the current platform:
cd webui
npm ci
npm run build
cd ..
go build -o tensors-router ./cmd/tensors-router
go build -o tensor-router-webui ./cmd/tensor-router-webui
go build -o tensor-router-downloader ./cmd/tensor-router-downloaderOn Linux amd64, Linux arm64, or macOS arm64, also build the vLLM companion:
go build -o tensor-router-vllm ./cmd/tensor-router-vllmBuild Linux binaries with the Makefile:
cd webui
npm ci
cd ..
make build-linuxBuild Windows binaries:
powershell -ExecutionPolicy Bypass -File .\scripts\build-windows.ps1Build the full macOS arm64 suite on Apple Silicon:
bash scripts/build-macos.shGenerated cross-platform binaries are written to dist.
Copy the canonical example and create the required directories:
cp config.example.yaml config.yaml
mkdir -p kcpps bin data router-storePut .kcpps files in the directory selected by models.config_dir. Each file name stem becomes its default public model ID.
Set the backend executable paths for the selected backend mode. Keep managed backend listeners on loopback addresses.
./tensors-router serve --config config.yamlConfirm model discovery:
curl http://127.0.0.1:8080/v1/modelsSend a chat request:
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"model-id","messages":[{"role":"user","content":"hello"}],"stream":true}'Copy the WebUI example and start it:
cp webui.example.yaml webui.yaml
./tensor-router-webui --config webui.yamlWith an empty router.url, the WebUI starts the router executable beside it and stops that managed process when the WebUI exits. Set router.url when the router is already running.
The WebUI uses HTTPS and generates a local certificate when certificate files are not configured. See WebUI for listener and authentication details.
- Choose a run topology.
- Review security settings before binding beyond loopback.
- Use Deployment for containers, GPU access, and system services.
Documentation source: docs/wiki. Edit the source files in the main repository. Direct Wiki edits are overwritten by the next publication.