Profile
Back to NewsBack
GitHub Trending 7 min
Reader Mode
ardanlabs/kronk: Go With Your Own Intelligence! Use Go for hardware accelerated local inference with llama.cpp, whisper.cpp, and stable-diffusion.cpp directly integrated into your Go applications. Kronk provides a high-level API and production ready

ardanlabs/kronk: Go With Your Own Intelligence! Use Go for hardware accelerated local inference with llama.cpp, whisper.cpp, and stable-diffusion.cpp directly integrated into your Go applications. Kronk provides a high-level API and production ready

4 hours ago

!Kronk logo

Kronk

Go Reference</a> Go version</a> Linux</a> llama.cpp release</a>

Kronk is a Go SDK and model server for hardware-accelerated local inference. It provides high-level Go APIs over native inference engines without requiring Python or a separate model-serving stack:

  • Kronk runs text, vision, embedding, and reranking models through
llama.cpp and yzma.
  • Bucky provides speech-to-text through
whisper.cpp and bucky.
  • Malina is an experimental image-generation SDK built on
stable-diffusion.cpp and malina.

The Kronk model server exposes OpenAI-compatible APIs for Chat Completions, Responses, embeddings, reranking, and audio transcription, plus an Anthropic-compatible Messages API. It also includes a browser interface, model management, security, observability, and integrations with OpenWebUI, OpenCode, and Claude Code. Malina is currently SDK-only and is not integrated into the model server.

Visit kronkai.com or read the manual for complete documentation.

Quick Start

The recommended installation method on macOS and Linux is Homebrew:

brew install ardanlabs/kronk/kronk

kronk server start

The fully qualified formula name trusts only the Kronk formula, not every item in the ardanlabs/kronk tap.

You can also install the CLI with Go on a supported platform:

go install github.com/ardanlabs/kronk/cmd/kronk@latest

kronk server start

Open http://localhost:11435 to manage models and use the Browser UI. The first model or SDK example you run can download the compatible native libraries and model files automatically.

For container deployment, persistent storage, and production setup, see Container Quick Start.

SDK or Model Server

The model server is built on the same public SDKs available to Go applications.

| Use the SDK when you need | Use the model server when you need | | ---------------------------------------------- | --------------------------------------------------- | | Inference inside a Go process | HTTP APIs for one or more clients | | Direct control over model loading and lifetime | OpenAI- and Anthropic-compatible APIs | | No separate server process | Browser-based model management and testing | | Application-specific caching and concurrency | Authentication, rate limiting, metrics, and tracing |

The Kronk SDK supports text generation, streaming, reasoning, tool calls, vision, embeddings, reranking, concurrent processing, and incremental message caching. Bucky supports file transcription, translation, channel-separated diarization, and live streaming transcription. Experimental Malina supports text-to-image, image-to-image, Canny ControlNet conditioning, ADetailer face refinement, AnimateDiff video generation, Real-ESRGAN upscaling, single-checkpoint and multi-file diffusion pipelines, and Motion-JPEG encoding.

Platform Support

Hardware acceleration depends on the operating system, architecture, inference engine, and library bundle. Kronk downloads native libraries that are compatible with the installed release.

| OS | CPU architectures | Available GPU backends | | ------- | ----------------- | ------------------------------- | | Linux | amd64, arm64 | CUDA, Vulkan, HIP, ROCm, SYCL | | macOS | arm64 | Metal | | Windows | amd64 | CUDA, Vulkan, HIP, SYCL, OpenCL |

Not every backend is available for every SDK or architecture. Use the CLI or SDK library manager as the source of truth for combinations supported by your installed version. See Installation and Quick Start for current requirements.

Project Status

Kronk follows the native engines it integrates, and upstream changes can require coordinated releases of Yzma, Bucky, Malina, and Kronk. Use each subsystem's downloader instead of mixing native libraries from unrelated releases; every Kronk release is bound to known-compatible library versions.

[!WARNING]
Malina is experimental. Its public API is subject to change, and it is not yet a
Kronk model-server backend.

See Breaking Changes, the release history, and the open issues for current status.

Sometimes there are breaking changes to the family of ggml libraries that require an update to yzma, bucky, malina and/or Kronk. Always choose to use the downloader for each system to make sure you have a compatible version of the libraries. A working version of each library is bound to each release.

Here are some of the known compatible versions:

| kronk | yzma | llama.cpp | bucky | whisper.cpp | malina | stable-diffusion.cpp | | --------- | ------- | --------- | ------ | ----------- | ------ | -------------------- | | 1.32.7-rc | b5f55bd | b11000 | v1.1.3 | v1.9.4 | v1.1.2 | master-869-07a85c7 | | 1.32.6 | ece4890 | b10896 | v1.1.2 | v1.9.3 | v1.1.0 | master-849-d04e895 | | 1.32.5 | v1.26.0 | v0.4.0 | v1.1.2 | v1.9.3 | v1.0.8 | master-841-6b3edaa | | 1.32.4 | 6bd0208 | b10785 | v1.1.1 | v1.9.3 | v1.0.6 | master-841-6b3edaa |

Kronk 1.32.7-rc pins the llama.cpp manifest as b11000@sha256:561aff68f1e1000bada2f6dff811bcd4e9c9a397c50a7eb389c9c0e6da3c5cda. The manifest authenticates the platform-specific archives selected by the downloader, so the default installation verifies both the manifest and the downloaded libraries. Malina v1.1.2 pins stable-diffusion.cpp as master-869-07a85c7@sha256:b27f800a8178d75d2202d93d4b5a0c2310f4e37caaade6e768c6ce454a580f3d. Its native ABI is incompatible with the preceding master-859 build, so upgrade the Malina dependency and native library bundle together.

Documentation and Examples

Representative examples:
make example-question         # Ask a local language model a question.
make example-agent            # Run a small coding agent.
make example-vision           # Prompt a vision model with an image.
make example-bucky            # Transcribe an audio file with Bucky.
make example-bucky-stream-vad # Stream transcription with Silero VAD boundaries.
make example-malina           # Generate an image with experimental Malina.
make example-malina-controlnet # Generate an image with Canny edge conditioning.
make example-malina-adetailer  # Detect and refine faces in a portrait.
make example-malina-animatediff # Generate AnimateDiff frames and write an AVI.
make example-malina-s2v ARGS='...' # Animate a portrait from WAV speech with Wan2.2 S2V.
make example-malina-upscale    # Enlarge an image with Real-ESRGAN.

Examples download compatible libraries and catalog-backed models on their first run; Wan2.2 S2V takes explicit component paths. Browse the complete examples module for chat, Responses, embeddings, reranking, RAG, streaming transcription, image-to-image generation, ControlNet, ADetailer, AnimateDiff, Wan2.2 S2V, image upscaling, model pools, session stores, and lower-level yzma usage.

Community and Support

Use GitHub Issues for bugs, feature requests, and planned work. If you are interested in contributing or need help, email Bill Kennedy or Ardan Labs.

Owner Information

Name:     Bill Kennedy
Company:  Ardan Labs
Title:    Managing Partner
Email:    [email protected]
BlueSky:  https://bsky.app/profile/goinggo.net
LinkedIn: www.linkedin.com/in/william-kennedy-5b318778/
Twitter:  https://x.com/goinggodotnet

Travel Schedule

Come find me at any of these cities or events this year. I will be giving workshops and talks about Kronk.

| Dates | Event | Location | Comments | | --------------- | -------------------------- | --------------------- | -------------- | | Jan 29th - 2nd | AI Plumbers Fringe, FOSDEM | Brussels, Belgium | Talk | | Mar 4th - 5th | Ardan Connect | São Paulo, Brazil | Training | | Apr 20th - 25th | Gophercamp 2026 | Brno, Czech Republic | Training, Talk | | Apr 27th - 29th | AI Dev 26 | San Francisco, USA | Attendee | | May 17th - 23rd | GopherCon Singapore | Singapore | Training, Talk | | Jun 8th - 12th | Genetec Corporate Training | Montreal, Canada | Training | | Jun 14th - 19th | GopherCon EU | Berlin, Germany | Training, Talk | | JULY | Summer Vacation | Huntsville, AL | Rest | | Aug 3rd - 6th | GopherCon USA | Seattle, Washington | Training, Talk | | Aug 11th - 13th | GopherCon UK | London, England | Training, Talk | | Sep 1st - 4th | GopherCon LATAM | Florianópolis, Brazil | Training, Talk | | Sep 5st - 8th | Personal Travel | Roanoke, VA | Personal | | Sep 17th - 20th | Personal Travel | Syracuse, NY | Personal | | Sep 21st - 24th | Meetup NYC | NYC, NY | Talk | | Oct 6th - 9th | Crusoe Corporate Training | San Francisco, USA | Training | | Oct 12th - 14th | Optus Corporate Training | Sydney, Australia | Training | | Oct 22nd - 23rd | Meetup Austin | Austin, TX | Talk | | Oct 27th - 28th | Meetup Bostom | Boston, MA | Talk | | Oct 31th - 4th | GoLab (GopherCon Italy) | Bologna, Italy | Training, Talk | | Nov 6th - 8th | UM v ND | Southbend, IN | Game Day | | Nov 9th - 11th | | Las Vegas, NV | Training | | DECEMBER | Winter Vacation | Miami, FL | Rest |

Copyright 2025-2026 Ardan Labs

Chat with me