GhostChat64.exe as a reminder. If you try to run it on 32-bit Windows, it shows a short message and exits cleanly instead of failing midway through model load.
GhostChat64.exe as a reminder. If you try to run it on 32-bit Windows, it shows a short message and exits cleanly instead of failing midway through model load.
.gguf language model file (see Where to get a model below).model folder next to GhostChat64.exe — or use Settings → Model → Open model folder to jump there..mmproj file, drop that in the same folder next to the .gguf. The app pairs them automatically and enables the 📎 Attach Image button for that model. See Attach an image below.
.gguf file from these public sources will work:
.gguf across to ours.mmproj-*.gguf in the same Hugging Face repo as the main model. Download both the main .gguf and the matching .mmproj, and drop them in model\ together. The app pairs them by filename prefix.
| Extension | Works? | Notes |
|---|---|---|
.gguf |
✅ Yes | The only format the app reads. Can be a single file or split into -00001-of-00003.gguf parts — the app picks the first part automatically. |
.mmproj / *.mmproj.gguf |
✅ Yes | Vision encoder. Enables the 📎 Attach Image feature. Must share a filename prefix with the main model. See Attach an image below. |
.ggml |
❌ No | Legacy format. Superseded by GGUF around 2023. If you have an old .ggml, convert it or find the GGUF equivalent. |
.safetensors |
❌ No | Original Hugging Face weight format. Needs conversion to GGUF before this app can use it. |
.bin / .pt / .pth |
❌ No | PyTorch checkpoints. Also need conversion. |
.onnx |
❌ No | A different runtime entirely. |
| Ollama blobs | ❌ No | Ollama stores files with hash names inside ~/.ollama/models/blobs. Not readable by this app. |
.gguf (including .mmproj.gguf), it will work. If it ends in anything else, it won't.
| Quant | Size vs original | Quality | RAM needed |
|---|---|---|---|
Q4_K_M | ~30% | Excellent | File size + ~2 GB |
Q5_K_M | ~35% | Near-lossless | File size + ~2 GB |
Q6_K | ~42% | Almost lossless | File size + ~2 GB |
Q8_0 | ~55% | Effectively lossless | File size + ~2 GB |
Q4_K_M. Fits comfortably in 8–16 GB of RAM and runs at a usable speed on CPU.
<think>...</think> tags before writing the visible reply. When this is ticked, both the reasoning and the tags are shown. When off, the whole thinking block is hidden.
ON / OFF).ON / OFF).https://…) — the page is fetched and its text extracted..mmproj file in the model\ folder, next to the main .gguf. Filenames must share a prefix — e.g. Ministral-3-14B.gguf + Ministral-3-14B.mmproj, or qwen2-vl-7b.gguf + qwen2-vl-7b-mmproj.gguf.mmproj or containing mmproj in the name..mmproj to a text-only model does nothing useful..jpg, .jpeg, .png, .bmp.
.mmproj was paired with the currently loaded model — the app logs "No .mmproj file found. Vision disabled." in the chat log when this happens.
.mmproj to pick it up.
| Preset | Temperature | Feel |
|---|---|---|
| Precise | 0.3 | Factual, low variance, safe. Good for questions. |
| Balanced | 0.75 | Default. Good mix of accuracy and liveliness. |
| Creative | 1.0 | High variance, more inventive. Good for stories and roleplay. |
8192.2048.512.ContextSize back to 8192 first.
.gguf in the model folder. Pick one to load it. Tick Set as default and it will auto-load next time the app starts.
.mmproj file is present, the model is marked with a 👁️ Vision label in the list, and Vision is enabled on load.
.mmproj alongside the model (the mmproj is picked up on reload).
[INST]...[/INST] wrapping. Used by Ministral, Mixtral, Mistral Instruct.<|start_header_id|> headers. Used by Llama 3.x.<|im_start|> tags. Used by Qwen, Phi-3, DeepSeek.<start_of_turn>. Used by Gemma 2.### Instruction: style. Older fine-tunes.model\ in Explorer. Use this to drop in new .gguf files (and matching .mmproj files), or to see what the app has detected.
User: / System: lines in its output. This reduces role-label leakage that some models fall into.
.json file. Open restores it. Sessions include every user/assistant exchange but not the model itself — reload the same model after opening a session to keep replies consistent.
images\. It scans subfolders too, and skips hidden/system files. Supported: .png, .jpg, .jpeg, .bmp, .gif.
.png, .jpg, .jpeg, .bmp, .gif; the attach button accepts .jpg, .jpeg, .png, .bmp.
.webp, .avif, .heic. These need a third-party decoder that isn't bundled. Convert them to .png or .jpg first.
GhostChat64.exe (or next to the .csproj during development):
| File / folder | Purpose |
|---|---|
model\ | Where .gguf files go. Scanned recursively. Also holds matching .mmproj vision encoders. |
model\*.mmproj | Vision encoders. Paired automatically with a matching .gguf to enable image understanding. |
images\ | Rotation images. Subfolders scanned too. |
settings.txt | App-wide preferences (names, presets, limits, layout, Internet state). |
system_prompt.txt | The persistent instruction sent to the model. |
model_settings.json | Per-model state — default model, prompt-format overrides. |
ghostchat.png | About dialog image. |
ghostchat.ico | App icon (embedded in the exe, shown in the title bar and taskbar). |
pc.ico | Favicon for the GhostBundle help pages. |
help-ghostchat.html | This page (bundled with the app as help.html). |
settings.txt — resets names, presets, limits, layout, and Internet state.system_prompt.txt — clears the system prompt.model_settings.json — forgets the default model and any prompt-format overrides.ContextSize=8192 in Generation Limits.[Debug]: Gen: N tok … tail: …) and look at the tail. If the tail shows the model writing role labels like User: or special tokens like <|im_end|>, it means the model wasn't wrapped in its expected format.
Q4_K_M is faster than Q8_0).
Q4_K_M model needs ~12 GB free. Try:
Q4_K_M instead of Q6_K)..mmproj was paired with the current model. Checklist:
.mmproj file in model\ next to the main .gguf?Ministral-3-14B.gguf and Ministral-3-14B.mmproj).gguf model you loaded. No account, no telemetry, no cloud.
A no-nonsense, local-first front-end for GGUF language models. Drop a model file in, chat, done. No accounts, no cloud, no telemetry — everything happens on your machine. Two features reach beyond your desktop, both opt-in: Internet (off by default) fetches live data via DuckDuckGo Lite / Google News RSS, and Vision uses a paired .mmproj to let the model understand attached images — and images never leave your machine. If a model misbehaves, the fix is almost always a prompt-format override or a context-size adjustment, both of which are one click away in the Settings menu. Made for people who want to run their own models without a launcher, a subscription, or a company watching over their shoulder. Ghost Chat is free, and it always will be.