- Als AI-Coding-Agent, der im Terminal läuft, unterstützt Crush die Code-Erstellung, Workflow-Automatisierung und Kontextpflege im Code, indem es mit verschiedenen LLMs (Large Language Models) zusammenarbeitet und so die Code-Produktivität steigert.
- Es lassen sich mehrere Modelle wählen oder während einer Sitzung frei das Modell wechseln, und es unterstützt die Sitzungskontext- und Projektkontext-Persistenz.
- Es bietet entwicklerfreundliche Funktionen wie LSP (Language Server Protocol)-Integration, erweiterbare MCP (Model Context Protocol)-Unterstützung sowie Ignorierregeln über
.gitignore und separate Dateien.
- Es läuft auf allen wichtigen Terminal-Umgebungen wie macOS, Linux, Windows, FreeBSD und lässt sich über einen Paketmanager, Go oder Binärdateien installieren.
- Es unterstützt eine intuitive Konfiguration und gleichzeitig umfangreiche Anpassungsmöglichkeiten, einschließlich Umgebungsvariablen, JSON-Konfiguration und Tool-Whitelist – ein Design, das auch erfahrene Nutzer berücksichtigt.
Crush
- Ein AI-Coding-Agent, der in der Terminal-Umgebung läuft und sich frei mit den bevorzugten LLMs eines Entwicklers verbindet, um Code-Erstellung, -Bearbeitung und -Automatisierung zu unterstützen.
- Es können frei verschiedene Modelle (Anthropic, OpenAI, Groq, OpenRouter usw.) ausgewählt und gewechselt werden; der Kontext wird pro Sitzung separat verwaltet.
- Über LSP (Language Server Protocol) wird je nach Sprache zusätzlicher Kontext abgerufen, sodass die Code-Unterstützung noch intelligenter funktioniert.
- Über MCP (Model Context Protocol) können zusätzliche Informationen aus externen Systemen, HTTP, der Kommandozeile, SSE und anderen Quellen gesammelt und genutzt werden.
Hauptfunktionen
- Multi-Model-Support: Integration mit verschiedenen LLMs wie OpenAI, Anthropic, Groq und OpenRouter; zusätzliche Modelle können direkt hinzugefügt werden.
- Sitzungsbasierte Arbeit: Mehrere Arbeitssitzungen und getrennte Kontexte pro Projekt verwalten.
- Flexibler Modellwechsel: Freier Modellwechsel auch während einer laufenden Sitzung bei Erhalt des bisherigen Kontexts.
- LSP-Integration: Verbindung zu LSP für wichtige Sprachen wie Go, TypeScript und Nix zur Stärkung des Code-Kontexts.
- Erweiterbarkeit: Einfache Erweiterung über MCP auf Basis des Protokolls, z. B. für externe HTTP/CLI/SSE-Funktionen.
- Umfassender Plattform-Support: Läuft auf den wichtigsten OS-Terminals wie macOS, Linux, Windows (WSL, PowerShell), FreeBSD, OpenBSD und NetBSD.
- Intuitive Konfiguration: Sofort einsatzbereit ohne separate Einrichtung; bei Bedarf projektbezogene oder globale JSON-Konfiguration verfügbar.
- Effektive Ignorierfunktion: Verwaltung ausschließender Dateien/Verzeichnisse über
.gitignore und .crushignore möglich.
- Tool-Whitelist: Vorabgenehmigung und Optionen für automatische Ausführung von Tools; mit dem Flag
--yolo kann die gesamte Prompt-Eingabe übersprungen werden (mit Vorsicht zu verwenden).
- Eigene Provider: OpenAI- und Anthropic-kompatible APIs können frei ergänzt und mit Detailoptionen konfiguriert werden.
Installation und Einstieg
- Installation möglich über verschiedene Paketmanager sowie über Binärdateien oder Go: Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL.
- Beim ersten Start muss ein bevorzugter LLM-API-Schlüssel (OpenAI, Anthropic, Groq usw.) eingegeben werden; er kann auch per Umgebungsvariable gesetzt werden.
- Repräsentative LLMs, die über Umgebungsvariablen angebunden werden können:
OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, VERTEXAI_PROJECT usw.
Konfigurationsbeispiele
- Erweiterte Optionen über globale oder projektbezogene JSON-Dateien (
./.crush.json, ./crush.json, $HOME/.config/crush/crush.json) anwenden
- LSP-Konfiguration: Sprachspezifische Befehle können festgelegt werden
{
"lsp": {
"go": { "command": "gopls" },
"typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
}
}
- MCP-Konfiguration: Beispiel für externe Erweiterungen über HTTP/CLI/SSE
{
"mcp": {
"filesystem": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-server.js"]
}
}
}
- Dateiausblendung und Tool-Freigabe
- Ausschluss bestimmter Dateien/Ordner über
.crushignore
- Tool-Ausführung über Whitelist oder Überspringen der Prompt-Abfrage mit dem
--yolo-Flag
Funktionen für Fortgeschrittene Nutzer
- Registrierung benutzerdefinierter Provider: Hinzufügen von OpenAI/Anthropic-kompatiblen APIs, inklusive Preis- und Kontextdetails als Feinoptionen.
- Logging: Projektbezogene Logdateien; Zugriff in Echtzeit über CLI-Befehle wie
crush logs oder crush logs --follow.
- Debug-Optionen: Aktivierung detaillierter Logs über das Flag
--debug oder die Konfiguration.
Noch keine Kommentare.