15 Downloads Updated 4 days ago
ollama run kaineone/metzger
Decision models for Claude Code context compaction.
Metzger (German for “butcher”) is a family of small models fine-tuned to score tool calls in Claude Code conversations. When a session gets long and Claude Code needs to compact its context, Metzger looks at every tool call and decides: does the call still matter? Does its output still matter? Anything scored below the threshold gets cut; everything else stays verbatim. Nothing is summarized or rewritten.
The Metzger plugin for Claude Code hooks into session.compact. Instead of the default summarization, it sends the full conversation as context and asks the model two questions per tool call:
Each answer is a calibrated probability. Calls scoring below the threshold are removed entirely. Calls kept but with dropped results get truncated to a short head plus a note. User and assistant text is never touched.
| Tag | Parameters | Size | Quantization | Backend | Use case |
|---|---|---|---|---|---|
kaineone/metzger:0.8b |
773M | 833 MB | Q8_0 | System One | Default. Fast on CPU or GPU. Good accuracy for most sessions. |
kaineone/metzger |
4.3B | 4.6 GB | Q8_0 | System One | Higher accuracy. Needs a GPU with 6+ GB VRAM; slow on CPU-only machines. |
kaineone/metzger:distill-0.8b |
752M | 1.5 GB | F16 | Chat API | Distilled variant. V2 weights with improved calibration on long sessions. |
Start with kaineone/metzger:0.8b. It runs on CPU without stalling your machine and scores a full conversation in a few seconds. If you have a GPU with 6+ GB VRAM and want tighter decisions, try kaineone/metzger (the 4.3B). The distill variant is for users running the chat-API backend (backend: "chat" in plugin config) instead of the default System One protocol.
# 1. Install Ollama (if you haven't)
# https://ollama.com/download
# 2. Pull the default model
ollama pull kaineone/metzger:0.8b
# 3. Install the Claude Code plugin
claude plugin marketplace add FlintWave/metzger
claude plugin install metzger@metzger
The plugin detects Ollama on session start and tells you if something’s missing.
All Metzger models are fine-tuned from Qwen 3.5 (Alibaba). The 0.8B and 4.3B sizes use Q8_0 quantization for the System One backend. The distill variant uses F16 (full precision) for the chat-API backend.
The models are trained on the Jev scoring protocol, a probability-calibrated binary decision format designed for conversation triage. Training data comes from real Claude Code sessions with hand-labeled keep/drop annotations on tool calls and their results. The scoring function considers:
The default models (metzger:0.8b, metzger) use the System One protocol. The model receives the full conversation as state and a batch of yes/no questions, and responds with calibrated probabilities for each. This is not a standard chat completion format.
The distill model (metzger:distill-0.8b) speaks standard chat completions and returns JSON with keep/drop probabilities. Set backend: "chat" in the plugin config to use it.
Apache 2.0 (inherited from the Qwen 3.5 base model).
If you use MemoryGraph, the memorygraph-bridge plugin saves key context to MemoryGraph before compaction so agents can recall it afterward.