janas-chat
Interactive terminal chat with a Janas-LLM model streamed from disk
TLDR
SYNOPSIS
janas-chat [model] [options]
DESCRIPTION
janas-chat is the terminal client of Janas-LLM, a family of C programs that run mixture-of-experts language models whose weights stay on disk. Experts each token needs are streamed from an NVMe SSD; the ones that keep coming back stay in an in-memory cache. An 80-billion-parameter model can answer on a laptop with 32 GB of RAM.model is a .jns file, or a name from the catalog (`janas-get list` shows them). With no model, the chat lists the catalog, marks what is already on disk, and asks which one. A catalog model that is not in `~/.local/share/janas/models` (or JANAS_MODELS / --models) is downloaded and converted after asking, through janas-get.On a terminal the program takes the window: a banner, the conversation, and a footer with the model name, context used, last speed, and expert-cache fill. Lines starting with / are commands (`/help` lists them). A backslash then Enter adds a line to the message instead of sending it. Ctrl-C stops a reply; Ctrl-D quits. Piped in or out it stays a plain chat for scripts.Settings stack in this order: the model's catalog profile, the measure of the model on this machine, `~/.config/janas/chat.conf`, `~/.config/janas/models/<name>.conf`, then the command line. `/save-config` writes the model's file (`/save-config global` the chat's). The first start of a model on a machine can offer to measure it (`--tune` / `--no-tune`).A model whose catalog entry names a draft or multi-token prediction file gets it by itself. --mtp names one; --no-mtp goes without. --draft puts a small model of the same family in place of conversation-copied guesses (worth it on dense models). Speculative decoding does not change which tokens come out, only how many a pass checks; --no-spec and `/spec off` turn it off.
PARAMETERS
model
A `.jns` path or catalog name. None: list the catalog and ask.--profile quality|fast
Catalog profile. quality (default) keeps answers as the file gives them; fast adds levers measured to make that model faster at a small cost to its answers.--models dir
Where models live (default JANAS_MODELS, or `~/.local/share/janas/models`).--tune, --no-tune
Measure again how the model runs fastest on this machine, or neither ask nor use that measure.--mtp file
Multi-token prediction file (an MTP block, or Gemma 4's assistant). Without it, the matching file beside the model.--no-mtp
No prediction file, not even one found beside the model.--draft file
A small model of the same family to guess the next tokens.--ctx tokens
Context length (default 16384, never more than the model was trained for).--cache GiB
Memory for streamed experts (default: what the machine can spare).--reserve GiB
When the cache is automatic, memory left to other programs (default: a fifth of the machine's).--bits 2|4|6
Bits per weight of the experts' down matrix, for files stored in planes (default: the memory decides).--head 4|6
Bits of the output head. 4 requantizes a six-bit head at start (default 6, as in the file).--attention exact|fast
How attention scores are computed (default: fast above 16384 tokens of context).--system text
System message (`""` for none).--temp, --top-k, --top-p, --min-p, --seed
Sampling. Defaults follow Qwen's recommendations: temperature 0.7, top-k 20, top-p 0.8.--max tokens
Longest reply (default: no limit).--mode auto|eco|max
Power mode. eco never uses the GPU for speed alone.--think on|off
Reasoning before replying, for models that do it (default off).--stats
A line of counters after every reply.--no-gpu
Never give the GPU work, whatever the mode says.--no-spec
No speculative decoding.--no-markdown
Print the model's marks instead of rendering them.--mcp-config file
MCP servers whose tools the model may call (default `~/.config/janas/mcp.json`).--no-mcp
Start no MCP server, including Janas's own services.--no-services
Start none of Janas's own services (`janas-flights` and the others beside the chat).--progress s
A line on stderr every s seconds while a long prompt is read.
CONFIGURATION
~/.local/share/janas/models
Default model directory.~/.config/janas/chat.conf
Global chat settings (`/save-config global`).~/.config/janas/models/<name>.conf
Per-model settings (`/save-config`).~/.cache/janas/
Tuning profiles, expert-cache learning, and other machine-local state.~/.config/janas/mcp.json
MCP servers in the usual `mcpServers` format.JANAS_MODELS
Override the model directory.JANAS_GPU=0
Keep the engine off the GPU entirely.JANAS_TUNE=0
Turn self-tuning off (fixed defaults).
CAVEATS
Janas is early software: the public API and the command line change without notice. The engine fills free memory with its expert cache and reads the disk with O_DIRECT; on a machine with less headroom than it reckons, the desktop can be pushed into swap. Using a GPU has, once, caused a driver reset that took the desktop with it. It was developed on one Linux x86-64 laptop (Debian 13, Intel Core Ultra 9 185H, 32 GB, NVMe); other CPUs, discrete GPUs, slower disks, and smaller machines are untested. macOS is not supported. Models must be .jns files (converted from GGUF); IQ2 and IQ1 types are refused. Qwen3.5-0.8B is a test model left out of the pick list.
HISTORY
Janas is designed and written by Maurizio "camauri" Cammalleri. The first public release of Janas-LLM was in September 2026. It is free software under the GNU GPL version 3 or later.
SEE ALSO
janas-get(1), janas-bench(1), janas-server(1), janas-mcp(1), llama-cli(1), ollama(1), janus(1), koboldcpp(1)
