lxask: Linux commands from plain English, offline

lxask turns a plain-English request ("find files bigger than 100 MB in /var, newest first") into a Linux command, with each part explained, and checks it against the man pages and tldr before showing it. It runs on your machine: no network, account or API key after install. The program is a single Rust binary; this repository holds the model files it uses.

Files

file size what it is
lxask-round4-Q4_K_M.gguf 986 MB the chat model: Qwen2.5-Coder-1.5B-Instruct, fine-tuned, 4-bit (Q4_K_M)
restrict-round4.gguf 37 MB LoRA adapter, switched on only for requests that rule a program out ("without lsof") or mention a proxy

sha256:

023ee206403c7fc96a9be13e1aec761dd798d73c6d2f876a6c09c392dbf9cbc5  lxask-round4-Q4_K_M.gguf
e77b3d86aab83aedf1a464993599c4b503d59d80b3fa7147b420221c214c8549  restrict-round4.gguf

These are not a standalone chat model. The accuracy comes from lxask's pipeline around the model: retrieval from man pages and tldr, a validator that checks every program and option, retries, and fixed rules. Used raw, the model alone is weaker (see the benchmark below).

Use

Install lxask (it downloads these files):

curl -fsSLO https://github.com/arxhr007/lxask/releases/latest/download/install.sh
sh install.sh
lxask "show the 5 biggest files in this folder"

The model alone runs in llama.cpp (llama-cli -m lxask-round4-Q4_K_M.gguf), but without the pipeline you lose the checks.

Training

Base: Qwen2.5-Coder-1.5B-Instruct (Apache 2.0). Two stages, then a small add-on:

  1. Supervised fine-tuning (LoRA, about 39,000 examples, one epoch).
  2. Reinforcement learning (GRPO) on about 1,550 file and text tasks, rewarded when the command actually ran in a sandbox and did the job. Held-out execution success rose from 52% to 78% (raw, before the pipeline's checks).
  3. The 37 MB adapter, trained on requests that rule out a program and on proxy settings.

Data: tldr-pages (CC BY 4.0), NL2Bash (GPL-3.0, with macOS-only commands removed), and questions and answers written by language models, every command checked by a validator and the answers reviewed by a stronger model. The model-written data is published in the repository, since 2026-10-21. Every training round, including the ones that were dropped: https://github.com/arxhr007/lxask/blob/main/docs/results.md

Limits

  • 1.5B parameters. It misses by a detail (a flag, a field number) more often than a large model would, which is why every answer is explained and anything unconfirmed is flagged.
  • English requests; Linux only (macOS and BSD flags differ).
  • It never runs commands for you. Read a command before you run it.
  • Licence lineage: Qwen2.5-Coder (Apache 2.0); tldr-pages CC BY 4.0; NL2Bash GPL-3.0. Details: https://github.com/arxhr007/lxask/blob/main/NOTICE

Benchmark

The public NL2SH-ALFA test set: 300 shell tasks, each answer executed in Docker by the InterCode-ALFA harness and scored by its embedding judge (local model, threshold 0.75).

solved 95% CI
lxask (model + pipeline) 187/300 (62%) 57-68%
this base model, untuned 92/300 (31%) 26-36%
the set's own reference commands 299/300 (99.7%)

63 of the 300 tasks overlap the training sources; on the 237 without overlap it is 61% against 34% (McNemar p = 7.7e-14; full set p = 1.2e-20). Keeping the first answer (no retries) or removing retrieval moves at most one task, so this score is the fine-tune's, not the pipeline's checks. Other tools publish 0.62-0.66 on this set with their own answer protocols, not directly comparable: the same untuned base scores 31% here against 54% reported there. The full record, including the judge's context-error caveat and the difficulty split: https://arxhr007.github.io/lxask/accuracy.html#the-public-benchmark-nl2sh-alfa

Downloads last month
32
GGUF
Model size
2B params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for aaronthomas123/lxask

Adapter
(200)
this model