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"
File size: 3,401 Bytes
ddf8c5b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | #!/usr/bin/env bash
# 29_dspark_isolate.sh — Minimal test: does DSpark spec work on K3 at all?
# Try WITHOUT -fa on (FA is the most likely graph-breaker). 64in/64out, single probe.
set -euo pipefail
cd "$(dirname "$0")"
source lib/common.sh
source lib/server.sh
BIN="/root/llama.cpp/build/bin/llama-server"
MODEL="/root/models/Kimi-K3-GGUF/UD-Q4_K_XL/Kimi-K3-UD-Q4_K_XL-00001-of-00032.gguf"
DRAFT="/root/models/k3-draft/draft.gguf"
PROMPT_FILE="/root/k3-test/prompts/gen/coding_64tok.txt"
PORT=8899
THREADS="${THREADS:-112}"
PRED=64
LOG_ROOT="$(pwd)/logs"
PROGRESS="$LOG_ROOT/progress.log"
mkdir -p "$LOG_ROOT"
log() { echo "[$(date +%H:%M:%S)] $*" | tee -a "$PROGRESS"; }
PROMPT=$(cat "$PROMPT_FILE")
stop_server "$PORT" 2>/dev/null || true
sleep 2
# NO -fa on: let it auto (likely off). Draft on CPU. Default batch 512.
log "### dspark-isolate: cmoe + dspark + FA-auto + t${THREADS} (NO explicit FA)"
LLAMA_MMAP_NO_PREFETCH=1 \
"$BIN" \
--host 127.0.0.1 \
--port "$PORT" \
-m "$MODEL" \
-ngl 999 \
--tensor-split "0.3,1,1,1,1,1,1,1" \
--cpu-moe \
-t "$THREADS" \
-b 512 \
-ub 512 \
-np 1 \
-md "$DRAFT" \
-ngld 0 \
--spec-type draft-dspark \
> "$LOG_ROOT/server_iso.log" 2>&1 &
SRV_PID=$!
log "server[ISO]: pid=$SRV_PID, waiting for health…"
READY=0
for i in $(seq 1 480); do
if ! kill -0 "$SRV_PID" 2>/dev/null; then
log "server[ISO]: DIED during load"
tail -30 "$LOG_ROOT/server_iso.log" | tee -a "$PROGRESS"
exit 1
fi
HEALTH=$(curl -s -o /dev/null -w '%{http_code}' "http://127.0.0.1:$PORT/health" 2>/dev/null || echo "000")
if [[ "$HEALTH" == "200" ]]; then
log "server[ISO]: READY after ${i}s (pid $SRV_PID)"
READY=1
break
fi
sleep 1
done
if [[ "$READY" != "1" ]]; then
log "server[ISO]: TIMEOUT"
tail -20 "$LOG_ROOT/server_iso.log" | tee -a "$PROGRESS"
exit 1
fi
# Single probe; capture crash if any
log "[iso_cold] starting…"
T0=$(date +%s%N)
RESULT=$(python3 -c "
import urllib.request, json
data = json.dumps({
'prompt': $(python3 -c "import json; print(json.dumps(open('$PROMPT_FILE').read()))"),
'n_predict': $PRED,
'temperature': 0,
'top_k': 1,
'seed': 42
}).encode()
req = urllib.request.Request('http://127.0.0.1:$PORT/completion', data=data, headers={'Content-Type': 'application/json'})
try:
resp = urllib.request.urlopen(req, timeout=900)
r = json.loads(resp.read())
t = r.get('timings', {})
print(f\"{t.get('prompt_per_second', 0)} {t.get('predicted_per_second', 0)}\")
except Exception as e:
print(f'ERROR {e}')
" 2>&1)
T1=$(date +%s%N)
WALL=$(( (T1 - T0) / 1000000000 ))
log "[iso_cold] wall=${WALL}s result=${RESULT}"
# Check if server still alive
if kill -0 "$SRV_PID" 2>/dev/null; then
log "server[ISO]: still alive after probe"
else
log "server[ISO]: CRASHED during probe — last log:"
tail -25 "$LOG_ROOT/server_iso.log" | grep -vE "New LWP|Thread debugging|host libthread" | tee -a "$PROGRESS"
fi
echo "$RESULT" | grep -q ERROR || {
PP=$(echo "$RESULT" | awk '{print $1}')
TG=$(echo "$RESULT" | awk '{print $2}')
DISK=$(io_read_bytes 2>/dev/null || echo 0)
echo -e "iso_cold\t0\t${WALL}\t0\t${PP}\t${TG}\t${DISK}" >> "$LOG_ROOT/metrics.tsv"
}
log "server[ISO]: stopping…"
kill "$SRV_PID" 2>/dev/null || true
sleep 3
kill -9 "$SRV_PID" 2>/dev/null || true
log "### dspark-isolate DONE"
date +%s > "$LOG_ROOT/k3_suite_status.txt"
|