Skip to main content

DFlash Console

Local Windows control panel for DFlash speculative-decoding stacks and a unified model runtime. Load GGUF, Hugging Face, speech, and embedding models from one UI, then talk to them through a single OpenAI-compatible port.

Status: Public preview for local, single-user Windows use.

Developer: ILAN AVIV · UI: http://127.0.0.1:8900/ · Version: v0.3.208

Download (Windows)

Package Where
Setup installer (recommended) Latest GitHub ReleaseDFlash-Console-Setup-*-x64.exe
Portable Same page — DFlash-Console-Portable-*-x64.exe
CLI only pip install dflash-console then dflash serve

Installed desktop apps check for updates from the latest GitHub Release (latest.json + the setup EXE). Windows may show an Unknown publisher warning because the installer is unsigned.


Engines

Pick an engine in Engines, Models, or Playground before you load.

Engine Models When to use it
DFlash / llama-server GGUF chat, vision, OCR, embeddings Default local path. Supports DFlash 1 and DFlash 2 draft accelerators.
vLLM Hugging Face SafeTensors Fast NVIDIA GPU path for large HF models. Optional; installs on demand.
Transformers Hugging Face SafeTensors Works on more PCs (CPU or GPU). Slower than vLLM. Optional; installs on demand.
FreeToken Large HF MoE folders via WSL2 For very large models on lower-VRAM machines. Needs WSL2 + NVIDIA/CUDA.

Install the optional engines from Settings → Downloads & engines or the first-run wizard. They stay out of the Windows installer so the download stays small.

DFlash 1 and DFlash 2

A DFlash stack is a target GGUF plus a smaller draft / accelerator used for speculative decoding.

Generation What it is
DFlash 1 Original DFlash draft family. Works with the bundled llama-server.
DFlash 2 Newer draft family (Gemma 4 / Qwen 3.8 and similar). Needs a llama.cpp build with DFlash 2 support.

The catalog can filter DFlash and DFlash 2 separately. On a target model, right-click Find and attach draft — the app searches the local library and Hugging Face, checks architecture compatibility, then registers and attaches the matching draft.


What else it does

Area What you get
Models Full PC library: DFlash stacks, GGUF, Ollama, LM Studio, Hugging Face folders, OCR, speech, embeddings
Catalog Search and download Hugging Face models into your library folders
Playground Chat · Speak · Transcribe · Embed against the loaded engine
Gateway One OpenAI URL: http://127.0.0.1:8001/v1
Speech Piper TTS and whisper.cpp STT
CLI dflash list, load, chat, search, pull — same library as the UI
Docs In-app user guide, CLI reference, and API catalog

Quick start

pip install dflash-console
dflash serve

Or install the Windows EXE and open the app. The UI is http://127.0.0.1:8900/.

Typical first session:

  1. Open Engines, turn Running on, and pick DFlash, vLLM, Transformers, or FreeToken.
  2. Load a model from the dropdown or the Models tab — a loading card appears immediately.
  3. For a DFlash GGUF, right-click and Find and attach draft if you want speculative decoding.
  4. Chat in the Playground, or point any OpenAI client at http://127.0.0.1:8001/v1 with optional X-DFlash-Client: YourApp so Engines shows who is using each model.

Recent improvements (v0.3.208)

  • Engine standby — Running toggle gates load/chat until you arm the pipeline
  • External GPU cards — OneVoice, LM Studio, and other apps on the GPU; compact mobile layout; loading state expires when models are ready
  • Other GPU processes — per-process VRAM chips for non-model apps
  • Unload fix — engine card Unload works reliably while the list refreshes
  • Client identityX-DFlash-Client header shows Active client on each card
  • VRAM preflight — load plans suggest which engine to unload first; co-resident 12B+31B pairs on one GPU
  • HF catalog — local index for instant Model catalog search
  • GPU performance mode — Balanced / Performance / Inference / Power in Settings → Hardware

From a git checkout: copy config.example.json to config.json, then .\server.ps1. Full walkthrough: docs/USER-GUIDE.md.


Terminal CLI

dflash serve
dflash list
dflash list --dflash
dflash list --vllm
dflash list --transformers
dflash load qwen
dflash chat "hello"
dflash search "qwen dflash2"

The Console must be running except for help, version, serve, and install. Full command list: docs/CLI.md.


OpenAI gateway and API

Point clients at:

http://127.0.0.1:8001/v1

The gateway routes chat, embeddings, TTS, and STT to the loaded engine. Model names are tolerant (engine id, file name, or an alias such as gpt-4o).

Client identity: send X-DFlash-Client: YourApp on load and chat requests so the Engines page shows the Active client for each model. The gateway forwards this header. The banner updates on every chat or embed call while the model stays loaded. Without the header, callers appear as Unknown API client. See docs/CLIENT-IDENTITY.md.

Selected Console routes (UI/API on port 8900):

Method Endpoint Purpose
GET /api/health Liveness
GET /api/servers Engine status
POST /api/models/load Load any catalog model; pick engine with runtime_id
POST /api/servers/{id}/v1/chat/completions Chat through a llama-server / DFlash engine
POST /api/servers/vllm/v1/chat/completions Chat through vLLM
POST /api/servers/transformers/v1/chat/completions Chat through Transformers
POST /api/servers/freetoken/v1/chat/completions Chat through FreeToken
POST /api/stacks/find-and-attach-draft Find a compatible DFlash 1 or DFlash 2 draft and attach it
POST /api/runtimes/piper/v1/audio/speech Piper TTS
POST /api/runtimes/stt/v1/audio/transcriptions Whisper STT
GET /api/models Full local library
GET /api/runtimes All runtimes and adapters
GET /api/docs/catalog In-app documentation

Load a Hugging Face folder on a specific engine:

curl -X POST http://127.0.0.1:8900/api/models/load \
  -H "Content-Type: application/json" \
  -H "X-DFlash-Client: MyApp" \
  -d "{\"path\": \"C:\\\\models\\\\org\\\\model\", \"runtime_id\": \"vllm\"}"

Use "runtime_id": "transformers" or "freetoken" the same way.

Full list: Documentation in the app, or Swagger at http://127.0.0.1:8900/docs.


Requirements

  • Windows 10+
  • Python 3.10+
  • PowerShell 7+ (pwsh)
  • NVIDIA GPU recommended for multi-model loads
  • Optional: WSL2 Ubuntu + CUDA for FreeToken
  • Optional: Node.js 22.12+ only if you build the Electron shell from source

Configuration and security

Copy config.example.jsonconfig.json (never commit the live file).

Setting Purpose
servers[] llama-server / DFlash GGUF profiles (engine_on per profile)
runtimes[] Piper, Whisper, vLLM, Transformers, FreeToken
model_libraries[] Folders scanned for local models
hardware_settings GPU strategy, performance mode, external GPU scan
runtime_stop_others_on_load Unload other Console engines before a new load
gateway_port OpenAI gateway (default 8001)
ui_layout.engines_card_filter Engines filter: both / console / external

The Console binds to loopback. It is for one trusted user on one PC. Do not expose ports 8900 or 8001 to a LAN or the internet without adding your own auth. Keep Hugging Face tokens in the environment (HF_TOKEN), not in config.json.


Community

Include the version from About. Do not paste config.json, tokens, or model weights.

License

GNU AGPL v3 or later. See LICENSE, NOTICE.md, and TRADEMARKS.md.

DFlash Console is developed by ILAN AVIV. Related project: DFlash.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dflash_console-0.3.208.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dflash_console-0.3.208-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file dflash_console-0.3.208.tar.gz.

File metadata

  • Download URL: dflash_console-0.3.208.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for dflash_console-0.3.208.tar.gz
Algorithm Hash digest
SHA256 db252b3f18c3d31bad76a2e80bf1656439144a9bd5ea2c0302235f01934c9fe4
MD5 5392fb3c5a443b0aab34c087df98d02c
BLAKE2b-256 32a62f8b446a97d8636db2185023e614dcdccbc3408c8b6e86d012f90996bf97

See more details on using hashes here.

File details

Details for the file dflash_console-0.3.208-py3-none-any.whl.

File metadata

File hashes

Hashes for dflash_console-0.3.208-py3-none-any.whl
Algorithm Hash digest
SHA256 930e2c130f558b36c7c69c53db8e233443fc9321b33d1a309ef5dc0cbfe79ded
MD5 a50e106c9334eecbacc51fe915dd2009
BLAKE2b-256 9ec14eadddffcdb80e5b7f1e258b0c596f03fd2683e3fc2c0c8bf5149f2eadfb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.208 This release

2 files

0.3.163

2 files

0.3.147

2 files

0.3.140

2 files

0.3.139

2 files

0.3.138

2 files

0.3.137

2 files

0.3.136

2 files

0.3.123

2 files

0.3.122

2 files

0.3.106

2 files

0.3.105

2 files

0.3.104

2 files

0.3.103

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page