Guide: Deploying OpenClaw with llama.cpp on GEEKOM IT15 Mini PC

Deployment Architecture and Key Changes
This guide outlines a deployment where OpenClaw's gateway (port 18789) connects to a manually managed llama-server (port 8080) instead of the default Ollama server (port 11434). The goal is to run a local Qwen3-8B model using Intel Arc GPU acceleration via SYCL.
Debugging and Solutions
The process involved resolving several configuration conflicts:
- Issue 1: Unsupported mcpServers Config: OpenClaw does not support the
mcpServersconfiguration key. The solution was to remove this section fromopenclaw.jsonand use batch files to manually startllama-server, integrating its startup logic into Python code. - Issue 2: Session Cache Conflict: A cached Feishu channel session was overriding the new global configuration, causing Ollama API errors. This was fixed by deleting the session cache file:
del "C:\Users\JiugeAItest\.openclaw\agents\main\sessions\sessions.json". - Issue 3: Insufficient Context Length: The default
llama-servercontext of 4096 tokens caused errors for longer conversations. This was resolved by starting the server with-c 32768and settingcontextWindow: 32768in the OpenClaw configuration.
Deployment Steps
The setup uses a specific directory structure on the GEEKOM IT15:
E:\Workspace_AI\Buildup_OpenClow ├── llama-b8245-bin-win-sycl-x64\ # llama.cpp SYCL version │ ├── llama-server.exe │ └── ... (DLLs) ├── models\Qwen3-8B-GGUF\ │ └── Qwen3-8B-Q4_K_M.gguf # Model file └── start_openclaw_with_llamacpp.bat # Startup script
Note: The Qwen3-8B-Q4_K_M.gguf model is verified compatible with llama.cpp version b8245. Qwen3.5 models are incompatible with this version due to a rope.dimension_sections length mismatch.
OpenClaw Configuration
The primary configuration change is in C:\Users\<Username>\.openclaw\openclaw.json. The model provider is switched from ollama to llama-cpp:
{
"agents": {
"defaults": {
"model": {
"primary": "llama-cpp/qwen3-8b"
}
}
},
"models": {
"providers": {
"ollama": { ... },
"llama-cpp": {
"api": "openai-completions",
"apiKey": "llama-cpp-local",
"baseUrl": "http://127.0.0.1:8080/v1",
"models": [
{
"contextWindow": 32768,
"id": "qwen3-8b",
"name": "qwen3-8b",
...
}
]
}
}
}
}The guide also includes sections on parameter reference, a pitfall avoidance guide, troubleshooting, and instructions for switching back to Ollama if needed.
📖 Read the full source: r/openclaw
👀 See Also

Fix for sub-agents not showing up in OpenClaw v2026.3.13
A workaround for OpenClaw v2026.3.13 where custom sub-agents don't appear in the agent list: simplify the openclaw.json agent list to only include IDs and manually register agents in runs.json with status set to 'idle'.

OpenClaw Cost Optimization: Five Settings for Continuous Agent Usage
A developer running OpenClaw continuously on a Raspberry Pi identified five configuration settings that significantly reduced agent costs by optimizing for cost rather than default capability.

How to Migrate OpenClaw and Hermes Between Machines Using SSH Self-Migration
A user transferred OpenClaw and Hermes from WSL2 Ubuntu on a laptop to an EVO-X2 WSL2 Ubuntu 2604 instance by having the tools SSH in and migrate themselves.

Fine-Tuning Qwen 3:0.6B for Question Categorization – Baseline vs Finetuned Results
Fine-tuning a tiny 0.6B parameter LLM (Qwen 3:0.6B) with ~850 household questions using Unsloth. Baseline prompting scored 10% accuracy; finetuned results likely exceed 80-90%.