Repository navigation
Releases
dale 1.1.0
dale 1.1.0
Natural language to Linux commands. 100% offline. One native binary, now for CPU and GPU.
dale 1.1.0 runs on the GPU through Vulkan (NVIDIA, AMD or Intel), with larger and more accurate models, and keeps the same single binary: on a machine without a GPU it works exactly as 1.0.0.
What's new
-
GPU support with Vulkan, in the same binary. The binary does not link the Vulkan library: it starts on any machine and opens the loader only when it is going to use the GPU.
-
First-run setup.
dalelooks for a dedicated GPU and picks a model by its free VRAM:first run ─► dedicated GPU, free VRAM? ├─ 8 GiB or more ─► choose: 1) dale-4b (Enter, faster) 2) dale-9b (more accurate) n) CPU ├─ 4 GiB or more ─► offer dale-4b [Y/n] └─ less, or no GPU ─► dale-0.8b on the CPU, as in 1.0.0It always asks before downloading, saves the choice and warns that the first answers on the GPU take a few seconds longer (once, while the driver compiles the shaders, and on the first request after boot).
-
Safe fallback. If the GPU fails to load the model or to answer,
daleanswers that request on the CPU and, withdevice = auto, uses the CPU from then on. If the GPU disappears, it uses the CPU that time. -
Two new models, the same contract as
dale-0.8b:Model Download VRAM in use Test v2 Warm request (reference desktop) dale-0.8b, CPU529 MB — 79.4 % (374/471) 1.7 s on a mid-range 2020 laptop CPU (0.9 s on the reference desktop) dale-4b, GPU2.7 GB ≈ 3.2 GiB 87.0 % (410/471) 1.2 s dale-9b, GPU5.6 GB ≈ 5.4 GiB 89.2 % (420/471) 1.7 s Test set:
manuelgscom/dale-bash-test-v2(471 cases), all measured withllama-server, like the comparison on the model cards; throughdalewith Vulkan,dale-4banddale-9bscore the same within two cases. GPU times on a desktop with a 16 GB GPU; they depend on the machine. -
dale --setupdetects the GPU and asks again. -
device = auto|cpu|gpuin~/.config/dale/config:cpukeeps every request on the CPU;gpuforces the GPU (integrated GPUs included, whichautonever picks). -
--jsonreportsdeviceandgpu;--versionshows the saved choice. -
No change on the CPU: same model, same answers and the same speed as 1.0.0.
Install or update
curl -LO https://github.com/manuelgscom/dale/releases/download/v1.1.0/dale-linux-x86_64
curl -LO https://github.com/manuelgscom/dale/releases/download/v1.1.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS # must print: dale-linux-x86_64: OK
chmod +x dale-linux-x86_64 && mkdir -p ~/.local/bin && mv dale-linux-x86_64 ~/.local/bin/dale
dale "list the files bigger than 200 MB"From 1.0.0: replace the binary as above. The dale-0.8b model you already downloaded is kept; on the next run, dale looks for a GPU and, if it finds a suitable one, asks whether to download a GPU model.
If you get dale: command not found, open a new terminal, or add ~/.local/bin to your PATH. The README has step-by-step instructions, including how to build from source.
Requirements
- Linux on x86_64 with AVX2.
- glibc 2.29 or later.
curlorwgetfor the first model download.- On Windows, use it through WSL 2.
- For the GPU (optional): a dedicated GPU with at least 4 GiB of free VRAM, its driver and the Vulkan loader
libvulkan.so.1(libvulkan1on Debian and Ubuntu,vulkan-loaderon Fedora,vulkan-icd-loaderon Arch). Almost every desktop already has it. If it is missing,daleuses the CPU and tells you what to install.
The models
All three are fine-tunes of Qwen3.5 (0.8B, 4B and 9B), quantized to Q4_K_M and published on Hugging Face in the dale collection, together with dale-2b for use with llama.cpp directly.
daleasks before downloading a model, verifies its SHA-256 and stores it in~/.local/share/dale/models/(or$XDG_DATA_HOME/dale/models/).- The download URLs are pinned to a fixed revision and compiled into the binary, with the sizes and SHA-256 of the files:
dale-0.8b-1.0.0-Q4_K_M.gguf:8738d2535680cf7b8227001013a0ba6e6b2a4c8e8f3d149fd181c17cb96e2d3ddale-4b-1.0.0-Q4_K_M.gguf:a1a5d5185d34dea237616d7a498aa5d9c854316d0af3c87094b73678944e862bdale-9b-1.0.0-Q4_K_M.gguf:475e4f8ecf69dcc2a1a14f21a9c6756508748e452a3358945c1f7b1616bd9ba5
- After the download,
dalemakes no network requests at all. - To use a local GGUF file instead:
dale --model PATH <request…>.
The model cards describe the evaluation, the prompt contract and how to use each model with llama-server.
Release assets
| File | Description |
|---|---|
dale-linux-x86_64 |
The binary, for CPU and GPU (about 51 MB, with the Vulkan shaders inside). Static C++ runtime, depends only on glibc. SHA-256 aa497c2e70c5ea20e29bf74b8fbad0935fc4d2399d5bcc8ddd286a69be801314 |
SHA256SUMS |
Checksums of the binary and of dale-0.8b |
THIRD_PARTY_NOTICES |
Licenses of the code built into the binary |
Limitations
- bash on Linux only. No zsh, fish or macOS for now.
- The models can be wrong, in about 1 of 5 cases on the test set with
dale-0.8band 1 of 10 withdale-9b, and a wrong command can look plausible. Always read the command before running it. daleis not a security tool. Its safety comes from the deterministic verifier and the confirmations, not from the model.- The GPU is used only through Vulkan, one GPU at a time. Each request is a new process that loads the model into VRAM, which is most of the time on the GPU.
License
- Code: MIT.
- Models: Apache-2.0, the same license as their base models.
- llama.cpp/ggml (with its Vulkan backend), nlohmann/json, the Khronos Vulkan and SPIR-V headers and the GCC runtime (under the GCC Runtime Library Exception) are built into the binary; see
THIRD_PARTY_NOTICES.
Author: Manuel García Sanz
dale 1.0.0
dale 1.0.0
Natural language to Linux commands. 100% offline. One native binary.
This is the first public release of dale.
$ dale "find the files over 200 MB in this folder"
❯ find . -type f -size +200M -exec ls -lh {} +
Recursively finds files larger than 200 MB in the current
directory and lists them with human-readable sizes.
● safe · Run it? [Y/n/e(dit)/c(opy)]dale turns a request in English or Spanish into one bash command and explains it. A deterministic risk verifier written in C++ rates every command as safe, caution or danger, and the command runs only if you confirm. Dangerous commands run only after you type run (ejecutar in Spanish). Three modes: suggest (never runs), confirm (the default) and auto (runs safe commands directly, asks for everything else).
Everything happens on your machine: after the model download there are no network requests, no accounts and no telemetry.
Install
curl -LO https://github.com/manuelgscom/dale/releases/download/v1.0.0/dale-linux-x86_64
curl -LO https://github.com/manuelgscom/dale/releases/download/v1.0.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS # must print: dale-linux-x86_64: OK
chmod +x dale-linux-x86_64 && mkdir -p ~/.local/bin && mv dale-linux-x86_64 ~/.local/bin/dale
dale "list the files bigger than 200 MB"If you get dale: command not found, open a new terminal, or add ~/.local/bin to your PATH. The README has step-by-step instructions, including how to build from source.
Requirements
- Linux on x86_64 with AVX2.
- glibc 2.29 or later.
curlorwgetfor the first model download.- No GPU needed. On Windows, use it through WSL 2.
The model
manuelgscom/dale-0.8b-GGUF is a full fine-tune of Qwen3.5-0.8B, quantized to Q4_K_M (529 MB).
- On first use,
daleasks before downloading it. - It verifies its SHA-256 (
8738d2535680cf7b8227001013a0ba6e6b2a4c8e8f3d149fd181c17cb96e2d3d) and stores it in~/.local/share/dale/models/(or$XDG_DATA_HOME/dale/models/). - The download URL is pinned to a fixed revision and compiled into the binary.
- After that,
dalemakes no network requests at all. - To use a local GGUF file instead:
dale --model PATH <request…>.
Accuracy and speed
- 79.4 % (374/471) on the public test set
manuelgscom/dale-bash-test-v2, versus 62.8 % for Qwen3.5-9B and Gemma 4 E4B-it without fine-tuning. - 0 invalid JSON answers, and all 101 out-of-scope requests correctly refused.
- About 1.7 s median per request on a mid-range 2020 laptop CPU (4 cores / 8 threads), with no GPU.
The model card describes the methodology in detail.
Release assets
| File | Description |
|---|---|
dale-linux-x86_64 |
The binary. Static C++ runtime, depends only on glibc. SHA-256 3885ca552b2a3947af3c30cc95392c94d2064bce22cf01661994587dffa5a056 |
SHA256SUMS |
Checksums of the binary and the model |
THIRD_PARTY_NOTICES |
Licenses of the code built into the binary |
Limitations
- bash on Linux only. No zsh, fish or macOS for now.
- The model is wrong in about 1 of 5 cases on the test set, and a wrong command can look plausible. Always read the command before running it.
daleis not a security tool. Its safety comes from the deterministic verifier and the confirmations, not from the model.- Requests are capped in length: very long requests are rejected.
License
- Code: MIT.
- Model: Apache-2.0, the same license as its base model.
- llama.cpp/ggml, nlohmann/json and the GCC runtime (under the GCC Runtime Library Exception) are built into the binary; see
THIRD_PARTY_NOTICES.
Author: Manuel García Sanz