--- title: DOS LLM emoji: 💾 colorFrom: green colorTo: blue sdk: static pinned: false short_description: Ask an LLM in Chinese or English from inside FreeDOS --- # DOS LLM — ask an AI from inside DOS (中文 / English) Type a question, press the button: a **FreeDOS** machine (v86 x86 emulator, in your browser) runs `G `. **G.EXE** is a real DOS program that does its own **DNS, TCP and HTTP** through an emulated **NE2000** card and calls a public **Gradio Space** (default `tencent/Hy3`) with Gradio's documented API. The **answer is printed on the DOS screen**. 1. `POST /gradio_api/call/chat` with the question -> `event_id` 2. `GET /gradio_api/call/chat/` -> server-sent events (`generating` ... `complete`) 3. G.EXE decodes the `complete` frame and prints it as `A> ...` The page then compares the text printed on the DOS screen with the text Gradio returned and shows `DOS = LLM` when they are identical. ## How the packets leave the browser Inside DOS: Crynwr **NE2000 packet driver** -> mTCP **DHCP.EXE** (192.168.86.100) -> **G.EXE** (mTCP TCP/IP stack). DOS has no TLS and browsers cannot open raw TCP, so v86 terminates the guest's TCP streams and `bridge.js` (a tiny in-page WISP server) turns each HTTP request DOS sends on **port 80** into an HTTPS `fetch()`. It relays **only** `*.hf.space` hosts and paths starting with `/gradio_api/` (GET/POST, body <= 8 KB, no credentials), so it is not an open proxy. DNS is answered by v86 using DNS-over-HTTPS. ## Things to know - **Chinese and English both work.** DOS runs **小貓中文** (Big5 display + Zhuyin input), so the question and the answer are shown in Chinese on the DOS screen; type in DOS with `Ctrl+Space` (注音). Characters Big5 does not have (Simplified Chinese, emoji) show as `?`; Chinese questions ask the model for Traditional Chinese. Replies are limited to ~40 words / ~80 Chinese characters. - The DOS screen is 640x400 (XiaoMao). The page presents it in device pixels, 4:3 like a real VGA monitor by default, sharp on HiDPI screens; the card has a zoom selector (fit width / integer / 2x scrollable) and a 4:3 checkbox. - **小貓中文 v1.0 — author HelloSun, first version 2026-10-25.** It prints its notice every time it loads in DOS, `TYPE AUTHOR.TXT` shows the licence terms. Please keep the author notice (see `LICENSE`). - The Big5 <-> UTF-8 conversion happens in the page (`big5.js`); DOS only ever sees Big5. - Your question is sent to the chosen public Space (it is a third-party service). Do not type secrets. - If DOS ever hangs, press **重新開機** (reboot). Another Space can be tried under "進階" if it exposes a `/chat` endpoint with the same 9 parameters as `tencent/Hy3`. - Needs a modern browser (WebAssembly, `DecompressionStream`) and internet access. ## Developer package `dev/dosllm-dev.zip` has the sources, build scripts, tests and the handover document `dev/HANDOFF.md`; it also contains the mTCP source archive that G.EXE is linked against and the unmodified 小貓中文 package. Rebuild everything with `tools/build_all.sh`. Our code is GPL-3.0-or-later. 小貓中文 is by **HelloSun** (v1.0, 2026-10-25): GPL-3.0-only **plus a GPLv3 §7(b) term: the author attribution must be kept**; see `LICENSE` and `NOTICE.md`.