Instructions to use TessaCoil/K3-Stuff with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use TessaCoil/K3-Stuff with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf TessaCoil/K3-Stuff:Q8_0 # Run inference directly in the terminal: llama cli -hf TessaCoil/K3-Stuff:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf TessaCoil/K3-Stuff:Q8_0 # Run inference directly in the terminal: llama cli -hf TessaCoil/K3-Stuff:Q8_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf TessaCoil/K3-Stuff:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf TessaCoil/K3-Stuff:Q8_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf TessaCoil/K3-Stuff:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf TessaCoil/K3-Stuff:Q8_0
Use Docker
docker model run hf.co/TessaCoil/K3-Stuff:Q8_0
- LM Studio
- Jan
- Ollama
How to use TessaCoil/K3-Stuff with Ollama:
ollama run hf.co/TessaCoil/K3-Stuff:Q8_0
- Unsloth Desktop
- Pi
How to use TessaCoil/K3-Stuff with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf TessaCoil/K3-Stuff:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "TessaCoil/K3-Stuff:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use TessaCoil/K3-Stuff with Docker Model Runner:
docker model run hf.co/TessaCoil/K3-Stuff:Q8_0
- Lemonade
How to use TessaCoil/K3-Stuff with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull TessaCoil/K3-Stuff:Q8_0
Run and chat with the model
lemonade run user.K3-Stuff-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use TessaCoil/K3-Stuff with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf TessaCoil/K3-Stuff:Q8_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default TessaCoil/K3-Stuff:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use TessaCoil/K3-Stuff with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf TessaCoil/K3-Stuff:Q8_0
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "TessaCoil/K3-Stuff:Q8_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
K3 Rental Test β Prep Report (2026-08-25)
Offline preparation for k3-rental-test-plan.md Β§3 pre-flight. Verdict: ready to
rent, with two deltas to internalize first (Β§3 below).
1. Pre-flight checklist β verified
| Plan Β§3 item | Status | Evidence |
|---|---|---|
| K3 artifacts downloadable | β direct GGUF path, no conversion phase | unsloth/Kimi-K3-GGUF: UD-Q4_K_XL = 32 shards, 1508.7 GB (~49 GB/shard), matching the plan's 1.5 TB assumption. Also IQ1_S 594 GB / IQ2_XXS 711 GB / Q8_K_XL 1560 GB (=lossless). Optional mmproj-BF16.gguf for vision. Official weights: moonshotai/Kimi-K3. |
| Runtime KDA support | β llama.cpp mainline | PR #26185 "model: add Kimi-K3 text model" merged 2026-08-15, first released in b10448. KDA + Gated-MLA + AttnRes + latent-MoE + SiTU all implemented; MXFP4 experts repacked losslessly (no dequantβBF16 hours). Vision needs unsloth fork PR #48 β text-only plan β mainline OK. Pinned in config.env: d222767 (2026-08-25 master). |
| Smoke model staged | β | Qwen/Qwen3-30B-A3B-GGUF Q4_K_M (~18.6 GB). |
| Scripts repo | β | k3-test/ β see README. bash -n clean; flags verified against pinned source. |
| Plan + review HTML accessible | β | in /Users/danielleensign/prog/chat/ β rsync with the repo. |
| Rental offers live | β can't verify offline | Vast offer IDs are ephemeral & need an API key β day-of check via the web console (Β§4 below). |
Flags verified in llama.cpp source @ d222767
--cpu-moe (-cmoe), --n-cpu-moe N (-ncmoe), -ot "<regex>=<buffer>" (first
matching pattern wins; buffer names CPU, CUDA0..3), --numa distribute,
--load-mode mmap|mlock|dio|none, prompt-lookup spec via --lookup-cache-static / --lookup-cache-dynamic, --single-turn, --no-conversation.
Expert tensor naming confirmed in src/llama-arch.cpp:
blk.N.ffn_{gate,up,down}_exps.weight β the pattern .ffn_(up|gate|down)_exps.=CPU
is exactly what --cpu-moe injects internally.
config.json (replaces plan's estimates)
93 layers = 69 KDA + 24 Gated-MLA (full-attn layers 4,8,β¦,92,93); hidden 7168; 96 heads; MLA kv_lora_rank 512, q_lora_rank 1536; 896 routed experts (moe_ff 3072, latent-compressed) + 2 shared; vocab 163840; ctx 1 048 576; AttnRes block size 12; KDA gate_lower_bound β5.0.
2. Budget re-check
Q4 download at the box's measured 6.4 Gbps β 32β39 min β $1.30 @ $2.278/hr β on plan. Disk need 1508.7 + 18.6 + logs β 1.56 TB < 2.74 TB β fine with the plan's headroom.
3. β Two deltas from the plan to internalize BEFORE renting
(a) Trunk VRAM reality. UD-Q4_K_XL keeps the dense trunk mostly Q8_0 (Unsloth:
"the remaining tensors β¦ are Q8_0"). Dense trunk β 56B params β ~55β60 GB, which
does not fit 2Γ24 GB. On the rental the default is trunk split across 3 GPUs
(TSPLIT=1,1,1, leaving GPU 3 for E6), with E0b/E0c measuring the 2-GPU / 1-GPU
CPU-spill penalty. On the home build (1Γ3090) the trunk cannot be VRAM-resident at
all: ~35 GB of trunk lives in RAM and is re-read every token (CPU side total then
~50β60 GB/token β ~2.5β3.5 tok/s at 150β180 GB/s, below the plan's 5β6 prediction),
unless the trunk is separately re-quantized (Q4 trunk β 29 GB β still >24 GB; Q3
borderline). The rental test must quantify this spill penalty (E0) β it is now the
home build's central unknown.
(b) "RAM-resident" is physically impossible on the rental (1508.7 GB model vs ~612 GB RAM+VRAM) β but that's fine: mmap page-cache streaming is the reference-4-bit-streaming architecture. The experiments map plan-terms onto kernel reality:
- E1 "experts fully RAM-resident" β E1b warm page cache (hot set resident); E1a cold = SSD streaming for the same workload. The pair measures plan E1+E2.
- E3 "prefetch OFF" β
--load-mode dio(every expert read hits NVMe β no llama.cpp expert-prefetch engine exists; readahead knobread_ahead_kb 128β4096is E2's "ON"). - E4 cache-size sweep β RAM filler (
/dev/shm) shrinks effective page cache to emulate 200/320/450-expert hot sets. - E8: llama.cpp has no router top-k override for kimi-k3 @ d222767 β script probes
and logs UNSUPPORTED rather than failing. (Can patch
llm-graphif it matters β ~5 lines; decide on-box.) - Hot-set arithmetic: expert mass β 1449 GB Γ· 896 β 1.6 GB/expert β
490 GB usable RAM caches **300 experts**, slightly under the plan's 320β360. E4 measures the knee directly, so plan Β§6's hit-rate criteria still apply.
4. Day-of-rental checklist (cannot be done offline)
- Open vast.ai console β verify offer #18138411 live; else fallbacks in plan Β§2 (#43104468 β #12239073). Reject anything <1 Gbps down.
rsync -a k3-test/ root@box: && ssh,tmux new -s k3,./run_all.sh.- Watch download rate for 15 min (
tail -f logs/download_k3.log); <2 Gbps effective β kill, re-rent #43104468 (plan Β§7). - After experiments:
./30_teardown.sh, pull tarball off-box (7.6 Gbps up), destroy instance in the console.
5. Sources
- llama.cpp K3 model support: https://github.com/ggml-org/llama.cpp/commit/ad1de39e0708e3ced9c71bb3c82d93a2c046a73f
- Release b10448: https://github.com/ggml-org/llama.cpp/releases/tag/b10448
- Unsloth GGUF repo + sizes: https://huggingface.co/unsloth/Kimi-K3-GGUF
- Unsloth run guide (quant table, fork note): https://unsloth.ai/docs/models/kimi-k3
- Official repo: https://huggingface.co/moonshotai/Kimi-K3 / https://github.com/MoonshotAI/Kimi-K3
- K3 tech report: arXiv:2607.24653 Β· NeMo arch notes: https://docs.nvidia.com/nemo/automodel/model-coverage/large-language-models/moonshotai/kimi-k3