Ausprobieren
Für ein Llama-Modell, das lokal über Ollama läuft, speicher das hier als ~/Library/Application Support/Gnista/Models/ollama.json:
{
"version": 1,
"match": ["llama3.1:8b"],
"price": "free",
"context": 131072
}Innerhalb von zehn Sekunden zeigen Sitzungen mit llama3.1:8b, dass sie $0 kosten und wie viel ihres Kontexts von 131K Tokens sie nutzen, mit Metas Icon, das Gnista schon kennt. Einstellungen ▸ Agents ▸ Modelle listet die Datei; „Modelle-Ordner zeigen“ dort öffnet den Ordner.
Die Modelldatei
Eine Datei pro Modell oder pro Modellfamilie: bis zu 32 Kleinbuchstaben, Ziffern, - und _, mit .json am Ende. Pflicht ist nur match, und eine Datei muss mindestens ein icon, einen price oder einen context angeben.
{
"version": 1,
"maker": "Acme",
"match": ["acme-coder", "acme"],
"icon": "acme.svg",
"motion": "breathe",
"monochrome": false,
"price": { "input": 0.5, "output": 1.5, "cacheRead": 0.05, "cacheWrite": 0.6 },
"context": 200000,
"about": "Prices from our internal rate card."
}| Schlüssel | Was er bewirkt |
|---|---|
version | 1. |
match | Pflicht. Bis zu 32 Teile der Modell-IDs, für die die Datei gilt, so wie dein Agent sie meldet: llama3.1:8b, acme-coder. Groß- und Kleinschreibung ist egal. Ein Teil mit mehr als zwei Zeichen passt überall in der ID; einer mit zwei oder weniger nur als ganzes Wort, o3 passt also auf o3-mini, aber nicht auf foo3. |
maker | Wer es herstellt; so nennen die Einstellungen die Datei. Bis zu 40 Zeichen. |
icon | Eine SVG- oder PNG-Datei im selben Ordner, bis 1 MB, als kleines Badge auf dem Icon des Agents. Ohne sie behält ein Modell, das Gnista kennt, das Icon seines Anbieters. |
motion | Wie sich das Badge bewegt, während der Agent arbeitet: spin, twinkle, bob, swim, rock oder breathe, oder in deinem eigenen Tempo: {"name": "spin", "period": 10}. |
monochrome | true für ein einfarbiges Zeichen, gezeichnet in der Farbe des umgebenden Texts. |
price | "free", oder US-Dollar pro Million Tokens: input und output, optional auch cacheRead (ohne Angabe ein Zehntel von input) und cacheWrite (ohne Angabe das 1,25-Fache von input). |
context | Das Kontextfenster des Modells in Tokens, für den Ring, der zeigt, wie voll es ist. |
about | Eine Notiz für den, der die Datei als Nächstes bearbeitet. Gnista zeigt sie nicht an. |
Eine Datei über 1 MB, oder mit irgendeinem Fehler darin (ein unbekannter Schlüssel, ein Preis, der keiner ist, ein Icon, das Gnista nicht lesen kann), wird als Ganzes ignoriert, nie halb benutzt. Einstellungen ▸ Agents ▸ Modelle zeigt sie mit dem Grund.
Welche Datei ein Modell bekommt
- Deine Dateien gehen vor Gnistas eigenen. Passen mehrere, gewinnt der längste passende Teil:
llama-3.1-nemotronist von NVIDIA (nemotron), nicht von Meta (llama). - Das Icon kommt vom besten Treffer, der eines hat, Preis und Kontext vom besten Treffer, der sie hat. Eine Datei nur mit Preis behält das Icon des Anbieters.
- Dein Preis und Kontext gehen vor den veröffentlichten Preisen, die Gnista kennt, denn deinen Endpoint kennst du. Ein Kontextfenster, das der Agent selbst meldet, gewinnt trotzdem.
- Kein Badge erscheint, wenn das Modell vom selben Anbieter ist wie der Agent, etwa Claude Code mit Claude.
Weitere Beispiele
Ein Modell in LM Studio, kostenlos, mit Gnistas eigenem Qwen-Icon:
{ "version": 1, "match": ["qwen2.5-coder-32b"], "price": "free", "context": 32768 }Der Endpoint deiner Firma, mit eigenem Icon und Preis, neben acme.svg:
{
"version": 1,
"maker": "Acme",
"match": ["acme-coder"],
"icon": "acme.svg",
"motion": "breathe",
"price": { "input": 0.5, "output": 1.5 },
"context": 200000
}Wo es erscheint
Das Badge erscheint bei Agents, die ihr Modell melden, etwa Claude Code, Codex, OpenCode, Antigravity und Droid, und bei deinen eigenen Tools, die model schicken (eigene Agents). Kosten und Kontext erscheinen bei Agents, deren Sitzungen Gnista liest; Einstellungen ▸ Agents zeigt, welche das sind.