> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/de/grundlagen/codex.md).

# So führen Sie lokale LLMs mit OpenAI Codex aus

Verwenden Sie offene Modelle mit OpenAI Codex lokal auf Ihrem Gerät.

Diese Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie offene LLMs und APIs mit OpenAI Codex verbinden **vollständig lokal**, inklusive Screenshots. Codex benötigt nur einen lokalen Endpunkt, der die OpenAI Responses API spricht. Verwenden Sie beliebige offene Modelle wie Qwen, DeepSeek, Gemma und mehr.

Für dieses Tutorial verwenden wir die offenen Modelle: [Gemma 4](/docs/de/modelle/gemma-4.md) und [Qwen3.5](/docs/de/modelle/qwen3.5.md) die starke agentische und Coding-Modelle sind (funktioniert auf Geräten mit 24 GB RAM/einheitlichem Speicher). Für die Inferenz verwenden wir [Unsloth Studio](https://github.com/unslothai/unsloth) und [`llama.cpp`](https://github.com/ggml-org/llama.cpp) ermöglicht es Ihnen, LLMs unter macOS, Linux und Windows auszuführen/bereitzustellen. Sie können jederzeit ein anderes Modell verwenden, aktualisieren Sie dazu einfach die Modellnamen in Ihren Skripten und der Codex-Konfiguration.

<a href="/docs/de/grundlagen/codex.md#setup-codex" class="button primary" data-icon="openai">Codex einrichten</a><a href="/docs/de/grundlagen/codex.md#quickstart-tutorials" class="button primary">📖 Tutorial zur lokalen Modelle einrichten</a>

Für Modell-Quants verwenden wir Unsloth [**Dynamische GGUFs**](/docs/de/grundlagen/dynamic-3.0-ggufs.md) damit Sie quantisierte GGUF-Modelle ausführen können und dabei möglichst viel Genauigkeit erhalten.

{% hint style="info" %}
Codex hat sich seit Jan. 2026 stark verändert. Es verwendet jetzt die [**OpenAI Responses API**](https://platform.openai.com/docs/api-reference/responses) **ausschließlich**und die Unterstützung für Chat Completions wurde eingestellt. [Unsloth Studio](#unsloth-tutorial) unterstützt beides, daher verwenden wir `wire_api = "responses"` durchgehend in dieser Anleitung.
{% endhint %}

### <i class="fa-openai">:openai:</i> Codex einrichten

[Codex](https://github.com/openai/codex) ist OpenAIs offizieller Coding-Agent, der lokal ausgeführt wird. Obwohl er für ChatGPT entwickelt wurde, unterstützt er **benutzerdefinierte API-Endpunkte**und funktioniert dadurch auch mit lokalen LLMs. Später leiten wir ihn an den `/v1/responses` -Endpunkt von Unsloth Studio weiter, sobald Unsloth läuft.

{% tabs %}
{% tab title="Linux / WSL" %}
Führen Sie in Ihrem Terminal aus:

```bash
apt update
sudo apt install nodejs npm -y
npm install -g @openai/codex
```

{% endtab %}

{% tab title="Windows" %}
Führen Sie in der Windows PowerShell aus:

```powershell
winget install --id OpenAI.Codex
```

{% hint style="info" %}
**Bevorzugen Sie die Codex-Desktop-App?** Installieren Sie sie über den Microsoft Store:

```powershell
winget install --id 9PLM9XGG6VKS --source msstore
```

Oder über den [Microsoft App Store](https://apps.microsoft.com/detail/9plm9xgg6vks). Die App liest dieselbe `%USERPROFILE%\.codex\config.toml`und die Provider-Konfiguration, die wir später einrichten, gilt in beiden Fällen.
{% endhint %}

{% hint style="info" %}
**Bevorzugen Sie WSL?** Öffnen Sie PowerShell als Administrator und führen Sie `wsl --install`aus, starten Sie neu und folgen Sie dann im Ubuntu-Fenster dem Linux-Tab oben. Sie benötigen einen kleinen Netzwerk-Trick, um Unsloth auf dem Windows-Host zu erreichen – siehe den WSL-Hinweis in „Codex mit Unsloth verbinden“.
{% endhint %}
{% endtab %}

{% tab title="MacOS" %}
Führen Sie in Ihrem Terminal aus:

<pre class="language-bash"><code class="lang-bash"><strong>bash brew install --cask codex
</strong></code></pre>

{% endtab %}
{% endtabs %}

Das war’s mit der Installation – **starten Sie `codex` noch nicht**. Wenn Sie es direkt starten, landen Sie im Auswahlfenster von OpenAI „Mit ChatGPT anmelden“ (das modal ist – es gibt keinen Ausweg). Sobald wir ein lokales Profil einrichten,\
`codex --oss --profile unsloth_api` oder `codex --oss --profile llama_cpp` überspringt diesen Bildschirm vollständig, da benutzerdefinierte Anbieter standardmäßig `requires_openai_auth = false`verwenden. Starten Sie zuerst den lokalen Modellserver und starten Sie dann Codex dagegen.

## 📖 Schnellstart-Tutorials <a href="#quickstart-tutorials" id="quickstart-tutorials"></a>

Bevor wir beginnen, müssen wir zunächst die Einrichtung für das konkrete Modell abschließen, das Sie verwenden werden. Wir verwenden [Unsloth](https://unsloth.ai/docs/new/studio) (eine Web-UI) und llama.cpp, beides Open-Source-Frameworks zum Ausführen und Bereitstellen von LLMs auf Ihren Mac-, Linux- und Windows-Geräten.

{% columns %}
{% column %}
Bevor wir beginnen, müssen wir zunächst die Einrichtung für das konkrete Modell abschließen, das Sie verwenden werden. Wir verwenden [Unsloth](/docs/de/neu/studio.md) (eine Web-UI) und llama.cpp, beides Open-Source-Frameworks zum Ausführen und Bereitstellen von LLMs auf Ihren Mac-, Linux- und Windows-Geräten.

Unsloth verfügt außerdem über einzigartige selbstheilende [Tool-Calling](/docs/de/neu/studio/chat.md#auto-healing-tool-calling) und [Websuche](/docs/de/neu/studio/chat.md#code-execution) Funktionen. Siehe rechts Claude Code, verbunden mit Unsloth:
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FEGEKo6oPthjtSf0shavs%2F127.0.0.1_8889_chat%20(2).png?alt=media&amp;token=c59c7110-402c-4d21-96c5-cd96c921a184" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

<a href="/docs/de/grundlagen/codex.md#unsloth-tutorial" class="button primary">🦥 Unsloth-Tutorial</a><a href="/pages/1813c928d883d651dff92062bc0da6e96d06e50a#llama.cpp-tutorial" class="button primary">🦙 llama.cpp-Tutorial</a>

## 🦥 Unsloth-Tutorial

Für dieses Tutorial werden wir lokale Modelle über eine UI mit Claude Code bereitstellen/verbinden, indem wir [Unsloth](https://github.com/unslothai/unsloth). Unsloth funktioniert unter Windows, WSL, Linux und MacOS.

{% columns %}
{% column %}

* Suchen, herunterladen, [GGUFs ausführen](/docs/de/neu/studio.md#run-models-locally) und Safetensor-Modelle
* [**Selbstheilung** Tool-Aufruf](/docs/de/neu/studio.md#execute-code--heal-tool-calling) + **Websuche**
* [**Code-Ausführung**](/docs/de/neu/studio.md#run-models-locally) (Python, Bash)
* [Automatische Inferenz](https://unsloth.ai/docs/desktop#feature-deep-dive) Parameter-Tuning (Temp, Top-p usw.)
* Schnelle CPU- und GPU-Inferenz über llama.cpp
* [LLMs trainieren](/docs/de/neu/studio.md#no-code-training) 2x schneller mit 70 % weniger VRAM

Installationsanweisungen finden Sie unten:
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FY3nfB43TEk7k11zcE4wm%2Fthe%20big%20one.gif?alt=media&amp;token=335be087-7375-4f89-9039-71195ee44ab8" alt=""><figcaption><p>Beispiel für ein in Unsloth laufendes Qwen3.6 2-Bit-Modell.</p></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% stepper %}
{% step %}

#### Unsloth herunterladen

Der einfachste Einstieg ist die Installation der [Unsloth Desktop](/docs/de/desktop.md) App. Sie unterstützt [MacOS](/docs/de/erste-schritte/install/mac.md), Linux, [Windows](/docs/de/erste-schritte/install/windows-installation.md), [NVIDIA](/docs/de/erste-schritte/install/pip-install.md), [AMD](/docs/de/erste-schritte/install/amd.md)-, Intel- und CPU-Setups.

<a href="https://unsloth.ai/download" class="button primary" data-icon="down-to-bracket">Unsloth herunterladen</a>

* <i class="fa-apple">:apple:</i> [Für macOS herunterladen](https://unsloth.ai/download/mac)
* <i class="fa-windows">:windows:</i> [Für Windows herunterladen](https://unsloth.ai/download/windows)
* <i class="fa-linux">:linux:</i> [Für Linux herunterladen](https://unsloth.ai/download/linux)

Oder, wenn Sie eine manuelle Installation bevorzugen:

**MacOS, Linux, WSL:**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell:**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% endstep %}

{% step %}

#### Installieren Sie

1. Öffnen Sie das Unsloth-Installationsprogramm (`.dmg`, `.exe` -Dateien)
2. Ziehen Sie Unsloth unter Mac in „Programme“ oder schließen Sie die Einrichtung unter Windows ab.
3. Starten Sie die App und warten Sie, bis die Installation abgeschlossen ist
   {% endstep %}

{% step %}

#### Wählen Sie ein Modell

Öffnen Sie oben das Dropdown-Menü „Modell auswählen“ oder den Tab „Model hub“, wählen Sie ein Modell und eine Quantisierung, die zu Ihrem Gerät passt, und laden Sie es dann herunter. Sobald der Download abgeschlossen ist, können Sie direkt chatten – keine Einrichtung erforderlich.

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FNCEVgKLJI0goPqjgcg9B%2Fmodel%20hub%20models.png?alt=media&amp;token=533b5e3c-a901-4b33-963e-4a703cc9d5a6" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Unsloth ist jetzt bereit

Um mit dem Chatten zu beginnen, geben Sie eine Nachricht ein und drücken Sie Enter.

* **Tools verbinden:** [Claude Code](/docs/de/grundlagen/claude-code.md), [Codex](/docs/de/grundlagen/codex.md), Websuche, [MCP](/docs/de/grundlagen/mcp.md) und mehr
* **Modelle trainieren:** Text, Diffusion, Embeddings und mehr feinabstimmen
* **Medien generieren:** Bilder, Video, TTS lokal erstellen und trainieren

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FpAGvwjGD0iVMZKBoyu7m%2Fgreeennn.png?alt=media&amp;token=d17a5528-8375-444c-9aff-f9e9f7903bcd" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Anleitung zum Laden von Modellen und zur API

{% stepper %}
{% step %}

#### Modell auswählen

Bevor Sie die API verwenden, laden Sie ein Modell aus dem **Modell auswählen** Dropdown-Menü oben links auf der Chat-Seite.

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FuZqd6tcZ5LgMSh4ZND5x%2Fexport-1778505117710-24fps.gif?alt=media&amp;token=9defec95-5404-4654-9c33-67be967c9820" alt=""><figcaption></figcaption></figure>

In dieser Anleitung verwenden wir: `unsloth/gemma-4-26B-A4B-it-GGUF` mit der empfohlenen `UD-Q4_K_XL` Quantisierung.
{% endstep %}

{% step %}

#### Modell testen

Bevor Sie den Client verwenden, senden Sie eine kurze Nachricht:

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F2Ivilke0aJX8AHWDwSmr%2Fimage.png?alt=media&amp;token=9f9380b9-f963-4861-a17b-fd0fe16684d4" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Dies bestätigt, dass das Modell korrekt geladen wurde und bereit ist zu antworten.
{% endhint %}
{% endstep %}

{% step %}

#### **Unsloth-API-Schlüssel**

Öffnen Sie in Unsloth **Einstellungen → API** um Ihren API-Schlüssel anzuzeigen oder zu erstellen. Wenn Sie Unsloth headless mit `unsloth run`starten, wird der Schlüssel auch in der Konsole als `sk-unsloth-...`.

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FAZwaRmBVPpXA2SFhMGW9%2Fexport-1778506924396-30fps.gif?alt=media&amp;token=96f3f1a7-fce4-4508-b1b0-e8b6294dc423" alt=""><figcaption></figcaption></figure>

Behandeln Sie Ihren API-Schlüssel wie ein Passwort und vermeiden Sie es, ihn in Screenshots oder Repositories offenzulegen.
{% endstep %}
{% endstepper %}

### Optional: Laufzeiteinstellungen anpassen

Sie können beim Starten eines Modells mit zusätzlichen Laufzeitoptionen `unsloth run`.

```bash
# Reasoning aktivieren und ein größeres Kontextfenster verwenden
unsloth run \
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  --reasoning on \
  -c 131072
```

Reasoning-fähige Modelle können mit `--reasoning on` oder `--reasoning off`gestartet werden. Der `-c` Schalter steuert das verfügbare Kontextfenster.

```bash
# Für einen Coding-Agenten auf einem benutzerdefinierten Port bereitstellen
unsloth run \
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  --disable-tools \
  -p 8888
```

Verwende `-p` wenn die API auf einem anderen Port laufen soll.

{% hint style="info" %}
Wenn Sie einen externen Coding-Agenten steuern, fügen Sie `--disable-tools`hinzu. Dadurch schaltet Unsloth Studio auf Passthrough um, sodass die eigenen Tools des Agents weitergeleitet und als Tool-Aufrufe an den Agenten zurückgegeben werden, damit er sie ausführt, anstatt dass Unsloth seine eingebauten Tools serverseitig ausführt.
{% endhint %}

Für eine erweiterte Laufzeitkonfiguration siehe den Hauptabschnitt [API-Tuning](https://unsloth.ai/docs/basics/api#unsloth-run-command) .

## ⚙️ Codex verbinden

Jetzt, da wir das lokale LLM für Codex eingerichtet haben, konfigurieren wir Codex so, dass er mit Ihrem Tool funktioniert. Sie können die Verbindung entweder einfach über `unsloth start` unten herstellen oder sie [manuell](#connect-manually).

### ⚡ OpenAI Codex ausführen mit `unsloth start`

Um Codex direkt mit einem Modell zu starten, führen Sie aus:

```bash
unsloth start Code \
    --model unsloth/qwen3.8-27B-GGUF-GGUF:UD-Q4_K_XL
    --temp 1.0 \
    --top-p 0.95 \
    --top-k 20 \
    --min-p 0.0 \
    --reasoning-effort medium
```

{% hint style="success" %}
Wenn keine Einstellungen-/Sampling-Flags gesetzt sind, wählt Unsloth automatisch die besten/empfohlenen Einstellungen für das Modell aus, einschließlich Kontextlänge, Temperatur usw.
{% endhint %}

Wenn in Unsloth Studio ein GGUF-Modell geladen ist, öffnen Sie Ihren Projektordner und führen Sie aus:

```bash
unsloth start codex
```

Unsloth erstellt für den Start ein isoliertes Codex-Home und einen von Unsloth unterstützten Responses-Provider. Ihre normale `~/.codex` Konfiguration bleibt unberührt.

Der Codex-Zustand ist standardmäßig temporär. Verwenden Sie `--persist` wenn Sie seine von Unsloth verwaltete Konfiguration und Sitzungen beibehalten möchten:

```bash
unsloth start codex --persist
unsloth start codex --persist resume --last
```

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FzXhTRRhKnT7tc5A4su0w%2FScreenshot_20260714_150727.png?alt=media&amp;token=1ad76079-1127-443e-8e2b-96545269003e" alt="OpenAI Codex running with a local GGUF model through Unsloth Studio"><figcaption><p>Codex, verbunden mit einem lokalen GGUF-Modell über den Unsloth-Studio-Responses-Endpunkt.</p></figcaption></figure>

> Codex benötigt derzeit ein GGUF-Modell, das über den `llama-server` bereitgestellt wird.

Siehe die vollständige `unsloth start` Referenz für das Laden von Modellen, Persistenz und alle Wrapper-Optionen.

Der Rest dieser Anleitung behandelt eine vollständig manuelle Einrichtung des Codex-Providers.

#### 🔌 Manuell verbinden

Dieser Abschnitt ist für die manuelle Einrichtung gedacht; er ist derselbe, egal ob Sie Unsloth Studio, llama.cpp oder einen anderen OpenAI-kompatiblen lokalen Server verwendet haben. Codex benötigt drei Werte: den **API-Schlüssel**, die **Basis-URL**, und den **Modellnamen**. Das folgende Beispiel verwendet Unsloth Studio; für llama.cpp verwenden Sie dieselbe Struktur mit dem `llama_cpp` Profil im Abschnitt zu llama.cpp.

{% stepper %}
{% step %}

#### **Den Unsloth-Provider konfigurieren**

Codex sucht nach `~/.codex/config.toml` unter macOS/Linux/WSL oder `%USERPROFILE%\.codex\config.toml` unter Windows. Erstellen oder bearbeiten Sie die Datei:

{% code title="\~/.codex/config.toml" overflow="wrap" %}

```toml
# Standard-Lokal-Provider, verwendet mit `codex --oss`
oss_provider = "unsloth_api"

[model_providers.unsloth_api]
name                  = "Unsloth Studio"
base_url              = "http://localhost:8888/v1"
env_key               = "UNSLOTH_STUDIO_AUTH_TOKEN"
wire_api              = "responses"
requires_openai_auth  = false
```

{% endcode %}

Erstellen Sie als Nächstes ein Codex-Profil für Unsloth:

{% code title="\~/.codex/unsloth\_api.config.toml" overflow="wrap" %}

```toml
model_provider = "unsloth_api"
model = "unsloth/gemma-4-26B-A4B-it-GGUF"
```

{% endcode %}

{% hint style="info" %}
`Modell` muss mit der ID übereinstimmen, die Ihr Server unter `GET http://localhost:8888/v1/models`zurückgibt. Unsloth Studio stellt die vollständige Repo-ID bereit (zum Beispiel `unsloth/gemma-4-26B-A4B-it-GGUF`). Der folgende Abschnitt zu llama.cpp verwendet `--alias "unsloth/gemma-4-26B-A4B"`verwenden Sie also stattdessen diese kürzere ID, wenn Sie Codex auf den llama-server ausrichten.
{% endhint %}

{% hint style="info" %}
Diese Konfiguration registriert einen `unsloth_api` Codex-Modellanbieter, verweist ihn auf Unsloth Studio und setzt `unsloth_api` als Standard-Lokal-Provider für `codex --oss`. Das separate `unsloth_api` Profil wählt den Unsloth-Provider und das Modell nur aus, wenn Sie Codex mit `--profile unsloth_api`starten, sodass Ihre normale Codex-Einrichtung nicht geändert wird. Codex liest den API-Schlüssel aus einer Umgebungsvariable namens `UNSLOTH_STUDIO_AUTH_TOKEN`. Den echten Schlüssel setzen Sie im nächsten Schritt.
{% endhint %}

| Feld                   | Was es tut                                                                                                                                               |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `base_url`             | Ihr lokaler Server-Endpunkt + `/v1`                                                                                                                      |
| `env_key`              | **Name** der Umgebungsvariable, aus der Codex Ihren API-Schlüssel liest. Das ist nicht der Schlüssel selbst.                                             |
| `wire_api`             | `responses`. Codex verwendet jetzt ausschließlich OpenAIs Responses API.                                                                                 |
| `requires_openai_auth` | `false` lässt Codex den Bildschirm „Mit ChatGPT anmelden“ für diesen Provider überspringen. Standard ist bereits `false`, aber geben Sie es explizit an. |
| `Modell`               | Die Modell-ID, die Ihr Server bereitstellt. Rufen Sie `GET <base_url>/models` auf, um die genaue Zeichenfolge zu bestätigen.                             |
| `oss_provider`         | <p>Legt <code>unsloth\_api</code> als Standard-Lokal-Provider fest, wenn Codex mit<br><code>--oss</code>.</p>                                            |
| `requires_openai_auth` | `false` gestartet wird, lässt Codex den Bildschirm „Mit ChatGPT anmelden“ für diesen Provider überspringen.                                              |

{% hint style="warning" %}
OpenAI hat `wire_api = "chat"` entfernt. Verwenden Sie immer `wire_api = "responses"`. Wenn Sie `wire_api = "chat"`setzen, verweigert Codex den Start mit `` `wire_api = "chat"` wird nicht mehr unterstützt. So beheben Sie das: Setzen Sie `wire_api = "responses"` in Ihrer Provider-Konfiguration. ``
{% endhint %}

{% hint style="info" %}
Sie können mehrere Profildateien erstellen, eine für jedes Unsloth-Modell, zwischen dem Sie wechseln. Starten Sie das gewünschte mit `codex --profile <profilname>`.
{% endhint %}
{% endstep %}

{% step %}

#### Die API-Schlüssel-Umgebungsvariable setzen

Verwenden Sie denselben Namen der Umgebungsvariable, den Sie in `env_key`angegeben haben. Im obigen Unsloth-Studio-Beispiel `env_key = "UNSLOTH_STUDIO_AUTH_TOKEN"`, also setzen Sie `UNSLOTH_STUDIO_AUTH_TOKEN` im selben Terminal, von dem aus Sie Codex ausführen werden:

{% code title="MacOS / Linux / WSL" %}

```bash
export UNSLOTH_STUDIO_AUTH_TOKEN=YOUR_TOKEN
```

{% endcode %}

{% code title="Windows PowerShell" %}

```powershell
$env:UNSLOTH_STUDIO_AUTH_TOKEN = "YOUR_TOKEN"
```

{% endcode %}

Wenn Sie `env_key`umbenannt haben, benennen Sie die Variable auch in den Befehlen um. Ein llama.cpp-Profil, das zum Beispiel `env_key = "LLAMA_CPP_API_KEY"` verwendet, benötigt `LLAMA_CPP_API_KEY`und nicht `UNSLOTH_STUDIO_AUTH_TOKEN`.

**Sitzung vs. dauerhaft:** die obigen Befehle gelten nur für das aktuelle Terminal. Um sie dauerhaft zu machen:

* **MacOS / Linux / WSL:** fügen Sie die `export` Zeile zu `~/.bashrc` (bash) oder `~/.zshrc` (zsh) hinzu.
* **Windows:** führen Sie `setx UNSLOTH_STUDIO_AUTH_TOKEN "YOUR_TOKEN"` einmal aus oder fügen Sie die `$env:` Zeile zu Ihrem PowerShell- `$PROFILE`.

{% hint style="warning" %}
**Codex in WSL mit Unsloth unter Windows ausführen?** WSL ist ein eigener Netzwerk-Namespace, daher erreicht `localhost` aus WSL heraus Unsloth nicht. Bearbeiten Sie Ihre `config.toml` und verwenden Sie stattdessen die IP des Windows-Hosts:

```bash
# Windows-Host-IP aus WSL abrufen
ip route | grep default | awk '{print $3}'
```

Dann setzen Sie `base_url = "http://<that-ip>:8888/v1"`. Wenn Sie das WSL2-Mirroring-Netzwerk aktiviert haben (`.wslconfig` → `networkingMode=mirrored`), `localhost` funktioniert es wie unter nativem Windows.
{% endhint %}
{% endstep %}

{% step %}

#### **Codex starten**

```bash
mkdir my-project && cd my-project
codex --oss --profile unsloth_api
```

{% hint style="info" %}
**Erster Start in einem neuen Verzeichnis** Codex fragt *"Vertrauen Sie dem Inhalt dieses Verzeichnisses?"* - wählen Sie *Ja, fortfahren.* Das ist die Vertrauensabfrage pro Arbeitsverzeichnis, nicht der ChatGPT-Login (der wird wegen \`requires\_openai\_auth = false\` übersprungen). Weitere Starts im selben Verzeichnis überspringen diese Abfrage.
{% endhint %}

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FWLWGwxYFup5JCptPghfx%2Fimage.png?alt=media&amp;token=e47961e9-20b6-4ec7-adec-919c819dc740" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Anzeige `Modellmetadaten für` unsloth/gemma-4-26B-A4B `nicht gefunden. Auf Fallback-Metadaten umgestellt`?** Codex wird mit einer eingebauten Tabelle von Kontextfenstern, Tool-Unterstützung und Eingabemodalitäten für OpenAIs eigene Modelle ausgeliefert. Für alles andere wird auf sichere Standardwerte zurückgegriffen. Die Warnung erscheint pro Sitzung einmal für jeden Nicht-OpenAI-Slug. Alles funktioniert weiterhin, Sie können sie ignorieren.

**So beheben Sie es:** fügen Sie `model_context_window = 131072` oben zu `~/.codex/config.toml` hinzu, damit Codex Gemma 4s echte 128K-Kontextlänge statt seiner Fallback-Schätzung verwendet. Für vollständige Kontrolle über Tool-Unterstützung und Eingabemodalitäten zeigen Sie `model_catalog_json` innerhalb von `[profiles.unsloth_api]` auf eine JSON-Datei mit einer benutzerdefinierten `ModelInfo` Eintrag für deinen Slug.
{% endhint %}

Die `--profile unsloth_api` Der Schalter weist Codex an, zu laden `~/.codex/unsloth_api.config.toml`, wodurch der Unsloth-Studio-Anbieter und das Modell ausgewählt werden. Füge `--oss` hinzu, um den lokalen OSS-Provider-Flow von Codex auszuführen. Der Modellname erscheint in der Statusleiste von Codex.

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F0EDBeLBbGfnBbW2Osnh9%2Fimage.png?alt=media&amp;token=e96a4905-5816-4c12-bd4d-a3a41500ef29" alt=""><figcaption></figcaption></figure>

Füge `--search` hinzu, um die Websuche zu aktivieren:

```bash
codex --oss --profile unsloth_api --search
```

Um alle Genehmigungsaufforderungen zu umgehen **(ACHTUNG: Dadurch führt Codex Code aus und setzt ihn nach Belieben um, ganz ohne Genehmigungen!)**:

{% code overflow="wrap" %}

```bash
codex --oss --profile unsloth_api --search --dangerously-bypass-approvals-and-sandbox
```

{% endcode %}
{% endstep %}
{% endstepper %}

### Probiere eine echte Aufgabe

Probiere diesen Prompt, um ein einfaches Unsloth-Finetuning zu installieren und auszuführen:

{% code overflow="wrap" %}

```
Du kannst nur im cwd project/ arbeiten. Suche nicht nach AGENTS.md - das ist es.
Installiere Unsloth über eine virtuelle Umgebung mit uv. Siehe
https://unsloth.ai/docs/get-started/install/pip-install für die Vorgehensweise (hole sie dir und lies sie).
Führe dann einen einfachen Unsloth-Finetuning-Lauf aus, der beschrieben wird in
https://github.com/unslothai/unsloth. Du hast Zugriff auf 1 GPU.
```

{% endcode %}

und wenn wir etwas länger warten, wirst du ein erfolgreich feinabgestimmtes Modell mit Unsloth sehen!

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FFPuzCCHWIIXwuvTloNDh%2Fexport-1778571001272-30fps.gif?alt=media&amp;token=2bcaeaf1-a906-4169-b4ac-f17388ebaebb" alt=""><figcaption></figcaption></figure>

### Trennen oder zurücksetzen

Starte Codex ohne `-p unsloth_api` und es verwendet seinen Standardanbieter. Oder lösche die `[profiles.unsloth_api]` und `[model_providers.unsloth_api]` Blöcke aus `~/.codex/config.toml`.

```bash
unset UNSLOTH_STUDIO_AUTH_TOKEN
```

Du kannst Unsloth Studio weiter laufen lassen oder herunterfahren. Im gestoppten Zustand fängt es nichts ab.

### Fehlerbehebung

| Symptom                                              | Wahrscheinliche Ursache                                                                 | Lösung                                                                                                                                     |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `Modell-Metadaten für ... nicht gefunden`            | Nicht-OpenAI-Slug, keine integrierten Metadaten                                         | Unbedenkliche Warnung. Um die Nebeneffekte stummzuschalten, setze `model_context_window = 131072` in `~/.codex/config.toml`, oder verweise |
| Codex sagt, es sei GPT                               | Codex fügt einen auf OpenAI verweisenden System-Prompt ein; lokale Modelle spiegeln ihn | Kein Routing-Fehler. Überprüfe es über das Aktivitätsfeld von Unsloth. Überschreibe den System-Prompt, um die Selbstangabe zu ändern.      |
| `Verbindung verweigert`                              | Unsloth läuft nicht oder falscher Port                                                  | Bestätige, dass Unsloth läuft unter `http://localhost:8888`; prüfe `base_url` in `config.toml`                                             |
| `wire_api = "chat" wird nicht mehr unterstützt`      | Veraltet `wire_api = "chat"` in der Konfiguration                                       | Wechsle zu `wire_api = "responses"`                                                                                                        |
| `Modell nicht gefunden`                              | Tippfehler in der Modell-ID                                                             | `GET http://localhost:8888/v1/models` und kopiere die genaue ID                                                                            |
| OOM mitten in der Generierung                        | Kontext zu groß für den VRAM                                                            | Reduziere den Kontext in Unsloth **Einstellungen → Inferenz**, oder verwende eine kleinere Quantisierung                                   |
| Codex zeigt den Auswahldialog „Mit ChatGPT anmelden“ | <p>Nackt gestartet <code>codex</code> (kein<br><code>--oss</code>)</p>                  | Beenden (Strg+C), dann neu starten mit `codex --oss --profile unsloth_api`. Benutzerdefinierte Anbieter überspringen das                   |
| Werkzeugaufrufe unzuverlässig                        | Benötigt selbstheilenden Fallback                                                       | Unsloths [selbstheilende Werkzeugaufrufe](file:///1382377/new/studio/#execute-code--heal-tool-calling) sind standardmäßig aktiviert        |
| WSL: `Verbindung verweigert` zu `localhost`          | WSL-Netzwerk-Namensraum                                                                 | Verwende die Windows-Host-IP in `base_url`, oder aktiviere das gespiegelte WSL2-Netzwerk                                                   |

## 🦙 Llama.cpp-Tutorial

Wir können auch `llama.cpp` direkt verwenden. Wir müssen `llama-server` bereitstellen, ein Open-Source-Framework zum effizienten Ausführen und Bereitstellen von LLMs auf Mac-, Linux- und Windows-Geräten. Das Modell wird bereitgestellt auf **Port 8001** wobei alle Agenten-Werkzeugaufrufe über diesen einzelnen OpenAI-kompatiblen Endpunkt geleitet werden.

{% hint style="info" %}
Der llama.cpp-Endpunkt wird auf **Port 8001** statt `8888` (Standard von Unsloth Studio). Passe dein Codex `base_url` entsprechend in `~/.codex/config.toml`.
{% endhint %}

{% stepper %}
{% step %}

#### **llama.cpp installieren**

Wir müssen `llama.cpp` installieren, um lokale LLMs für Codex bereitzustellen/zu bedienen. Wir folgen den offiziellen Build-Anweisungen für korrekte GPU-Bindings und maximale Leistung. Ändere `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn du keine GPU hast oder nur CPU-Inferenz möchtest. **Für Apple Mac / Metal-Geräte**, setze `-DGGML_CUDA=OFF` und fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev git-all -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first \
    --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endstep %}

{% step %}

#### **Modelle lokal herunterladen und verwenden**

Lade das Modell über die `hf` CLI (`pip install huggingface_hub hf_transfer`). Wir verwenden die **UD-Q4\_K\_XL** Quantisierung für das beste Verhältnis von Größe und Genauigkeit. Du findest alle Unsloth-GGUF-Uploads in unserer [Sammlung hier](file:///1382377/get-started/unsloth-model-catalog.md). Wenn Downloads hängen bleiben, siehe [https://hugging-face-hub-xet-debugging.md](https://hugging-face-hub-xet-debugging.md "mention").

```bash
hf download unsloth/gemma-4-26B-A4B-it-GGUF \
    --local-dir unsloth/gemma-4-26B-A4B-it-GGUF \
    --include "*UD-Q4_K_XL*"
```

{% hint style="info" %}
**Willst du Vision-Unterstützung?** Füge `--include "*mmproj-BF16*"` um auch den Vision-Projektor herunterzuladen, und übergib dann `--mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf` zu `llama-server`. Codex selbst ist nur textbasiert, also ist das optional.
{% endhint %}

{% hint style="success" %}
Wir haben `unsloth/gemma-4-26B-A4B-it-GGUF`, aber du kannst alles verwenden wie `unsloth/Qwen3.6-35B-A3B-GGUF` - siehe [Qwen3.6-35B-A3B](/docs/de/modelle/qwen3.6.md).
{% endhint %}
{% endstep %}

{% step %}

#### **Starte den Llama-Server**

Um Gemma-4-26B-A4B für agentische Workloads bereitzustellen, verwenden wir `llama-server`. Wir wenden Googles empfohlene Sampling-Parameter an (`temp 1.0`, `top_p 0.95`, `top_k 64`) und aktivieren `--jinja` für ordnungsgemäße Unterstützung bei Werkzeugaufrufen.

Führe diesen Befehl in einem neuen Terminal aus (verwende `tmux` oder öffne ein neues Terminal). Das Folgende sollte **bequem in eine 24-GB-GPU (RTX 4090) passen** bei etwa 18 GB. `--fit on` wird ebenfalls automatisch auslagern, aber wenn du schlechte Leistung siehst, reduziere `--ctx-size`.

```bash
./llama.cpp/llama-server \
    --model unsloth/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
    --alias "unsloth/gemma-4-26B-A4B" \
    --temp 1.0 \
    --top-p 0.95 \
    --top-k 64 \
    --port 8001 \
    --kv-unified \
    --cache-type-k q8_0 --cache-type-v q8_0 \
    --batch-size 4096 --ubatch-size 1024
```

{% hint style="info" %}
Wir haben `--cache-type-k q8_0 --cache-type-v q8_0` für die KV-Cache-Quantisierung, um den VRAM-Verbrauch zu reduzieren. Wenn du geringere Qualität siehst, verwende `bf16` stattdessen (`--cache-type-k bf16 --cache-type-v bf16`), aber der VRAM verdoppelt sich.
{% endhint %}

{% hint style="success" %}
**Das Deaktivieren des Denkmodus** kann die Leistung bei agentischen Programmieraufgaben verbessern. Gemma 4 aktiviert den Denkmodus standardmäßig über das Chat-Template – um ihn zu deaktivieren, füge dem llama-server-Befehl den folgenden Schalter hinzu:

**MacOS / Linux / WSL:**

`--chat-template-kwargs '{"enable_thinking":false}'`

**Windows PowerShell:**

`--chat-template-kwargs "{\"enable_thinking\":false}"`
{% endhint %}
{% endstep %}

{% step %}

#### **Richte Codex auf Port 8001 aus**

Bearbeite deine `~/.codex/config.toml` um den llama-server-Port zu verwenden:

{% code title="\~/.codex/config.toml" %}

```toml
[model_providers.llama_cpp]
name      = "llama.cpp"
base_url  = "http://localhost:8001/v1"
env_key   = "LLAMA_CPP_API_KEY"
wire_api  = "responses"
```

{% endcode %}

Dann starte mit dem neuen Profil:

```bash
codex --oss llama_cpp
```

Da llama-server keinen echten Schlüssel benötigt, kannst du das Auth-Token auf beliebig etwas setzen:

{% code title="MacOS / Linux / WSL" %}

```bash
export LLAMA_CPP_API_KEY=sk-no-key-required
```

{% endcode %}

{% code title="Windows PowerShell" %}

```powershell
$env:LLAMA_CPP_API_KEY = "sk-no-key-required"
```

{% endcode %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/de/grundlagen/codex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
