OFFENES MODELL · APACHE-2.0 · LÄUFT AUF DEINEM RECHNER
Knot AI Knot AI

Zwei kleine Modelle,
die auf deinem Rechner laufen.

Knot Scribe liest einen Diff und schreibt die Commit-Message. Beide Modelle laufen komplett auf deiner eigenen Hardware, ohne dass Code dein Gerät verlässt. Knot Delta ist das größere: Gib ihm eine Änderung, und es sagt dir, was sich wirklich geändert hat und wo das Risiko liegt.

git diff → Knot Scribe · 7B → fix: prevent division by zero

01 KNOT SCRIBE

Scribe sieht nur einen Diff

Knot Scribe liest die Änderung und gibt eine strukturierte Message zurück. Mit genau diesem Ein- und Ausgabeformat wurde es auch trainiert und evaluiert.

01

Was es sieht

Es bekommt den git diff, bei großen Änderungen über mehrere Dateien dazu etwas Dateikontext. Alles wird so gepackt, dass das Modell den Umfang des ganzen Commits sieht.

02

Schreibt die Message

Strukturierte JSON-Ausgabe, beschränkt auf {title, body}: eine Conventional-Commit-Betreffzeile mit korrektem Typ plus Body. Erfundene Issue-Referenzen und Sign-offs werden entfernt.

Es ist das Modell, das in Knot die Commits automatisch schreibt, ohne dass du etwas tun musst. Trotzdem ist es offen und eigenständig. Du kannst es also mit jedem Git-Workflow nutzen.

02 SCRIBE-BENCHMARK

So wurde Scribe bewertet

Das Testset heißt gold-v1: sechzig von Hand geprüfte Commits, gleichmäßig über alle elf Commit-Typen verteilt. v4 und v5 wurden beide am 2026-07-21 darauf bewertet, und zwar über denselben Ollama-Pfad, mit dem das Modell ausgeliefert wird.

TYP-GENAUIGKEIT VON RELEASE ZU RELEASE

v3
40%
v4
55%
v5 · aktuell
60%

Mit v5 wurde der Benchmark schwerer. v3 und v4 wurden auf einem früheren Set bewertet, das nur JS/TS enthielt. v5 wird auf dem ausgewogenen Set mit elf Typen bewertet, das überall weiter unten verwendet wird. Dort kommt v4 bei einer neuen Messung auf 48,3%. Der echte Vorsprung von v5 gegenüber v4 liegt also bei +11,7 Prozentpunkten und ist größer, als die Release-Zahlen zeigen.

metrics.txt · gold-v1 · 60 Commits, alle 11 Typen
Metrik v4 v5
Typ-Genauigkeit 48,3% 60,0%
Scope-Genauigkeit 68,3% 75,0%
Wortüberlappung Titel 27,2% 19,1%
Titel exakt gleich 6,7% 0,0%
Generierungsfehler / 60 7 4
by-commit-type.txt · richtig / n · gold-v1 · 10 der 11 Typen
Typ n v4 v5
feat 6 4/6 4/6
fix 6 5/6 4/6
refactor 6 0/6 2/6
perf 6 2/6 2/6
test 5 4/5 4/5
docs 6 4/6 5/6
build 5 0/5 0/5
ci 6 5/6 6/6
chore 6 5/6 6/6
revert 2 0/2 0/2

v5 hebt die Typ-Genauigkeit (48 auf 60) und den Scope (68 auf 75) und halbiert fast die Formatfehler (7 auf 4). Am meisten gewinnt es bei den Typen, die v4 falsch hatte: refactor (0 auf 2), dazu ci und chore, die jetzt fast perfekt sind. Wortüberlappung im Titel und exakter Titel sinken (27 auf 19 und 7% auf 0%), weil v5 paraphrasiert. Es schreibt eigene Titel, oft aussagekräftiger als der eine menschliche Commit, an dem es gemessen wird. Ein exakter Abgleich bestraft genau das. build und revert bleiben schwer (ein Konflikt mit der Konvention und zu wenige Beispiele).

03 KNOT DELTA

Die Zahlen von Delta

Knot Delta ist die 9B-Hälfte des Paars. Sein Bericht nennt, welche Dateien betroffen sind und was die Änderung erreichen wollte. Es wird mit Knot ausgeliefert. Jede Zahl unten ist an echter Git-Historie gemessen und steht neben der Baseline, die ein faules Modell erreichen würde. Die Scorecard stammt aus einem eingefrorenen Held-out-Set: 325 Commits aus neun Repositorys, auf denen Delta nie trainiert wurde, darunter vite, radicle und svelte. Die Grounding-Tabelle darunter ergänzt dieses Set um drei Läufe auf je einem einzelnen Repo.

Änderungstyp-F1 (Absicht aus dem Code gelesen)

0,409

vs 0,032 Mehrheitsklasse

12,9× Basisrate · n=235

Zitierte Dateien, die im Diff vorkommen

100%

0% halluziniert bei vier Repos

hält auch bei ungesehenem Go

Vollständig belegte Berichte

98,5%

325 Held-out-Commits

im ersten Durchlauf 88%

Präzision auf die exakte Zeile

0,64

0,94 tolerant (richtige Region)

Datei und Region zuverlässig · exakte Zeile nicht

grounding.txt · Präzision auf die exakte Zeile · 4 ungesehene Repos
Repo Sprache verifiziert Zeilenpräzision
flask Python 11/12 74%
gin Go · ungesehen 12/12 70%
ripgrep Rust 12/12 52%
frozen 325 JS/TS + 320/325 64%

Delta zitiert nie eine Datei, die nicht im Diff steht (100% in jedem Repo, auch bei Go, das in seinen Trainingsdaten fehlt). Je nach Repo trifft es in 92 bis 100% der Fälle die richtige Region. Die exakte Zeile trifft es noch nicht zuverlässig: Das gelingt in 52 bis 74% der Fälle, am seltensten bei Rust.

04 TRAINING & DATEIEN

Trainiert auf einer RTX 3060

Knot Scribe ist ein QLoRA-Fine-Tune eines freizügig lizenzierten Basismodells. Trainiert wurde es auf 3.227 Paaren aus Diff und Commit-Message, gesammelt aus freizügig lizenzierten Open-Source-Repositorys.

knot-scribe-model.txt
Basismodell → Ein freizügig lizenziertes offenes Code-Modell · Apache-2.0
Methode → QLoRA (4-Bit) · completion-only SFT (Loss nur auf der Message)
Hardware → Eine einzelne NVIDIA RTX 3060 (12 GB)
Daten → 3.227 Diff-Message-Paare aus freizügig lizenzierter OSS · JS/TS, Python, Rust, Go
Datenschutz → Keine Nutzerdaten · kein privater Code · nur öffentliche Commit-Historie
Formate → LoRA-Adapter (PEFT safetensors) + LoRA-GGUF (llama.cpp / Ollama)
Lizenz → Apache-2.0 (abgeleitet von einer offenen Basis)

Alle Dateien (Adapter-Gewichte, GGUF, Tokenizer und die vollständige Model Card) liegen öffentlich auf Hugging Face.

05 AUSFÜHREN

So startest du es

Scribe ergibt nur bei einem Diff aus der Staging-Area Sinn. Delta liest jeden Diff, den du ihm gibst.

KNOT SCRIBE · Commit-Message
ollama run pointbreaklab/knot-scribe "$(git diff --staged)"
KNOT DELTA · Änderungsbericht
ollama run pointbreaklab/knot-delta "$(git diff)"

llama.cpp funktioniert genauso. Ollama ist nur der kürzere Weg. Das GGUF und den genauen Befehl für jedes Modell findest du auf seiner Hugging-Face-Seite unten. Metal, CUDA und CPU laden alle dasselbe GGUF.

Knot Scribe schreibt jede Commit-Message in Knot, und Knot Delta liefert dessen Änderungsberichte. Knot ist das Peer-to-Peer-Versionskontrollsystem von PointBreakLab.