- KI
So richtest du Continue als Open-Source-Copilot-Alternative ein – Anleitung und Praxistest
Wenn Copilot keine Option ist
Nicht jedes Unternehmen kann GitHub Copilot oder ähnliche kommerzielle KI-Assistenten einfach einsetzen. Urheberrechtliche Fragestellungen, Lizenzbedingungen und Compliance-Anforderungen in regulierten oder sicherheitskritischen Umgebungen machen den Einsatz cloudbasierter Tools oft unmöglich. Wer trotzdem KI-gestützt entwickeln will, braucht eine Alternative – idealerweise Open Source und kompatibel mit selbst gehosteten LLMs.
Genau hier setzt Continue an. Im Rahmen dieses Learning-Friday-Projekts haben wir das Tool ausführlich getestet: von der Installation über die Anbindung verschiedener Modelle bis hin zum produktiven Einsatz im Agent-Mode. In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du Continue einrichtest – und teilen, was funktioniert hat und wo wir an Grenzen gestoßen sind.
Was ist Continue – und für wen eignet es sich?
Continue ist ein Open-Source-Werkzeug (Apache 2.0 Lizenz) zur KI-Unterstützung bei der Softwareentwicklung. Es bietet IDE-Plugins für IntelliJ und VS Code und liefert drei Kernfunktionen:
- KI-gestützten Chat
- Code-Completions
- Agentische Code-Änderungen.
Der entscheidende Vorteil gegenüber kommerziellen Lösungen: Continue arbeitet nicht zwingend mit externen Cloud-APIs. Du kannst eigene, selbst gehostete Large Language Models (LLMs) anbinden – etwa über OpenShift AI, Ollama oder LM Studio. Das macht Continue besonders interessant für Teams in regulierten Branchen, die Datensouveränität und DSGVO-Konformität sicherstellen müssen.
Unser Use Case
Mit Hilfe von Continue sollte folgendes Szenario an unserem Open-Source-Projekt Gamertrack umgesetzt werden: Analyse des bestehenden Repositories, Implementierung einer funktionalen Änderung, Test der Änderung und Erstellung eines Pull Requests. Dafür haben wir drei Varianten evaluiert: ein kleines lokales Modell, ein mittelgroßes auf OpenShift AI gehostetes Modell und ein großes öffentlich verfügbares Cloud-Modell. Die Modelle wurden an Continue angebunden, teilweise zusätzlich auch an IntelliJ AI, um einen direkten Vergleich zu ermöglichen.
Zentrale Fragestellungen
- Wie leistungsfähig sind schwächere, selbst-gehostete Modelle bei typischen Code-Arbeiten?
- Reichen sogenannte „Lite“-Modelle für Analyse- und Änderungsaufgaben aus?
- Ist ein vollständig lokaler Betrieb ohne externe Abhängigkeiten praktikabel?
- Wie kann man Continue für Softwareentwicklung einsetzen?
Projektziele
- Vergleich: Continue vs. Copilot unter realen Entwicklungsbedingungen
- Anbindung und Evaluation eigener KI-Modelle
- Identifikation geeigneter Modellgrößen und -typen
- Dokumentation der Ergebnisse in Videoform
Nutzen
- Erweiterung des internen KI-Toolsets für restriktive Settings
- Ermöglichung vollständig Open-Source-basierter KI-Setups
- Potenzielles Einsparpotenzial bei Lizenz- und API-Kosten
Zielsetzung (Use Case)
Mit Hilfe von Continue sollte folgendes Szenario umgesetzt werden:
- Analyse eines bestehenden Repositories (Gamertrack)
- Implementierung einer funktionalen Änderung
- Test der Änderung
- Erstellung eines Pull Requests
Evaluierte Varianten
- Kleines lokales Modell
- Großes öffentlich verfügbares Modell
- Medium Arrow Modell
Die Modelle wurden an Continue angebunden. Teilweise erfolgte zusätzlich eine Integration in IntelliJ AI, um einen direkten Vergleich der Assistenten zu ermöglichen.
Schritt 1: Continue in IntelliJ installieren
Das Continue Plugin ist über den IntelliJ Marketplace bereits vorbereitet und muss nur noch unter Settings → Plugins installiert bzw. aktiviert werden.
Danach sollte das Continue-Icon in der Seitenleiste vorhanden sein:

Im nächsten Schritt muss ein Modell ausgewählt werden. Allgemein sind die Modelle in Continue unter Settings → Models zu konfigurieren:

Für ein öffentliches Modell wie GPT-5 wird nur ein entsprechender API-Key benötigt:

Damit können im Chat-Mode bereits Fragen gestellt werden.
Praxis-Tipp: Für den allerersten Test empfehlen wir, mit einem Cloud-Modell zu starten. So lernst du die Grundfunktionen von Continue kennen, bevor du dich an die Konfiguration eines selbst gehosteten Modells machst.
Schritt 2: Chat und Agent-Mode verwenden
Im Chat-Mode kannst du dem Modell direkt Fragen stellen. Ein Beispiel – die Frage „Was ist Continue AI?“ liefert eine strukturierte Antwort direkt in der IDE:

Neben dem Chat-Mode hat Continue auch einen Agent-Mode, in dem das Tool eigenständig Befehle ausführen kann. Den Modus wählst du über das Dropdown in der Chat-Leiste aus:

Wir haben im Agent-Mode versucht, im Projekt Gamertrack Kleinigkeiten zu erledigen. Ein einfacher Prompt „Schreibe ein neues REST-Service ’sayHello‘ das zu einem Namen ‚Hello‘ hinzufügt“ liefert folgendes Ergebnis:

Diese Änderung muss bestätigt werden. Per Default müssen die meisten Befehle des internen Tools immer bestätigt werden. So wie für MCP-Server kann dies pro Befehl unter der „Tools“-Konfiguration angepasst werden:

Schritt 3: Context und Rules konfigurieren – dem Modell Orientierung geben
Der Versuch mit „Kompiliere und starte die Applikation“ die Änderungen zu aktivieren, funktionierte so ohne weitere Anpassung nicht richtig. Mit dem aus einer im Projekt durchgeführten Migration (von WildFly zu Quarkus) entstandenen, etwas ungewöhnlichen Quarkus-Setup kommt das Modell nicht zurecht.
Dafür benötigt es mehr Kontext. Glücklicherweise gibt es ein README, das Anleitung bietet und das wir dem Modell als Kontext mitgeben können. Kontext kann unter der Konfigurationsoption „Rules“ ergänzt werden:

Rules können im Projekt als Dateien gespeichert werden – das macht sie versionierbar und teamweit nutzbar.
Empfehlung für Teams: Investiert Zeit in gute Rules und Kontext-Dateien. Das ist der größte Hebel, um brauchbare Ergebnisse zu erzielen – unabhängig vom verwendeten Modell.
Schritt 4: MCP-Server einbinden – das Modell mit Werkzeugen ausstatten
Mit Hilfe des Model Context Protocol (MCP) können zusätzliche Werkzeuge in Continue eingebunden werden, sodass das Modell weitere Funktionen ausführen kann. Wir haben beispielsweise den Playwright MCP Server als Browser-Tool eingebunden:

Die eigentliche Konfiguration erfolgt, wie beim Context, in einer Datei:
- name: Browser
command: npx
args:
- "@playwright/mcp@latest"
Damit kann das Modell Webseiten bedienen. Nachdem wir Backend und Frontend von Gamertrack gestartet haben, gaben wir folgenden Prompt: „The frontend is now running. Connect to the application and create a football match with Geparden and Lions.“
Nach etlichen Bestätigungen war im Gamertrack folgendes zu sehen:

Username und Passwort zum Login hat das Modell aus dem Readme gelesen, dann zwei Teams (Geparden, Lions), ein Game (Football) und ein Match mit Geparden als Sieger angelegt. Dies ohne weitere Hinweise war dann doch beeindruckend.
Schritt 5: Modelle über config.yaml im Detail konfigurieren
Detailreiche Konfiguration kann über die config.yaml erfolgen. Dies ist das zentrale Konfigurations-File von Continue, welches unter ~/.continue/config.yaml liegt. Details zu möglichen Parametern können der Continue-Dokumentation entnommen werden.
Ein konkretes Beispiel aus unserem Setup – hier haben wir ein Llama-3.1-8B-Instruct-Modell angebunden, das im Arrow AI Lab (OpenShift AI) gehostet und über einen HTTP-Endpunkt veröffentlicht wurde:
name: My Config
version: 1.0.0
schema: v1
context:
- provider: file
models:
- name: AIHOME
provider: openai
apiBase: https://your-model-endpoint/v1
model: redhataillama-31-8b-instruct
roles:
- chat
- edit
- apply
requestOptions:
verifySsl: false
headers:
Authorization: Bearer <Token>
defaultCompletionOptions:
temperature: 0.7
maxTokens: 1500
Unter “models” sind die Modelle definiert, die Continue benutzen kann. Das oben bereits via UI angebundene, öffentliche Modell GPT-5 kann ebenfalls hier eingetragen werden. Eine Liste an Modellen ist möglich.
Die Berechtigungen der Modelle definieren wir über Roles, das Modell in unserem Beispiel darf im Chat verwendet werden, Code generieren und in Dateien schreiben. Details dazu in der Dokumentation.
Einige besondere Änderungen, die bei unserem selbst gehosteten Modell nötig waren sind auch in dem Beispiel zu sehen. Nötig war die Konfiguration des HTTP Headers, um Autorisierungs-Token mit dem Request an das LLM zu senden sowie die Deaktivierung der Zertifikatsprüfung.
Wie ein Model in OpenShift AI gehostet werden kann kann man aus der Doku des LF Projekts Llamas with RedHats entnehmen. Hier der Link
Schritt 6: Context-Provider nutzen
Unter dem Feld „context“ in der config.yaml kann man unterschiedliche Context-Provider aktivieren. Diese sind dann im Chat verwendbar. In einer Anfrage an ein LLM kann man diese Kontexte nutzen, um weitere Informationen mitzusenden. Der hier definierte File-Provider kann beispielsweise im Chat mit @File genutzt werden, um ein File anzuhängen (z.B. README.md):

Mit den „defaultCompletionOptions“ lässt sich die Modellbenutzung noch weiter steuern – etwa die Temperature (≈ Kreativität) oder die Maximalanzahl von Tokens.
Wir haben einerseits mit der Chat-Funktion versucht, uns das Projekt und den Code vom LLM erklären zu lassen. Außerdem haben wir konkrete, agentische Handlungsaufforderungen an das Modell gestellt.
Bekannte Stolperfallen und Workarounds
Für Anfänger mit Continue ist es nicht immer ganz einfach, sich zurechtzufinden. Wie kommt man z.B. in die Session zurück? Praktisch ist die Konfigurationsoption, Sessions in Tabs zu öffnen.
Das Tool wirkt nicht ganz stabil. Manchmal friert es ein, manchmal aktualisiert sich auch nur das GUI nicht richtig und mit ein bisschen „Mauswackeln“ geht es wieder weiter. Der Unterschied ist schwer zu erkennen.
Das Konfigurieren von Continue ist fehleranfällig und instabil. Einerseits muss man manchmal (je nach lokalem Setup) IntelliJ neu starten, da häufig Fehler im Plugin auftreten. Continue ist weiters auch nur mit einigen Lücken dokumentiert, was uns bei der initialen Konfiguration Schwierigkeiten bereitete.
Vor dem Ausführen von MCP-Befehlen fragt das Tool brav nach, aber es ist nicht leicht erkennbar, was es eigentlich genau machen will (z.B. „fill form“ – aber welches, womit?). Diese Infos haben wir erst nach dem Ausführen des Befehls gefunden.
Nach einigen Stunden Experimentieren ergibt sich der Eindruck, dass das Tool noch nicht ganz ausgereift ist und dass man noch etwas mehr Zeit benötigt, um gut damit zurechtzukommen. Aber dafür ist es Open Source und engagierten Entwicklern stehen dadurch viele Möglichkeiten zur Weiterentwicklung offen.
Welches Modell für welchen Einsatz? Unser Praxisvergleich
Kleines lokales Modell
Kleine Modelle konnten wir lokal am Laptop installieren.
Technische Rahmenbedingungen
- Lokale Modelle wurden über LM Studio bzw. Ollama geladen und gestartet
- Einrichtung und Betrieb sind sehr einfach
- Begrenzte Laptop-Hardware erlaubte nur sehr kleine Modellgrößen
- Unsere Macbooks haben mit ihrem unified memory tatsächlich einen Vorteil gegenüber “normalen” Laptops. Die vorhandenen 24GB sind aber dennoch zu wenig.
Getestete Modelle (Auswahl)
- Llama 3.1:8B
- Qwen 2.5 Coder: 1.5B Base
Ergebnisse
- Chat-Funktionalität:
- Grundsätzlich funktionsfähig
- Sehr hohe Latenzen
- Antworten häufig umständlich, wenig präzise und teilweise sogar grundlegend falsch (ein Modell antwortet auf Java-Fragen mit Python-Antworten).
- Code-Analyse:
- Funktioniert grundsätzlich
- Ebenfalls langsam, aber brauchbar für einfache Analysen
- Code-Anpassung (Agent-Modus):
- Nicht funktionsfähig
- Änderungen werden lediglich textuell beschrieben
- Es erfolgt keine automatische Anpassung im Code
- Code-Completion (nur mit Qwen 2.5 Coder probiert):
- Längere Wartezeiten als z.B. bei Junie
- Liefert Vorschläge nur in begrenzten Anwendungsbereichen (z.B. Variablendeklaration, Getter, Setter), Vorschläge, die den Programmfluss betreffen, konnten wir nicht erzeugen (z.B. fachliche Methode).
- Grundsätzlich eher schwacher Output, trotz vereinzelten sinnvollen Vorschlägen kein Mehrwert in der Entwicklung
Ursache
Nach Recherche liegt das Verhalten an der unzureichenden Modellstärke. Die Modelle halten sich nicht zuverlässig an die von Continue erwarteten System-Prompts und Ausgabeformate, sodass agentische Code-Edits nicht korrekt interpretiert werden können. Die Modelle wenden die zur Verfügung gestellten Tools nicht an und scheitern dadurch an einfachen Aufgaben (bspw. Dateien auflisten).
Zielerreichung
- Anbindung der Modelle: Erfolgreich
- Code-Analyse: Erfolgreich
- Automatisierte Code-Änderungen: Gescheitert
Da keine funktionsfähigen Code-Änderungen durchgeführt werden konnten, konnte das übergeordnete Projektziel mit kleinen lokalen Modellen nicht erreicht werden. Für einen Einsatz im Arbeitsalltag kann keine Empfehlung ausgesprochen werden. Die Qualität der Antworten und die Latenzen sind schlichtweg praxisfern.
Medium Arrow Modell
Anbinden eines mittelgroßen Modells auf OpenShift AI an Continue
Technische Rahmenbedingungen
- Intellij Plugin Continue
- In Cloud selbst gehostetes mittelgroßes LLM
- Config über yaml abgelegt in ~/.continue
Getestete Modelle
- redhataillama-31-8b-instruct, mit 8 Billion Parameters
Resultate
- Grundlegend funktionsfähig
- Rein textuell akzeptable Ergbnisse
- Keine Tool-Calls genutzt außer Shell-Befehle
- Unbrauchbarer Code als Output mit vielen Fehlern, ohne Lösung der Fragestellung, tw. sogar fehlerhafte Zeichen
Zusammenfassend: Wir können uns die Arbeit mit Continue + redhataillama-31-8b-instruct nicht vorstellen. Das Modell ist zu schwach, um die Tool-Calls zu verstehen und liefert keinen nutzbaren Output.
Beispiel für eine Antwort:
Since the task is to start the application in Quarkus development mode, I will attempt to use the run_terminal_command tool again with a different command that is specifically designed to start a Quarkus application in development mode, using the Maven Quarkus plugin mvn quarkus:dev is installed, I could be wrong though.
Run
$ „_cd /; weekday *; if (( $WILDFLOW_HOME )); cd „$WILDFLY_HOME“; if (( Ps -ef | grep mvn | wc -l )) exit; mvn quarkus:dev & disown; echo; echo; echo; sleep 1; sleep 1; clear; clear; echo Production backend started on port 8080; exit 0″
Großes öffentliches Modell
Nachdem wir mit Gemini Probleme hatten, haben wir GPT5 von OpenAI eingebunden.
Diese Konfiguration ist rein im UI möglich (Im Menü “Models”, in dem man Modelle auswählt, unter “Add chat model”) und erfordert lediglich die Angabe eines API-Keys, der für die Verwendung von GPT-5 berechtigt. Alternativ kann es analog zu oben in einer Konfigurationsdatei konfiguriert werden.
Resultate
- Funktionsfähig
- Rein textuell akzeptable Ergebnisse
- MCP-Server und integrierte Tool-Calls genutzt
- Grundsätzlich verwendbaren Code erzeugt
Code Completion
Code Completion hat mit einem gängigem OpenAI Public Modell (in unserem Fall GPT-5) nicht funktioniert. Zu keinem Zeitpunkt sahen wir einen Vorschlag des LLMs im Code. Wir vermuten, dass dies ausschließlich mit eigens dafür vorgesehenen Modellen geht, siehe oben unter “Kleines lokales Modell” für was funktioniert hat.
Verwende ich ein Cloud-Modell, verwende ich auch das zugehörige Tooling. Welche Lösungen wir für regulierte Umgebungen anbieten, erfährst du hier.
Fazit: Lohnt sich Continue als Copilot-Alternative?
In der Verwendung mit Agenten sind wir zum Schluss gekommen, dass die Qualität sehr stark von der Modellgröße (und dadurch implizit von der verwendeten Hardware) abhängig ist. Bei kleinen und mittleren Modellen konnten aufgrund der fehlenden Modellstärke wichtige Funktionen wie Tool-Calling und Code-Completion nicht verwendet werden. Dadurch ist die agentische Funktion ad absurdum geführt. Sobald man auf große Cloud Modelle setzt, ändert sich das Verhalten stark ins Positive, wobei hier der Verweis auf das Fazit zu Continue angebracht ist. Verwende ich ein Cloud-Modell, verwende ich auch das zugehörige Tooling.
Ressourcen und Links
- Gepardec Gamertrack auf GitHub: https://github.com/Gepardec/gepardec-gamertrack
- Continue Hauptseite: https://docs.continue.dev/
- Continue IntelliJ-Plugin: https://plugins.jetbrains.com/plugin/22707-continue
- Continue Konfigurationsreferenz: https://docs.continue.dev/reference
- Continue Guide für selbst gehostete Modelle: https://docs.continue.dev/guides/how-to-self-host-a-model
- Continue Model Roles: https://docs.continue.dev/customize/model-roles/intro



