add-llama-cpp
Install and verify a local llama.cpp server for optional Deus local-generation experiments. Keeps Ollama as the required default for embeddings and judge work.
pinned to #704abc9updated 2 weeks ago
Ask your AI client: “install skills/add-llama-cpp”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/add-llama-cppmetahub onboarded this repo on the author's behalf.
If you own github.com/sliamh11/Deus on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
48
Last commit
2 weeks ago
Latest release
published
- #ai-assistant
- #ai-memory
- #claude-code
- #container-isolation
- #persistent-memory
- #self-improving-ai
- #semantic-memory
- #semantic-search
About this skill
Pulled from SKILL.md at publish time.
This skill installs `llama.cpp`, runs `llama-server` as a local host service, and wires the local endpoint into Deus only when the current checkout already supports the optional `llama_cpp` provider.
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.704abc9· 2 weeks ago
Documentation
22Description quality
23 words · 159 chars — "Install and verify a local llama.cpp server for optional Deus local-generation e…"
README is present and substantialwarn
README present but its contents couldn't be read this scan
Transient fetch issue — re-run the eval to grade the README's substance.
Tags / topics declaredwarn
No manifest tags and no GitHub repo topics
Add tags to the manifest (or GitHub topics on the repo) so the registry's search and category filters surface this artifact.
Homepage / docs URL declared
no homepage declared (registry will use the repo URL) — info-only, not blocking
Release history
1- releasecurrent704abc9warn2 weeks ago
Contents
This skill installs llama.cpp, runs llama-server as a local host service, and wires the local endpoint into Deus only when the current checkout already supports the optional llama_cpp provider.
Use this when the user wants a faster or cheaper local text-generation path for experiments, benchmarks, or future backend work.
Slash command: /add-llama-cpp.
Important boundaries:
- This does not replace Ollama for memory embeddings or the default judge. Ollama remains required unless the repo deliberately changes those surfaces.
- This skill is macOS-first for installation and service management. On Linux or Windows, continue only if
llama-serveris already installed or the user explicitly wants a manual install path. - If the current checkout does not yet contain the optional Deus-side
llama_cppintegration, complete the host install anyway and tell the user the runtime wiring is a separate source task.
Phase 1: Pre-flight
Check current state
command -v llama-server >/dev/null 2>&1 && llama-server --version || echo "llama.cpp not installed"
curl -fsS http://127.0.0.1:8080/health 2>/dev/null || echo "llama-server not responding on 127.0.0.1:8080"
test -f evolution/generative/providers/llama_cpp.py && echo "DEUS_LLAMA_CPP_PROVIDER=true" || echo "DEUS_LLAMA_CPP_PROVIDER=false"
test -f setup/llama-cpp.ts && echo "DEUS_LLAMA_CPP_SETUP=true" || echo "DEUS_LLAMA_CPP_SETUP=false"
Ask scope
AskUserQuestion: Do you want host install only, or host install plus optional Deus wiring if this checkout supports it?
- Host install only - install
llama.cpp, runllama-server, and verify the local endpoint - Host install + Deus wiring - also configure repo env vars and run Deus-side verification when the checkout supports it
If the user chooses option 2 but either provider/setup file is missing, say clearly that the host install can proceed now and the checkout wiring remains a separate code task.
Phase 2: Install llama.cpp
macOS
If llama-server is not already installed:
brew install llama.cpp
Verify:
llama-server --version
Linux or Windows
If llama-server is already available in PATH, continue.
If it is missing, stop and tell the user this skill currently automates installation on macOS only. Offer to continue once llama-server is installed manually, or handle platform-specific installation as a separate task.
Phase 3: Configure the Local Service
Create a local env file outside git:
mkdir -p "$HOME/.config/deus" "$HOME/.config/deus/scripts"
cat > "$HOME/.config/deus/llama-cpp.env" <<'EOF'
LLAMA_CPP_BIND_HOST=127.0.0.1
LLAMA_CPP_PORT=8080
LLAMA_CPP_MODEL=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M
LLAMA_CPP_ALIAS=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M
LLAMA_CPP_CTX_SIZE=8192
EOF
Create the launcher script:
cat > "$HOME/.config/deus/scripts/start-llama-cpp.sh" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
ENV_FILE="$HOME/.config/deus/llama-cpp.env"
if [ -f "$ENV_FILE" ]; then
set -a
. "$ENV_FILE"
set +a
fi
: "${LLAMA_CPP_BIND_HOST:=127.0.0.1}"
: "${LLAMA_CPP_PORT:=8080}"
: "${LLAMA_CPP_MODEL:=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M}"
: "${LLAMA_CPP_ALIAS:=$LLAMA_CPP_MODEL}"
: "${LLAMA_CPP_CTX_SIZE:=8192}"
exec llama-server \
--host "$LLAMA_CPP_BIND_HOST" \
--port "$LLAMA_CPP_PORT" \
-hf "$LLAMA_CPP_MODEL" \
--alias "$LLAMA_CPP_ALIAS" \
-c "$LLAMA_CPP_CTX_SIZE" \
--jinja
EOF
chmod +x "$HOME/.config/deus/scripts/start-llama-cpp.sh"
Phase 4: Run as a Host Service
macOS LaunchAgent
Write the LaunchAgent:
PLIST="$HOME/Library/LaunchAgents/com.deus.llama-cpp.plist"
mkdir -p "$HOME/Library/LaunchAgents" "$HOME/Library/Logs"
cat > "$PLIST" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.deus.llama-cpp</string>
<key>ProgramArguments</key>
<array>
<string>$HOME/.config/deus/scripts/start-llama-cpp.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>$HOME/Library/Logs/deus-llama-cpp.log</string>
<key>StandardErrorPath</key>
<string>$HOME/Library/Logs/deus-llama-cpp.error.log</string>
</dict>
</plist>
EOF
launchctl unload "$PLIST" 2>/dev/null || true
launchctl load "$PLIST"
launchctl kickstart -k "gui/$(id -u)/com.deus.llama-cpp"
Linux or Windows
Do not invent a service wrapper if the platform path is unclear. Prefer a foreground verification run:
"$HOME/.config/deus/scripts/start-llama-cpp.sh"
If the user wants persistent background service management on Linux or Windows, treat that as a follow-up task after the endpoint is verified.
Phase 5: Verify the Local Endpoint
Check health:
curl -fsS http://127.0.0.1:8080/health
curl -fsS http://127.0.0.1:8080/v1/models
Run a chat-completions smoke test:
curl -fsS http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "ggml-org/gemma-3-1b-it-GGUF:Q4_K_M",
"messages": [{"role": "user", "content": "Reply with exactly: OK"}]
}'
If the first model download takes time, inspect the log instead of assuming failure:
tail -50 "$HOME/Library/Logs/deus-llama-cpp.log" 2>/dev/null || true
tail -50 "$HOME/Library/Logs/deus-llama-cpp.error.log" 2>/dev/null || true
Phase 6: Optional Deus Wiring
Run this phase only if:
- the user chose host install plus Deus wiring, and
evolution/generative/providers/llama_cpp.pyexists in the current checkout, andsetup/llama-cpp.tsexists in the current checkout.
Rebuild the agent container
If upgrading from a build predating llama.cpp support, rebuild the container so the new backend module is available:
./container/build.sh
Configure repo env vars
Write or update the repo env:
if grep -q '^LLAMA_CPP_BASE_URL=' .env 2>/dev/null; then
tmpf=$(mktemp) && sed 's#^LLAMA_CPP_BASE_URL=.*#LLAMA_CPP_BASE_URL=http://127.0.0.1:8080#' .env > "$tmpf" && mv "$tmpf" .env
else
echo 'LLAMA_CPP_BASE_URL=http://127.0.0.1:8080' >> .env
fi
if grep -q '^LLAMA_CPP_MODEL=' .env 2>/dev/null; then
tmpf=$(mktemp) && sed 's#^LLAMA_CPP_MODEL=.*#LLAMA_CPP_MODEL=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M#' .env > "$tmpf" && mv "$tmpf" .env
else
echo 'LLAMA_CPP_MODEL=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M' >> .env
fi
mkdir -p data/env && cp .env data/env/env
Activate the backend: Deus wiring is complete but the active backend is unchanged. To switch all future sessions to llama.cpp, run:
deus backend set llama-cppOllama remains the default for embeddings and judge scoring regardless of this setting.
Verify setup surface
LLAMA_CPP_BASE_URL=http://127.0.0.1:8080 npx tsx setup/index.ts --step llama-cpp
Verify provider path
If the benchmark harness exists:
LLAMA_CPP_BASE_URL=http://127.0.0.1:8080 python3 -m evolution.benchmark_generative \
--providers llama_cpp \
--model llama_cpp=ggml-org/gemma-3-1b-it-GGUF:Q4_K_M \
--json
If the benchmark file is missing, use a minimal availability check instead:
python3 - <<'PY'
from evolution.generative.providers.llama_cpp import LlamaCppGenerativeProvider
provider = LlamaCppGenerativeProvider()
print({"available": provider.is_available(), "model": provider.get_default_model()})
PY
Troubleshooting
llama-server exits immediately
Check whether the model slug is valid and whether the first download returned 404 or auth errors:
tail -100 "$HOME/Library/Logs/deus-llama-cpp.error.log" 2>/dev/null || true
If the chosen Hugging Face preset is invalid, switch LLAMA_CPP_MODEL in ~/.config/deus/llama-cpp.env to a known-good preset and restart the service.
Health works but /v1/chat/completions fails
The endpoint is up, but the model did not finish loading or prompt templating is wrong. Check logs first. For instruction-tuned GGUFs like Gemma, keep --jinja enabled in the launcher script.
Deus wiring files are missing
Host installation is still complete. Tell the user clearly:
llama.cppis running on the host, but this checkout does not yet include the optional Deus-sidellama_cppprovider wiring. That remains a separate source change.
Revert
Stop the service and remove the local files:
launchctl bootout "gui/$(id -u)" "$HOME/Library/LaunchAgents/com.deus.llama-cpp.plist" 2>/dev/null || true
rm -f "$HOME/Library/LaunchAgents/com.deus.llama-cpp.plist"
rm -f "$HOME/.config/deus/scripts/start-llama-cpp.sh"
rm -f "$HOME/.config/deus/llama-cpp.env"
Reviews
No reviews yet. Be the first.
Related
Frontend Slides
Create beautiful slides on the web using Claude's frontend skills
Guizang Ppt Skill
AI-agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime.
orchestration-patterns
>
mh install skills/add-llama-cpp