One binary, fourteen verbs.
The same command surface on every backend. It is a published contract: verbs, options and exit codes do not change meaning without a version change.
Apple Silicon
Early access. The 2026.09.20 Metal build is being handed out directly while the signed download path is finished. Write to support@veizik.com with the Mac you are on and we will send it.
# 1. verify what you were given $ shasum -a 256 -c SHA256SUMS 14 files OK # 2. install (pure shell, nothing compiled) $ ./install.sh # 3. check the installation $ veizik doctor backend Apple integrity sealed · .text intact status ready
The installer places the CLI at ~/.local/bin/veizik and one core per model under ~/.local/lib/veizik. Set VEIZIK_PREFIX to put them elsewhere, or VEIZIK_ROOT to point an installed CLI at a different tree.
Nothing is compiled on your machine, no interpreter is used, and no system file is touched. To uninstall, delete those two paths.
You supply model weights. In this release the runtime reads your Hugging Face cache in place — it downloads nothing and writes nothing back.
The fourteen verbs
| Verb | Form | What it does |
|---|---|---|
| run | run <model> "<prompt>" [tokens] | Generate once and exit. |
| chat | chat <model> [tokens] | An interactive session. |
| serve | serve <model> [--port N] | Answer over HTTP, locally. |
| models | models | List what is installed here, with each model's catalogue tier and disk state. |
| pull | pull <model>[@<revision>] | Fetch a model into the cache. |
| remove | remove <model>[@<revision>] | Delete it from the cache. |
| convert | convert <source> [-o <file>] | Prepare a checkpoint you already have. |
| inspect | inspect <model> | Show what a model is: status, context, geometry, where it lives, whether it is runnable. |
| bench | bench <model> | Measure this machine. |
| cache | cache info | clean | Inspect or tidy the download cache. |
| config | config show | set | unset | See and change settings. |
| completion | completion zsh | bash | fish | Emit a shell completion script. |
| doctor | doctor | Check this installation: backend, catalogue and integrity. |
| version | version | Show version and backend. |
You choose an intent; the engine chooses the path
Each profile selects a verified execution path for the model, device and requested objective. How that path is built is ours to decide and is not part of the interface — what you choose is what you want more of.
auto is the default, and it is the right answer almost always.
- auto
- Default. A verified path chosen for this model and this device.
- fastest
- Throughput first.
- balanced
- The middle of the range.
- quality
- Numerical quality first.
- smallest
- Least memory on the device.
In the current experimental release every model runs the single published path; profile selection arrives with the calibrated packs.
Scriptable, and frozen
| Code | Meaning |
|---|---|
| 0 | Success. |
| 2 | Usage error — no arguments, unknown verb, missing prompt. |
| 4 | Model not found or not resolvable. |
| 5 | Artifact integrity or anti-tamper failure. Fail-closed: nothing runs. |
| 6 | No device or runtime available here. |
Once the runtime has started, its own exit code passes through unchanged — a wrapper that rewrote it would be lying to your script. Codes that arrive with a veizik: message on stderr are the front end's; codes without one came from the runtime.
What this release does not do
- Greedy decoding only. --temperature, --top-p and --top-k are part of the contract but not implemented yet.
- Uncalibrated quantisation. Quality is below the calibrated profile; on the 0.5B model it shows.
- Context is 32,768 tokens, prompt and generation combined. Over the limit the core prints a message and exits 1 rather than truncating silently. VZ_CTX lowers the window.
- Four models, base checkpoints. Qwen2.5 0.5B / 1.5B / 7B and Qwen3-1.7B. Other architectures are refused.
- Apple Silicon only. The CUDA lane is in preparation.
What it does on the network, and to your disk
No network at inference
Generation makes no outbound call. Prompts and outputs never leave the machine, and the engine works with the network off.
No writes
No converted artifact, no weight cache, no temporary model files. Quantisation happens in device memory during load.
No telemetry in the runtime
The engine does not phone home. Anything about your usage that we do not measure is something we cannot know.