This project does not have a stable release process yet. Current builds should be treated as alpha developer previews.
Install llama.cpp on the build machine:
brew install llama.cppPackage:
scripts/package-macos.sh --llama-server "$(which llama-server)"Output:
dist/LLMRunner.app
dist/llmrunner
Checklist:
- Run
swift build -c release. - Run
bash -n scripts/package-macos.sh. - Run
python3 -m py_compile examples/python_chatbot.py. - Build
dist/LLMRunner.app. - Start the packaged CLI with
dist/llmrunner start. - Pull or reuse a small GGUF model with
dist/llmrunner models pull tiny. - Verify
dist/llmrunner models search tinyshows recommended files. - Verify
curl http://127.0.0.1:8080/v1/models. - Verify API key auth with
LLMRUNNER_API_KEYset. - Verify
dist/llmrunner logs --lines 20shows startup and request logs. - Verify one chat completion.
- Verify one streaming chat completion with
"stream": true. - Verify one text completion.
- Verify one streaming text completion with
"stream": true. - Verify one embeddings request.
- Verify
otool -L dist/LLMRunner.app/Contents/MacOS/llmrunnerpointslibllamaandlibggmlat@executable_path/../Resources/lib. - Verify
codesign --verify --deep --strict dist/LLMRunner.app. - Stop the service with
dist/llmrunner stop.
The current package script uses ad-hoc signing. For public downloadable binaries, use a Developer ID certificate and Apple notarization before publishing.