Skip to content

Latest commit

 

History

History
147 lines (107 loc) · 15.7 KB

VSCODE-COPILOT.md

File metadata and controls

147 lines (107 loc) · 15.7 KB

VS Code Copilot Chat — OmniCopilot extension (Deutsch)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


OmniCopilot fügt jedes von OmniRoute bereitgestellte Modell zur nativen Modellauswahl von GitHub Copilot Chat hinzu. Keine zweite Seitenleiste, keine separate Chat-Benutzeroberfläche — Copilots Agentenmodus, Tool-Aufrufe, MCP-Server und benutzerdefinierte Anweisungen funktionieren weiterhin, lediglich mit dem von Ihnen ausgewählten Modell.

Installation (VS Code) Marketplace → diegosouzapw.omnicopilot
Installation (Forks) Open VSX — Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro
Quellcode / Probleme github.com/diegosouzapw/OmniCopilot (MIT)
Voraussetzungen VS Code 1.104+

Kein Copilot-Abonnement erforderlich. Seit VS Code 1.122 funktioniert ein Sprachmodellanbieter ohne GitHub-Anmeldung und ohne Copilot-Tarif. Inline-Vervollständigungen und einbettungsbasierte Funktionen sind nicht Teil der Anbieter-API und erfordern weiterhin Copilot.


Einrichtung

  1. OmniRoute ausführen — npm install -g omniroute && omniroute (Dashboard unter http://localhost:20128).
  2. Erweiterung installieren — suchen Sie in der Erweiterungsansicht nach „OmniRoute“.
  3. Modell auswählen — Copilot Chat → Modellauswahl → Modelle verwalten… → OmniRoute, und wählen Sie dann die gewünschten Modelle aus.

Wenn OmniRoute auf dem Standardport läuft, muss nichts konfiguriert werden. Öffnen Sie für eine Remote-Instanz das OmniRoute-Symbol in der Aktivitätsleiste (oder führen Sie OmniRoute: Manage Connection aus) und legen Sie Folgendes fest:

  • Server-URL — die Server-Stammadresse, z. B. http://192.168.0.15:20128. Das Suffix /v1 wird von der Erweiterung angehängt; geben Sie es nicht mit an.
  • API-Schlüssel — nur wenn auf dem Server REQUIRE_API_KEY festgelegt ist. Wird über VS Code SecretStorage im Schlüsselbund des Betriebssystems gespeichert, niemals in settings.json.

Was in der Modellauswahl angezeigt wird

Die Erweiterung zeigt nicht die unverarbeitete Nutzlast von GET /v1/models an — sie bereitet sie auf, und die angezeigte Anzahl ist aus zwei bewussten Gründen kleiner als der Umfang des Katalogs.

Sie fordert eine ID pro Modell an

MODELS_CATALOG_PREFIX_MODE ist standardmäßig auf dual gesetzt, wodurch jedes Modell zweimal angeboten wird — einmal mit dem kurzen Aliaspräfix und einmal mit dem kanonischen Anbieterpräfix —, damit ältere Client-Konfigurationen weiterhin beide Formen auflösen können:

cc/claude-sonnet-4-6        ← Aliaspräfix
claude/claude-sonnet-4-6    ← kanonisches Präfix, gleiches Modell

Die Erweiterung fordert GET /v1/models?prefix=alias an, sodass pro Modell eine ID geliefert wird, ohne die serverweite Einstellung für Ihre anderen Clients zu ändern. Auf einer Referenzinstanz reduzierte dies 2345 Einträge auf 1396 — 949 Duplikate, kein einziges Modell ging verloren.

Wenn Sie dies stattdessen serverweit für jeden Client festlegen möchten, setzen Sie das Feature-Flag MODELS_CATALOG_PREFIX_MODE im Dashboard auf alias. Informationen zum Abfrageparameter und zur Tabelle für die einzelnen Modi finden Sie unter API_REFERENCE → prefix.

Modelle, die nicht chatten können, werden ausgeblendet

Der Katalog enthält außerdem Bild-, Video-, Audio-, Reranking-, Einbettungs- und Moderationsmodelle. Diese werden bei einer Chat-Anfrage ohnehin abgelehnt:

HTTP 400 — Model '<id>' is an image-generation model and cannot be used on
/v1/chat/completions. Use POST /v1/images/generations instead.

Daher werden sie anhand ihres Feldes type herausgefiltert, bevor sie die Modellauswahl erreichen. Responses-API- Modelle bleiben erhalten — jeder Codex-/GPT-5.x-Eintrag gibt supported_endpoints: ["responses"] an, und OmniRoute übersetzt diese für /v1/chat/completions, sodass sie problemlos verwendet werden können.

Anbieter, die Sie nie konfiguriert haben

Der Katalog führt Modelle von Anbietern mit einer aktiven Verbindung sowie von jedem noAuth- Anbieter auf — den schlüssellosen Anbietern, die einen großen Teil des kostenlosen Angebots ausmachen. Das ist beabsichtigt. Um sie auszublenden, fügen Sie sie in den Dashboard-Einstellungen zu blockedProviders hinzu; in der Erweiterung ändert sich nichts.


Dashboard in einem VS-Code-Tab

omnicopilot.dashboardOpen: "editor" rendert das OmniRoute-Dashboard über den Simple Browser in einem Editor-Tab statt in einem externen Browser. Das Einbetten muss serverseitig explizit aktiviert werden. Dies geschieht mit DASHBOARD_ALLOW_EMBED=vscode, wodurch die HTML-Seiten mit frame-ancestors 'self' vscode-webview: statt mit den standardmäßigen Einstellungen frame-ancestors 'none' + X-Frame-Options: DENY ausgeliefert werden. Die API-Endpunkte (/api, /v1, /v1beta, /a2a, /healthz) behalten in beiden Fällen die strikten Header bei.

⚠️ Dies ist ein Build-Time-Flag, kein Runtime-Flag. Next.js kompiliert headers() in das Routenmanifest, daher liest next.config.mjs die Variable während der Erstellung des Bundles ein (next.config.mjs → resolveDashboardEmbedMode, scripts/build/dashboardEmbed.mjs). Das Setzen der Variable vor dem Start eines bereits erstellten Servers ändert nichts — die Header sind fest einkompiliert.

# Die Variable muss beim BUILD-Befehl vorhanden sein
DASHBOARD_ALLOW_EMBED=vscode npm run build        # oder npm run build:release
npm start
Installationsmethode Kann das Einbetten aktiviert werden?
Aus dem Quellcode ✅ Die Variable wie oben gezeigt beim Build-Befehl setzen
npm install -g omniroute ❌ Das veröffentlichte Paket enthält ein vorab erstelltes Bundle — stattdessen aus dem Quellcode erstellen
Docker-Image ✅ docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode -t omniroute:embed . — beim vorab erstellten Image auf Docker Hub ist das Einbetten nicht aktiviert

Ohne einen Build mit aktivierter Einbettung verweigert die Seite die Darstellung in einem Frame. Die Erweiterung erkennt dies anhand der Antwort-Header und weicht auf den externen Browser aus — nichts geht kaputt, und es wird einmalig darauf hingewiesen. Siehe ENVIRONMENT.md und Issue #10273.


Konfiguration anderer Tools direkt aus VS Code

OmniRoute: Configure Coding CLI steuert die omniroute-CLI, um sofort einsatzbereite Profile für Codex CLI, Claude Code, Cline, Continue, Cursor, Aider, OpenCode, Goose, Crush, Qwen Code, Kilo und Roo zu erstellen — dieselben Konfigurationen, die in CLI-INTEGRATIONS.md beschrieben sind. Der API-Schlüssel wird über die Umgebungsvariable OMNIROUTE_API_KEY an die CLI übergeben, niemals über die Befehlszeile.


Fehlerbehebung

Symptom Ursache / Lösung
Keine OmniRoute-Modelle in der Auswahlliste Der Server ist nicht erreichbar. Der Punkt in der Statusleiste wird grau; führen Sie OmniRoute: Check Connection aus. Die Erkennung erfolgt absichtlich ohne Rückmeldung und fügt keine Modelle hinzu, statt zu einer Eingabe aufzufordern.
Jedes Modell wird zweimal angezeigt Sie verwenden eine OmniCopilot-Version vor 1.0.1 — führen Sie ein Update durch. Die Erweiterung fordert jetzt ?prefix=alias an.
Ein Bild-/Audiomodell wurde früher aufgeführt und ist jetzt verschwunden Absichtlich seit 1.0.1 — es konnte nie auf eine Chat-Anfrage antworten.
Panel fehlt in der Aktivitätsleiste VS Code verschiebt zusätzliche Ansichtscontainer in das „…“-Überlaufmenü am unteren Rand der Aktivitätsleiste. Ein per Rechtsklick ausgeblendeter Container bleibt ausgeblendet. Klicken Sie mit der rechten Maustaste auf die Aktivitätsleiste → aktivieren Sie OmniRoute, oder öffnen Sie es mit OmniRoute: Manage Connection.
Dashboard wird trotz editor-Modus im Browser geöffnet Der Server wurde nicht mit DASHBOARD_ALLOW_EMBED=vscode erstellt (siehe oben) — das Setzen der Variable beim Start einer vorab erstellten Installation bewirkt nichts. Dieses Ausweichverhalten ist beabsichtigt.
Modellliste ist nach einer Änderung der Anbieter veraltet OmniRoute: Refresh Models oder der ↻-Link im Panel.

Siehe auch