Buckets:
| title: Einführung | |
| description: Beginnen Sie mit OpenCode. | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| import config from "../../../../config.mjs" | |
| export const console = config.console | |
| [**OpenCode**](/) ist ein Open-Source-Coding-Agent für AI. Es ist als terminalbasierte Schnittstelle, Desktop-App oder IDE-Erweiterung verfügbar. | |
|  | |
| Fangen wir an. | |
| #### Voraussetzungen | |
| Um OpenCode in Ihrem Terminal verwenden zu können, benötigen Sie: | |
| 1. Ein moderner Terminal-Emulator, zum Beispiel: | |
| - [WezTerm](https://wezterm.org), cross-platform | |
| - [Alacritty](https://alacritty.org), plattformübergreifend | |
| - [Ghostty](https://ghostty.org), Linux und macOS | |
| - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux und macOS | |
| 2. API-Schlüssel für die LLM-Anbieter, die Sie verwenden möchten. | |
| ## Installation | |
| Der einfachste Weg, OpenCode zu installieren, ist über das Installationsskript. | |
| ```bash | |
| curl -fsSL https://opencode.ai/install | bash | |
| ``` | |
| Sie können es auch mit den folgenden Befehlen installieren: | |
| - **Mit Node.js** | |
| <Tabs> | |
| <TabItem label="npm"> | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Bun"> | |
| ```bash | |
| bun install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="pnpm"> | |
| ```bash | |
| pnpm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Yarn"> | |
| ```bash | |
| yarn global add opencode-ai | |
| ``` | |
| </TabItem> | |
| </Tabs> | |
| - **Homebrew unter macOS und Linux verwenden** | |
| ```bash | |
| brew install anomalyco/tap/opencode | |
| ``` | |
| > Wir empfehlen die Verwendung des OpenCode-Taps für die aktuellsten Versionen. Die offizielle `brew install opencode`-Formel wird vom Homebrew-Team gepflegt und seltener aktualisiert. | |
| - **Verwendung von Paru unter Arch Linux** | |
| ```bash | |
| sudo pacman -S opencode # Arch Linux (Stable) | |
| paru -S opencode-bin # Arch Linux (Latest from AUR) | |
| ``` | |
| #### Windows | |
| :::tip[Empfohlen: Verwenden Sie WSL] | |
| Für das beste Erlebnis unter Windows empfehlen wir die Verwendung von [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Es bietet eine bessere Leistung und vollständige Kompatibilität mit den Funktionen von OpenCode. | |
| ::: | |
| - **Verwendung von Chocolatey** | |
| ```bash | |
| choco install opencode | |
| ``` | |
| - **Scoop verwenden** | |
| ```bash | |
| scoop install opencode | |
| ``` | |
| - **Mit NPM** | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| - **Mit Mise** | |
| ```bash | |
| mise use -g github:anomalyco/opencode | |
| ``` | |
| - **Verwendung von Docker** | |
| ```bash | |
| docker run -it --rm ghcr.io/anomalyco/opencode | |
| ``` | |
| Die Unterstützung für die Installation von OpenCode unter Windows mit Bun ist derzeit in Arbeit. | |
| Sie können die Binärdatei auch aus [Releases](https://github.com/anomalyco/opencode/releases) abrufen. | |
| ## Konfiguration | |
| Mit OpenCode können Sie jeden LLM-Anbieter verwenden, indem Sie dessen API-Schlüssel konfigurieren. | |
| Wenn Sie mit der Verwendung von LLM-Anbietern noch nicht vertraut sind, empfehlen wir die Verwendung von [OpenCode Zen](/docs/zen). | |
| Es handelt sich um eine kuratierte Liste von Modellen, die vom OpenCode Team getestet und verifiziert wurden. | |
| 1. Führen Sie den Befehl `/connect` in TUI aus, wählen Sie OpenCode aus und gehen Sie zu [opencode.ai/auth](https://opencode.ai/auth). | |
| ```txt | |
| /connect | |
| ``` | |
| 2. Melden Sie sich an, geben Sie Ihre Rechnungsdaten ein und kopieren Sie Ihren API-Schlüssel. | |
| 3. Fügen Sie Ihren API-Schlüssel ein. | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| Alternativ können Sie auch einen der anderen Anbieter auswählen. [Mehr erfahren](/docs/providers#directory). | |
| ## Initialisierung | |
| Nachdem Sie nun einen Anbieter konfiguriert haben, können Sie zu einem Projekt navigieren | |
| an dem Sie arbeiten möchten. | |
| ```bash | |
| cd /path/to/project | |
| ``` | |
| Und führen Sie OpenCode aus. | |
| ```bash | |
| opencode | |
| ``` | |
| Als nächstes initialisieren Sie OpenCode für das Projekt, indem Sie den folgenden Befehl ausführen. | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| Dadurch wird OpenCode dazu veranlasst, Ihr Projekt zu analysieren und eine `AGENTS.md`-Datei im Projektstammverzeichnis zu erstellen. | |
| :::tip | |
| Sie sollten die `AGENTS.md`-Datei Ihres Projekts an Git übergeben. | |
| ::: | |
| Dies hilft OpenCode, die Projektstruktur und die Codierungsmuster zu verstehen | |
| die verwendet werden. | |
| ## Verwendung | |
| Sie können nun OpenCode verwenden, um an Ihrem Projekt zu arbeiten. Fragen Sie ruhig nach | |
| allem! | |
| Wenn Sie mit der Verwendung eines AI-Codierungsagenten noch nicht vertraut sind, finden Sie hier einige Beispiele, die hilfreich sein könnten. | |
| ### Fragen stellen | |
| Sie können OpenCode bitten, Ihnen die Codebasis zu erklären. | |
| :::tip | |
| Verwenden Sie die Taste `@`, um eine Fuzzy-Suche nach Dateien im Projekt durchzuführen. | |
| ::: | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| How is authentication handled in @packages/functions/src/api/index.ts | |
| ``` | |
| Dies ist hilfreich, wenn es einen Teil der Codebasis gibt, an dem Sie nicht gearbeitet haben. | |
| ### Funktionen hinzufügen | |
| Sie können OpenCode bitten, Ihrem Projekt neue Funktionen hinzuzufügen. Wir empfehlen jedoch, es zunächst um die Erstellung eines Plans zu bitten. | |
| 1. **Erstellen Sie einen Plan** | |
| OpenCode verfügt über einen _Plan Mode_, der seine Fähigkeit, Änderungen vorzunehmen, deaktiviert | |
| Schlagen Sie stattdessen vor, wie die Funktion implementiert wird. | |
| Wechseln Sie mit der **Tabulatortaste** dorthin. In der unteren rechten Ecke sehen Sie einen Indikator dafür. | |
| ```bash frame="none" title="In den Plan-Modus wechseln" | |
| <TAB> | |
| ``` | |
| Beschreiben wir nun, was es tun soll. | |
| ```txt frame="none" | |
| When a user deletes a note, we'd like to flag it as deleted in the database. | |
| Then create a screen that shows all the recently deleted notes. | |
| From this screen, the user can undelete a note or permanently delete it. | |
| ``` | |
| Sie möchten OpenCode genügend Details geben, um zu verstehen, was Sie wollen. Es hilft | |
| mit ihm zu sprechen, als ob Sie mit einem Junior-Entwickler in Ihrem Team sprechen würden. | |
| :::tip | |
| Geben Sie OpenCode reichlich Kontext und Beispiele, damit es versteht, was Sie | |
| wollen. | |
| ::: | |
| 2. **Den Plan überarbeiten** | |
| Sobald Sie einen Plan erhalten, können Sie ihm Feedback geben oder weitere Details hinzufügen. | |
| ```txt frame="none" | |
| We'd like to design this new screen using a design I've used before. | |
| [Image #1] Take a look at this image and use it as a reference. | |
| ``` | |
| :::tip | |
| Ziehen Sie Bilder per Drag-and-Drop in das Terminal, um sie zur Eingabeaufforderung hinzuzufügen. | |
| ::: | |
| OpenCode kann alle von Ihnen bereitgestellten Bilder scannen und zur Eingabeaufforderung hinzufügen. Du kannst | |
| Ziehen Sie dazu ein Bild per Drag & Drop in das Terminal. | |
| 3. **Funktion erstellen** | |
| Wenn Sie mit dem Plan zufrieden sind, wechseln Sie zurück in den _Build Mode_ | |
| indem Sie erneut die **Tabulatortaste** drücken. | |
| ```bash frame="none" | |
| <TAB> | |
| ``` | |
| Und es bitten, die Änderungen vorzunehmen. | |
| ```bash frame="none" | |
| Sounds good! Go ahead and make the changes. | |
| ``` | |
| ### Änderungen vornehmen | |
| Für einfachere Änderungen können Sie OpenCode bitten, es direkt zu erstellen | |
| ohne den Plan vorher überprüfen zu müssen. | |
| ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" | |
| We need to add authentication to the /settings route. Take a look at how this is | |
| handled in the /notes route in @packages/functions/src/notes.ts and implement | |
| the same logic in @packages/functions/src/settings.ts | |
| ``` | |
| Sie möchten sicherstellen, dass Sie viele Details bereitstellen, damit OpenCode die richtigen | |
| Änderungen vornimmt. | |
| ### Änderungen rückgängig machen | |
| Nehmen wir an, Sie bitten OpenCode, einige Änderungen vorzunehmen. | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| Aber Sie erkennen, dass es nicht das ist, was Sie wollten. Sie können die Änderungen **rückgängig machen** | |
| mit dem Befehl `/undo`. | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| OpenCode macht nun die von Ihnen vorgenommenen Änderungen rückgängig und zeigt Ihre ursprüngliche Nachricht | |
| wieder an. | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| Von hier aus können Sie die Eingabeaufforderung anpassen und OpenCode bitten, es erneut zu versuchen. | |
| :::tip | |
| Sie können `/undo` mehrmals ausführen, um mehrere Änderungen rückgängig zu machen. | |
| ::: | |
| Oder Sie **können** die Änderungen mit dem Befehl `/redo` wiederholen. | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| ## Teilen | |
| Die Gespräche, die Sie mit OpenCode führen, können [mit Ihrem Team](/docs/share) geteilt werden. | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| Dadurch wird ein Link zur aktuellen Konversation erstellt und in Ihre Zwischenablage kopiert. | |
| :::note | |
| Gespräche werden standardmäßig nicht geteilt. | |
| ::: | |
| Hier ist ein [Beispielgespräch](https://opencode.ai/s/4XP1fce5) mit OpenCode. | |
| ## Anpassung | |
| Und das ist es! Sie sind jetzt ein Profi im Umgang mit OpenCode. | |
| Um es zu Ihrem eigenen zu machen, empfehlen wir [ein Theme auszuwählen](/docs/themes), [Keybinds anzupassen](/docs/keybinds), [Code-Formatter zu konfigurieren](/docs/formatters), [eigene Commands zu erstellen](/docs/commands) oder mit der [OpenCode-Konfiguration](/docs/config) zu experimentieren. | |
Xet Storage Details
- Size:
- 9.64 kB
- Xet hash:
- ce805ce2220c7827fdd0236f2d18822f11653982c97e247cca7cac3804327a77
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.