run-llms
Skill28 starsChanged 8 months agoMITView on GitHub
Set up and run local LLMs with Harbor. Use when the user wants to run models locally, install Harbor, start Open WebUI, llama.cpp, Ollama, vLLM, Docker Model Runner, MLX, or oMLX, pull GGUF or HuggingFace models, add SearXNG web search, Speaches TTS/STT, or Open Terminal code execution, launch Codex/Claude/Grok/OpenCode against a Harbor backend, or troubleshoot GPU, VRAM, and service startup.
- Pipes a download into a shell
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- av/harbortheir own version, first seen Oct 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- av/harbor★ 3.3ksame name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- agent-integration-testingSkill
- annealSkill
- article-factorySkill
- autoresearchSkill
- boost-modulesSkill
- bugbashSkill
- bughuntSkill
- catalog-deslopSkill
- disciplineSkill
- factual-communicationSkill
- ideateSkill
- improve-skillSkill
- make-videoSkill
- mosaic-writingSkill
- preact-buildless-frontendSkill
- pull-llamacpp-modelSkill
- sandcastleSkill
- superclaudeSkill
- timeboxed-iteratingSkill
- timeframe-researchSkill
- tinygradSkill
- turso-dbSkill
- use-coding-agentsSkill
- workgraphSkill
- workmachineSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Never edit .env by hand. Use harbor config get/set and harbor env.
- Very specific: line 16
Do not set llamacpp.model / llamacpp.model.specifier unless the user explicitly wants a single pinned GGUF.
- Very specific: line 18
After harbor update, run harbor config update if new keys are missing from the local config.
- Very specific: line 131
Use | bash, not | sh. Then source ~/.bashrc (or ~/.zshrc) and:
- Distinctive: line 162
Create the local Open WebUI admin account in the browser, pick the pulled GGUF, send a test message.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Run LLMs locally with Harbor
Harbor is a containerized LLM toolkit. Default harbor up starts Open WebUI (webui) and llama.cpp (llamacpp). This skill is the operational playbook for installing Harbor, choosing a backend, pulling models, wiring search/voice/code tools, and pointing coding agents at the same stack.
For the full CLI catalog, harbor skills get harbor. For Boost module authoring, use the boost-modules skill.
Agent rules
harbor logsfollows forever and will hang a non-interactive shell. Read logs withdocker logs harbor.<service>(add--tail 200if needed).- Never edit
.envby hand. Useharbor config get/setandharbor env. - Do not set
llamacpp.model/llamacpp.model.specifierunless the user explicitly wants a single pinned GGUF. Router mode (empty specifier) discovers pulled GGUFs automatically. harbor launchoptions (--backend,--model,--web,--workflow,--config,--service) go before the tool name. Everything after the tool name is the tool's own argv.- After
harbor update, runharbor config updateif new keys are missing from the local config.
Read only what you need
| File | When |
references/models.md | Pull, list, remove, routing, HuggingFace token/cache |
references/backends.md | llamacpp, ollama, vLLM, DMR, MLX, oMLX, ikllamacpp |
references/stack.md | webui, searxng, speaches, openterminal, tunnels |
references/launch.md | Codex, Claude Code, Grok, OpenCode, Boost --web/--workflow |
references/troubleshooting.md | GPU, OOM, won't start, UI/model missing |
Decision trees
User wants to run an LLM
1. Harbor installed? (`harbor --version`)
→ NO: install (see Initial setup)
2. Docker running? (`docker info`)
→ FAIL: start Docker
3. Platform / backend:
→ Apple Silicon Metal: dmr, mlx, or omlx (see backends.md)
→ NVIDIA/AMD Linux, unspecified: llamacpp (default) or ollama
→ HF safetensors / production serving: vllm
4. Model:
→ none specified: pull a small GGUF, then `harbor up`
harbor pull unsloth/Qwen3.5-4B-GGUF:Q4_K_M
harbor up
→ Ollama tag (`qwen3.5:4b`): harbor up ollama && harbor pull <tag>
→ HF GGUF (`org/repo[:quant]`): harbor pull <spec> && harbor up llamacpp
→ safetensors: harbor vllm model <org/repo> && harbor up vllm
→ DMR/MLX/oMLX: harbor models pull --source <src> <spec> (see models.md)
5. Verify: harbor ps, harbor models ls, harbor openUser wants a coding agent on a local model
1. Backend running or named with --backend (launch starts it if stopped)
2. harbor launch --backend <svc> --model <id> <tool>
Common tools: codex, claude, grok, opencode
3. Need web search in the agent? add --web (not with claude)
4. Need a Boost quality/research pass? --workflow quickhop|deephop|autocheck
5. Codex + llama.cpp-family can fail on Responses API tool schema
→ use opencode with llamacpp, or Codex with ollama/vllm/dmr/mlx/omlx
See references/launch.mdUser wants web search in chat
1. harbor up searxng
2. If webui was already running: harbor restart webui
3. harbor open → web search is wired in Open WebUIUser wants code execution in chat
1. harbor up openterminal
2. harbor open → Open WebUI gets a pre-wired Open Terminal connectionUser wants voice in chat
1. harbor up speaches
2. If webui was already running: harbor restart webuiUser wants to change the model
1. harbor ps → which backend is up
2. ollama: harbor pull <tag> (pick in UI)
llamacpp: harbor pull <org/repo[:quant]> (router discovers it)
vllm: harbor vllm model <org/repo> && harbor restart vllm
dmr/mlx/omlx: harbor models pull --source <src> <spec>
3. Do not set llamacpp.model to "switch" models in router modeUser has GPU issues
1. NVIDIA: nvidia-smi
AMD: rocminfo or ls /dev/kfd /dev/dri
Apple: use dmr/mlx/omlx (host Metal), not a Linux CUDA image
2. NVIDIA toolkit: docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
3. docker logs harbor.<backend> → CUDA / ROCm / OOM / no GPU
4. See references/troubleshooting.mdInitial setup
Prerequisites
docker --version # 20.10+
docker compose version # 2.23.1+
git --versionLinux: add the user to docker (sudo usermod -aG docker $USER) and re-login if docker needs sudo.
Install Harbor
Recommended:
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | bashUse | bash, not | sh. Then source ~/.bashrc (or ~/.zshrc) and:
harbor --version
harbor doctorFor an agent to install Harbor itself:
# Claude Code
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.md | claude
# Codex
codex "$(curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.md)"First start
harbor upExpect harbor.llamacpp and harbor.webui healthy. First WebUI boot downloads embedding/Whisper weights; healthcheck grace can be several minutes.
harbor pull unsloth/Qwen3.5-4B-GGUF:Q4_K_M
harbor models ls
harbor openCreate the local Open WebUI admin account in the browser, pick the pulled GGUF, send a test message.
Core commands
| Command | Purpose |
harbor up [services...] | Start defaults plus any named services |
harbor up --no-defaults <svc> | Start only what you name |
harbor down | Stop stack (also stops DMR/MLX/oMLX host runners) |
harbor ps | Running containers |
docker logs harbor.<svc> | Safe log read for agents |
harbor open [svc] | Open default UI or a named service |
harbor url [--lan|--internal] <svc> | Print URL |
harbor pull <svc|model> | Compose image pull, or smart model pull |
harbor models ls / pull / rm | Cross-source model management |
harbor launch ... <tool> | Host coding tool against a Harbor backend |
harbor restart [svc] | Restart |
harbor doctor | Diagnostics |
harbor config get/set/ls/search/update | Global config |
harbor env <svc> [key [value]] | Per-service override.env |
harbor defaults ls/add/rm | Default harbor up set |
Config
harbor config ls
harbor config search port
harbor config get webui.host.port
harbor config set webui.name "My AI"
harbor config update # merge new keys from profiles/default.env
harbor env ollama # list service overrides
harbor env ollama OLLAMA_NUM_PARALLEL 4harbor defaults # default is webui;llamacpp
harbor defaults add searxng
harbor defaults rm llamacpp
harbor defaults add ollama # if the user wants Ollama as the default backendharbor profile ls
harbor profile save mysetup
harbor profile use mysetup
harbor profile rm mysetupProfiles are partial. Changes after use are not auto-saved.
Common stacks
# Default chat UI + GGUF backend
harbor up
harbor pull unsloth/Qwen3.5-4B-GGUF:Q4_K_M
harbor open
# Ollama registry models
harbor up ollama
harbor pull qwen3.5:4b
harbor open
# Web search + voice + code execution in Open WebUI
harbor up searxng speaches openterminal
harbor open
# Apple Silicon Metal
harbor up webui mlx
# or: harbor up webui dmr
# or: harbor up webui omlx
# Coding agent on a running backend
harbor launch --backend ollama --model qwen3.5:4b codexLAN URL / QR: harbor url --lan webui, harbor qr webui. Temporary internet tunnel: harbor tunnel webui, then harbor tunnel down.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

