> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Xcode

> Füge Venice in den Intelligence-Einstellungen von Xcode als Chat-Provider hinzu, um private Venice-Modelle im Xcode-Coding-Assistenten unter macOS zu nutzen.

[Xcode](https://developer.apple.com/xcode/) enthält einen Coding-Assistenten, der Fragen zu deinem Projekt beantworten, Code schreiben und refaktorieren sowie Fehler beheben kann. Neben den integrierten Providern akzeptiert Xcode jeden Chat-Provider, der die Chat Completions API unterstützt. Du kannst Venice also in den Intelligence-Einstellungen von Xcode hinzufügen und Venice-Modelle in Unterhaltungen mit dem Coding-Assistenten verwenden.

> **Coding-Assistent**
>
> Stelle Fragen, generiere Code und refaktoriere mit Venice-Modellen

> **Direkte Verbindung**
>
> Xcode sendet Anfragen direkt von deinem Mac an Venice

> **Wahl der Privatsphäre**
>
> Wähle ein Modell mit der Privatsphäre-Stufe, die dein Code benötigt

***

## Voraussetzungen

* Ein Venice API-Schlüssel von [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation)
* [Xcode](https://developer.apple.com/xcode/) 26.3 oder neuer (frühere Xcode-26-Versionen können benutzerdefinierte Chat-Provider verlieren, wenn Xcode neu startet)
* macOS Tahoe 26 oder neuer (Xcode 27 erfordert macOS Tahoe 26.6 oder neuer und einen Mac mit Apple Silicon)

***

## Einrichtung

**1. Venice API-Schlüssel besorgen**

Erstelle einen Schlüssel unter [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation). Ein **Inference Only**-Schlüssel reicht für Xcode aus.

Erwäge, einen eigenen Schlüssel mit einem **Epoch Consumption Limit** anzulegen. So kannst du begrenzen, was Xcode ausgibt, und den Schlüssel widerrufen, ohne andere Apps zu beeinträchtigen. Siehe [API-Schlüssel generieren](https://docs.venice.ai/de/guides/getting-started/generating-api-key.md).

**2. Intelligence-Einstellungen öffnen**

Wähle in Xcode **Xcode > Settings** und wähle in der Seitenleiste **Intelligence** aus.

**3. Venice als Chat-Provider hinzufügen**

Klicke unter **Chat** auf **Add a Chat Provider** und wähle **Internet Hosted**. In einigen Xcode-26-Versionen heißt die Schaltfläche **Add a Model Provider**.

Gib die folgenden Werte ein und klicke dann auf **Add**:

| Feld | Wert |
| - | - |
| URL | `https://api.venice.ai/api` |
| API Key | `Bearer your-venice-api-key` |
| API Key Header | `Authorization` |
| Description | `Venice` |

Übernimm die URL genau wie angegeben, ohne `/v1` und ohne abschließenden Schrägstrich. Xcode hängt `/v1/models` und `/v1/chat/completions` daran an, was die Standard-Endpoints von Venice unter `https://api.venice.ai/api/v1` ergibt.

Xcode sendet das Feld **API Key** als vollständigen Wert des `Authorization`-Headers. Ersetze `your-venice-api-key` durch deinen Schlüssel und behalte das Präfix `Bearer ` bei.

**4. Modelle auswählen**

Wähle unter **Chat** den Venice-Provider aus. Xcode ruft die Modellliste von Venice ab. Aktiviere die Modelle, die du nutzen möchtest, und markiere die am häufigsten genutzten mit einem Stern, damit sie oben im Modellmenü erscheinen.

Die Liste enthält alle Venice-Textmodelle, der Coding-Assistent funktioniert aber nur mit Modellen, die Tool Calling unterstützen. Prüfe vor der Auswahl die [Modellanforderungen](#modellanforderungen) oder beginne mit `z-ai-glm-5-3-flash`.

**5. Eine Unterhaltung starten**

Öffne ein Projekt und klicke dann auf die Schaltfläche **Coding Assistant** oder drücke **Command-0**. Klicke auf **New Conversation** und wähle unter **Chat** ein Venice-Modell aus. Der Platzhaltertext im Nachrichtenfeld zeigt, welches Modell die Unterhaltung verwendet.

Sende einen kurzen Prompt, um die Verbindung zu testen:

```txt theme={"system"}
Summarize what this project does in three bullet points.
```

***

## Einrichtung überprüfen

Das Senden des Test-Prompts ist die eigentliche Prüfung. Eine vollständige Modellliste in Xcode beweist nicht, dass dein Schlüssel funktioniert, denn der `GET /models`-Endpoint von Venice liefert den Katalog mit oder ohne gültigen Schlüssel. Venice prüft den Schlüssel erst, wenn du eine Nachricht sendest.

Wenn der Prompt fehlschlägt, überprüfe deinen API-Schlüssel außerhalb von Xcode:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/api_keys/rate_limits \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

Dieser Endpoint erfordert einen gültigen Schlüssel. Ein `401` deutet hier also auf den Schlüssel hin und nicht auf die Konfiguration von Xcode. Wenn der Schlüssel funktioniert, vergleiche die Provider-Einstellungen mit der [Fehlerbehebung](#fehlerbehebung).

***

## Modellanforderungen

> [!WARNING]
>
> **Das Modell muss Tool Calling unterstützen.** In Chat-Unterhaltungen stellt Xcode dem Modell Tools zum Durchsuchen und Bearbeiten deines Projekts bereit. Ein Modell ohne Tool Calling kann die Anfragen des Coding-Assistenten daher nicht verarbeiten.

Der [Textmodell-Katalog](https://docs.venice.ai/de/models/text.md) führt diese Fähigkeit als **Function Calling**, und die meisten Venice-Textmodelle unterstützen sie.

Idealerweise sollte das Modell außerdem ein Kontextfenster von 200K Tokens oder mehr haben. Xcode bietet für Chat-Provider keine Einstellung für das Kontextfenster, und bei aktiviertem **Project Context** kann eine Anfrage zusätzlich zu den Tool-Definitionen von Xcode viel Projektcode enthalten.

So listest du die Venice-Modelle auf, die beide Anforderungen erfüllen:

```bash theme={"system"}
curl -s https://api.venice.ai/api/v1/models \
  | jq -r '.data[] | select(.model_spec.capabilities.supportsFunctionCalling and .model_spec.availableContextTokens >= 200000) | .id'
```

***

## Modelle auswählen

Diese Modelle erfüllen beide Anforderungen:

| Anwendungsfall | Beispiel-Modell-ID |
| - | - |
| Programmieren | `deepseek-v4-pro-0813` |
| Geringere Kosten | `z-ai-glm-5-3-flash` |
| Schwierigste Aufgaben | `grok-4-7` |
| Screenshots und Mockups mit **Upload files** | `qwen-3-8-27b` |

Beim Vergleich anderer Modelle:

* [`GET /models/traits?type=text`](https://docs.venice.ai/de/api-reference/endpoint/models/traits) liefert die aktuellen Empfehlungen von Venice, etwa `default_code` für das Programmieren.
* **Project Context** macht Anfragen groß, daher sind die Preise für Input-Tokens wichtiger als sonst. Vergleiche die Preise im [Textmodell-Katalog](https://docs.venice.ai/de/models/text.md).

Venice nimmt regelmäßig Modelle außer Betrieb und ersetzt sie. Wenn ein Modell nicht mehr funktioniert, sieh unter [Deprecations](https://docs.venice.ai/de/overview/deprecations.md) nach und wechsle zu einem aktuellen Modell.

***

## Agents

Chat-Provider betreiben ausschließlich Chat-Unterhaltungen. Die integrierten Agents von Xcode, etwa Claude Agent und Codex, sowie alle Agents, die du über das Agent Client Protocol (ACP) hinzufügst, werden separat konfiguriert und senden keine Anfragen über einen Chat-Provider. Agents erhalten außerdem mehr Fähigkeiten von Xcode als der Chat, etwa das Bauen und Testen deiner App.

Um einen Agent mit Venice-Modellen und Zugriff auf dein Xcode-Projekt zu betreiben, konfiguriere einen Terminal-Agent für Venice und verbinde ihn mit dem Model Context Protocol (MCP)-Server, den Xcode ab Version 26.3 bereitstellt:

**1. Externe Agents zulassen**

Aktiviere in den Intelligence-Einstellungen von Xcode unter **Model Context Protocol** die Option **Allow external agents to use Xcode tools**.

**2. Agent mit Venice einrichten**

Folge der Anleitung für [Codex CLI](https://docs.venice.ai/de/guides/integrations/codex-cli.md) oder [Claude Code](https://docs.venice.ai/de/guides/integrations/claude-code.md).

**3. Agent mit Xcode verbinden**

Registriere den MCP-Server von Xcode beim Agent:

```bash Codex CLI theme={"system"}
codex mcp add xcode -- xcrun mcpbridge
```

```bash Claude Code theme={"system"}
claude mcp add --transport stdio xcode -- xcrun mcpbridge
```

**4. Agent prompten**

Öffne zuerst dein Projekt in Xcode und prompte dann den Agent im Terminal. Xcode benachrichtigt dich, wenn sich der Agent verbindet.

***

## Privatsphäre

Xcode sendet Chat-Anfragen direkt von deinem Mac an Venice. **Project Context** ist in Chat-Unterhaltungen standardmäßig aktiviert, sodass Xcode relevanten Code und weiteren Kontext aus deinem Projekt in jede Anfrage einbezieht. Um einzuschränken, was Xcode sendet, deaktiviere **Project Context** im Nachrichtenfeld und referenziere Dateien und Symbole explizit mit `@`.

Venice speichert oder protokolliert Prompt- und Antwortinhalte an seinem Proxy nicht. Das gewählte Modell bestimmt die Privatsphäre-Stufe zur Laufzeit:

* **Private**-Modelle nutzen eine Infrastruktur ohne Datenspeicherung (Zero Data Retention).
* **Anonymized**-Modelle verbergen deine Identität vor dem Upstream-Provider, dieser Provider kann deinen Code aber verarbeiten.
* **TEE**-Modelle mit `e2ee-`-Modell-IDs laufen innerhalb einer Hardware-Enclave. Xcode kann Prompts nicht auf deinem Mac verschlüsseln, daher laufen diese Modelle bei Nutzung aus Xcode im TEE-Modus und nicht im Ende-zu-Ende-verschlüsselten Modus.

Prüfe das Privatsphäre-Label jedes Modells im [Textmodell-Katalog](https://docs.venice.ai/de/models/text.md) und lies [Venice-Privatsphäre](https://docs.venice.ai/de/overview/privacy.md), bevor du proprietären Code sendest.

***

## Fehlerbehebung

> **401 oder Authentifizierungsfehler**
>
> Stelle sicher, dass **API Key** aus `Bearer ` gefolgt von einem Venice-Schlüssel von [venice.ai/settings/api](https://venice.ai/settings/api?utm_source=venice-api-documentation) besteht, ohne zusätzliche Leerzeichen. Xcode lädt die Modellliste auch mit einem falschen Schlüssel, weil diese Liste öffentlich ist. Authentifizierungsfehler treten daher erst auf, wenn du eine Nachricht sendest. Teste den Schlüssel mit dem Befehl unter [Einrichtung überprüfen](#einrichtung-überprüfen).

> **Xcode kann keine Modelle laden oder lehnt den Provider ab**
>
> Prüfe, ob die URL genau `https://api.venice.ai/api` lautet. Eine URL, die auf `/v1` endet, lässt Xcode `/api/v1/v1/models` anfragen, und ein abschließender Schrägstrich ergibt `/api//v1/models`. Venice gibt in beiden Fällen `404` zurück. Füge den Provider mit der korrigierten URL erneut hinzu.

> **Endpoint-Fehler beim Senden einer Nachricht**
>
> Prüfe, ob die Unterhaltung ein Modell verwendet, das Tool Calling unterstützt und idealerweise ein Kontextfenster von 200K Tokens oder mehr hat. Xcode sendet mit jeder Anfrage Tool-Definitionen und Projektkontext: Ein Modell ohne Tool Calling kann diese nicht verarbeiten, und ein großes Projekt kann ein kleineres Kontextfenster überlaufen lassen. Aktiviere ein Modell, das die [Modellanforderungen](#modellanforderungen) erfüllt, und starte damit eine neue Unterhaltung.

> **402 oder Fehler „Payment Required“**
>
> Venice gibt in zwei Fällen `402` zurück:
>
> * Die Anfrage hat Venice ohne `Authorization`-Header erreicht. Venice ignoriert andere Header wie `x-api-key` und antwortet mit einer x402-Zahlungsaufforderung. Setze **API Key Header** auf `Authorization`.
> * Der Schlüssel hat sein Ausgabenlimit erreicht oder dein Guthaben ist aufgebraucht. Siehe [Fehlerbehebung bei Ausgabenlimit-Fehlern](https://docs.venice.ai/de/guides/getting-started/generating-api-key.md#fehlerbehebung-bei-ausgabenlimit-fehlern).

> **Modell nicht gefunden**
>
> Venice hat das Modell möglicherweise außer Betrieb genommen. Sieh unter [Deprecations](https://docs.venice.ai/de/overview/deprecations.md) nach, wähle ein aktuelles Modell aus der Modellliste des Providers und starte eine neue Unterhaltung.

***

## Ressourcen

> **[Coding Intelligence einrichten](https://developer.apple.com/documentation/xcode/setting-up-coding-intelligence)**
>
> Apples Anleitung zu Agents und Chat-Providern in Xcode

> **[Code mit Intelligence schreiben](https://developer.apple.com/documentation/xcode/writing-code-with-intelligence-in-xcode)**
>
> Coding-Assistent, Projektkontext und Verlauf nutzen

> **[Venice-Textmodelle](https://docs.venice.ai/de/models/text.md)**
>
> Aktuelle Modell-IDs, Fähigkeiten und Privatsphäre-Stufen durchsuchen

> **[API-Schlüssel generieren](https://docs.venice.ai/de/guides/getting-started/generating-api-key.md)**
>
> Einen eigenen Schlüssel mit Ausgabenlimits erstellen


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.