Helper scripts and profiles for running llama.cpp server configs, plus an optional OpenCode skill.
bin/llm-server: wrapper that loads a profile from~/.config/llm-server/<name>.confprofiles/example.conf: starter profileskills/llm-server-profiles/SKILL.md: OpenCode skill for managing profiles
./install.shThe install script:
- Symlinks
bin/llm-serverinto~/.local/bin/llm-server - Copies
profiles/example.confinto~/.config/llm-server(if missing) - Symlinks the OpenCode skill into
~/.config/opencode/skills/llm-server-profiles(if present)
List profiles:
llm-server --list-profilesRun with a profile:
llm-server -P sIf you see an error about --device, list available devices and update your profile:
llm-server --list-devicesProfile files are bash snippets. Supported fields:
MODEL_NAME(string)MODEL(string, path to gguf)USE_CASE(string)CTX_SIZE(number)LLMSERVER_ARGS(bash array of flags)
--device expects the exact ID shown by llm-server --list-devices (for example ROCm0), not always a numeric 0.
Example:
MODEL_NAME="Qwen3 Coder Next Q4_K_XL"
MODEL="/path/to/Qwen3-Coder-Next-Q4_K_XL.gguf"
USE_CASE="Speed profile for codebases under ~50k LOC"
CTX_SIZE=8192
LLMSERVER_ARGS=(
# --device <id> # use `llm-server --list-devices` (example: ROCm0)
--gpu-layers auto
--fit on
--batch-size 2048
--ubatch-size 512
--threads 24
--threads-batch 24
--temp 0.2
--top-p 0.9
--top-k 40
--repeat-penalty 1.05
)LLM_SERVER_BIN: server binary to run (default:llama-server)LLM_SERVER_CONFIG_DIR: profile directory (default:~/.config/llm-server)LLM_SERVER_MODEL: default model path if not set in profileLLM_SERVER_PORT: default port (default:8080)LLM_SERVER_CTX_SIZE: default ctx size (default:0, uses model default)
If you use OpenCode, the skill is in skills/llm-server-profiles/SKILL.md and is installed by install.sh.