| --- |
| 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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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 |
| paru -S opencode-bin |
| ``` |
|
|
| |
|
|
| :::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. |
|
|
| --- |
| |
| |
|
|
| 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). |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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 |
| ``` |
|
|
| :::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. |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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 |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|