{"id":191,"date":"2026-10-07T09:17:26","date_gmt":"2026-10-07T05:17:26","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/10\/07\/opencode-deepseek\/"},"modified":"2026-10-07T09:17:26","modified_gmt":"2026-10-07T05:17:26","slug":"opencode-deepseek","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/de\/2026\/10\/07\/opencode-deepseek\/","title":{"rendered":"OpenCode installieren und DeepSeek verbinden"},"content":{"rendered":"<p>OpenCode ist ein offener Programmieragent, der direkt im Terminal l\u00e4uft. Es kann Projektdateien lesen, Code bearbeiten, Befehle und Tests ausf\u00fchren, das Repository durchsuchen und mit Git arbeiten \u2013 ungef\u00e4hr das Gleiche, was Claude Code und andere Konsolenagenten tun. Der Hauptunterschied besteht darin, dass OpenCode nicht an einen Modellanbieter gebunden ist: Dutzende Anbieter k\u00f6nnen dar\u00fcber angebunden werden, darunter auch DeepSeek. In diesem Beitrag beschreibe ich die Installation des Agenten und die Verbindung von DeepSeek damit.<\/p>\n<h2>Was Sie brauchen<\/h2>\n<p>Sie brauchen nur zwei Dinge, um zu funktionieren:<\/p>\n<ul>\n<li><b>Modernes Terminal.<\/b> WezTerm, Alacritty, Ghostty, Kitty oder jedes andere reicht aus.<\/li>\n<li><b>API-Schl\u00fcssel des Anbieters.<\/b> In unserem Fall DeepSeek.<\/li>\n<\/ul>\n<p>Node.js ist nicht erforderlich, wenn Sie den Agenten mit einem Standard-Installationsskript installieren \u2013 die Bin\u00e4rdatei kommt fertig an.<\/p>\n<h2>Installation<\/h2>\n<p>Der einfachste Weg ist das offizielle Installationsskript:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>curl -fsSL https:\/\/opencode.ai\/install | bash\n<\/code><\/pre>\n<\/div>\n<p>Es erkennt die Plattform selbst und legt die ausf\u00fchrbare Datei in PATH ab. Nach der Installation sollten Sie pr\u00fcfen, ob alles vorhanden ist:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>opencode --version\n<\/code><\/pre>\n<\/div>\n<p>Wenn der Befehl die Version anzeigt, war die Installation erfolgreich.<\/p>\n<h2>Installation mit anderen Methoden<\/h2>\n<p>Wenn Sie Paketmanager bevorzugen, gibt es mehrere M\u00f6glichkeiten. \u00dcber Node.js:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npm install -g opencode-ai\n<\/code><\/pre>\n<\/div>\n<p>Bun, pnpm und Yarn k\u00f6nnen dasselbe tun:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>bun install -g opencode-ai\npnpm install -g opencode-ai\nyarn global add opencode-ai\n<\/code><\/pre>\n<\/div>\n<p>macOS und Linux verf\u00fcgen \u00fcber Homebrew. Bitte beachten Sie: Es wird der Tipp der Entwickler empfohlen und nicht die offizielle Formel \u2013 sie wird seltener aktualisiert:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>brew install anomalyco\/tap\/opencode\n<\/code><\/pre>\n<\/div>\n<p>Unter Arch Linux:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo pacman -S opencode\nparu -S opencode-bin\n<\/code><\/pre>\n<\/div>\n<p>Der erste Befehl installiert die stabile Version aus dem Repository, der zweite die neueste aus dem AUR.<\/p>\n<h2>Installation unter Windows<\/h2>\n<p>Unter Windows empfiehlt es sich, \u00fcber WSL zu arbeiten: Dadurch ist die Leistung h\u00f6her und die Kompatibilit\u00e4t mit den F\u00e4higkeiten des Agenten ist vollst\u00e4ndig. Es gibt aber auch native Methoden. \u00dcber Chocolatey, Scoop oder npm:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>choco install opencode\nscoop install opencode\nnpm install -g opencode-ai\n<\/code><\/pre>\n<\/div>\n<p>Es gibt auch eine Option \u00fcber Mise sowie einen Docker-Container:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>mise use -g github:anomalyco\/opencode\ndocker run -it --rm ghcr.io\/anomalyco\/opencode\n<\/code><\/pre>\n<\/div>\n<p>Schlie\u00dflich kann die fertige Bin\u00e4rdatei jederzeit der Release-Seite auf GitHub entnommen werden.<\/p>\n<h2>DeepSeek-Taste<\/h2>\n<p>Der Schl\u00fcssel wird in Ihrem pers\u00f6nlichen DeepSeek-Konto erstellt. Gehen Sie zu platform.deepseek.com, \u00f6ffnen Sie den Abschnitt mit API-Schl\u00fcsseln und klicken Sie auf \u201eNeuen Schl\u00fcssel erstellen\u201c. Es ist besser, die resultierende Zeichenfolge sofort zu speichern: Sie wird nur einmal angezeigt.<\/p>\n<h2>DeepSeek-Verbindung<\/h2>\n<p>Dann wird alles im Agenten selbst erledigt. Starten Sie OpenCode im Terminal:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>opencode\n<\/code><\/pre>\n<\/div>\n<p>In der Schnittstelle f\u00fchren wir den Verbindungsbefehl aus:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>\/connect\n<\/code><\/pre>\n<\/div>\n<p>Suchen Sie in der Liste der Anbieter, die sich \u00f6ffnet, nach <b>DeepSeek<\/b>, w\u00e4hlen Sie es aus und geben Sie den API-Schl\u00fcssel ein. Auf diese Weise hinzugef\u00fcgte Schl\u00fcssel werden in einer Datei gespeichert:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>~\/.local\/share\/opencode\/auth.json\n<\/code><\/pre>\n<\/div>\n<p>Nach dem Verbinden m\u00fcssen Sie nur noch das Modell mit dem Befehl ausw\u00e4hlen:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>\/models\n<\/code><\/pre>\n<\/div>\n<p>DeepSeek-Modelle werden in der Liste verf\u00fcgbar sein, darunter <b>deepseek-v4-pro<\/b>, <b>deepseek-flash<\/b> und <b>deepseek-v4-flash<\/b>. F\u00fcr Routinearbeiten im Repository reicht die Flash-Option aus; Bei komplexen Aufgaben ist es sinnvoll, auf Pro umzusteigen.<\/p>\n<h2>Konfiguration \u00fcber config<\/h2>\n<p>Wenn Sie den Schl\u00fcssel nicht \u00fcber einen Master speichern m\u00f6chten oder Ihre eigene API-Adresse festlegen m\u00fcssen, wird der Anbieter direkt in der Konfigurationsdatei <b>opencode.json<\/b> beschrieben:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>{\n  \"$schema\": \"https:\/\/opencode.ai\/config.json\",\n  \"provider\": {\n    \"deepseek\": {\n      \"options\": {\n        \"baseURL\": \"https:\/\/api.deepseek.com\"\n      }\n    }\n  }\n}\n<\/code><\/pre>\n<\/div>\n<p>Das Feld <b>baseURL<\/b> ist n\u00fctzlich, wenn Sie \u00fcber einen Proxy oder Ihr eigenes Gateway gehen. In diesem Fall ist es praktisch, den Schl\u00fcssel selbst in eine Umgebungsvariable zu \u00fcbertragen:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>export DEEPSEEK_API_KEY=\u0432\u0430\u0448_\u043a\u043b\u044e\u0447_deepseek\nopencode\n<\/code><\/pre>\n<\/div>\n<p>Diese Option ist gut f\u00fcr CI und einmalige Starts: Der Schl\u00fcssel landet nicht im Speicher, sondern lebt nur in der Umgebung des Prozesses.<\/p>\n<h2>Erster Start im Projekt<\/h2>\n<p>Gehen Sie in das Projektverzeichnis und starten Sie den Agenten:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>cd \u0432\u0430\u0448_\u043f\u0440\u043e\u0435\u043a\u0442\nopencode\n<\/code><\/pre>\n<\/div>\n<p>Der erste Schritt besteht darin, es zu initialisieren:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>\/init\n<\/code><\/pre>\n<\/div>\n<p>OpenCode analysiert die Projektstruktur und erstellt eine Datei <b>AGENTS.md<\/b> \u2013 ein Analogon der Anweisungen f\u00fcr den Agenten. Es lohnt sich, diese Datei an Git zu \u00fcbergeben: Sie hilft dem Agenten, die im Projekt \u00fcbernommenen Konventionen und Muster zu verstehen.<\/p>\n<h2>So verwenden Sie es<\/h2>\n<p>Die Arbeit ist \u00e4hnlich aufgebaut wie bei anderen Agenten. Ein paar Tricks, die Sie sofort kennen sollten:<\/p>\n<ul>\n<li><b>Planungsmodus.<\/b> Die <b>Tabulatortaste<\/b> schaltet den Agenten zwischen Planungs- und Montagemodus um. Im ersten Schritt schl\u00e4gt er nur vor, wie das Problem gel\u00f6st werden kann, und \u00e4ndert nichts \u2013 es ist praktisch, die Idee zu \u00fcberpr\u00fcfen, bevor \u00c4nderungen vorgenommen werden.<\/li>\n<li><b>Links zu Dateien.<\/b> Die <b>@<\/b>-Taste \u00f6ffnet eine Fuzzy-Suche durch Projektdateien, um eine bestimmte Datei an den Agenten im Kontext zu \u00fcbertragen.<\/li>\n<li><b>\u00c4nderungen r\u00fcckg\u00e4ngig machen.<\/b> Der Befehl <b>\/undo<\/b> macht die letzten \u00c4nderungen r\u00fcckg\u00e4ngig und gibt die urspr\u00fcngliche Anfrage zur\u00fcck, <b>\/redo<\/b> gibt sie zur\u00fcck. Sie k\u00f6nnen mehrere Schritte hintereinander r\u00fcckg\u00e4ngig machen.<\/li>\n<li><b>Eine Konversation teilen.<\/b> Der Befehl <b>\/share<\/b> erstellt einen Link zur aktuellen Konversation und kopiert ihn in die Zwischenablage. Standardm\u00e4\u00dfig werden Konversationen nirgendwo ver\u00f6ffentlicht.<\/li>\n<\/ul>\n<p>F\u00fcr einfache \u00c4nderungen m\u00fcssen Sie nicht in den Planungsmodus wechseln, sondern beschreiben sofort, was zu tun ist und geben die Dateien per @ an.<\/p>\n<h2>Worauf Sie achten sollten<\/h2>\n<p>Ein paar praktische Punkte. F\u00fcr OpenCode ist kein Abonnement erforderlich: Sie bezahlen den Anbieter direkt, wenn Sie Token ausgeben, sodass lange Sitzungen mit DeepSeek vorhersehbar g\u00fcnstiger sind als bei Topmodellen. Der Schl\u00fcssel wird lokal in auth.json gespeichert \u2013 dies ist auf einem gemeinsam genutzten Computer eine \u00dcberlegung wert, aber f\u00fcr Umgebungen anderer Personen ist eine Umgebungsvariable zuverl\u00e4ssiger.<\/p>\n<p>Und noch etwas: Die Qualit\u00e4t der Antworten auf komplexe Architekturprobleme unterscheidet sich zwischen den Modellen verschiedener Klassen. Aus Designgr\u00fcnden ist es daher sinnvoll, ein st\u00e4rkeres Modell zu nehmen und die Routine durch ein schnelles und kosteng\u00fcnstiges Modell zu ersetzen.<\/p>\n<h2>Links<\/h2>\n<p><a href=\"https:\/\/opencode.ai\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/docs\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/docs\/providers\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/providers\/<\/a><br \/>\n<a href=\"https:\/\/github.com\/anomalyco\/opencode\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/anomalyco\/opencode<\/a><br \/>\n<a href=\"https:\/\/platform.deepseek.com\/api_keys\" rel=\"noopener\" target=\"_blank\">https:\/\/platform.deepseek.com\/api_keys<\/a><br \/>\n<a href=\"https:\/\/api-docs.deepseek.com\" rel=\"noopener\" target=\"_blank\">https:\/\/api-docs.deepseek.com<\/a><\/p>\n<h2>Quellen<\/h2>\n<p><a href=\"https:\/\/opencode.ai\/docs\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/docs\/providers\/#deepseek\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/providers\/#deepseek<\/a><br \/>\n<a href=\"https:\/\/github.com\/anomalyco\/opencode\/releases\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/anomalyco\/opencode\/releases<\/a><br \/>\n<a href=\"https:\/\/models.dev\/\" rel=\"noopener\" target=\"_blank\">https:\/\/models.dev\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenCode ist ein offener Programmieragent, der direkt im Terminal l\u00e4uft. Es kann Projektdateien lesen, Code bearbeiten, Befehle und Tests ausf\u00fchren, das Repository durchsuchen und mit Git arbeiten \u2013 ungef\u00e4hr das Gleiche, was Claude Code und andere Konsolenagenten tun. Der Hauptunterschied besteht darin, dass OpenCode nicht an einen Modellanbieter gebunden ist: Dutzende Anbieter k\u00f6nnen dar\u00fcber angebunden [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-191","post","type-post","status-publish","format-standard","hentry","category-notes"],"translation":{"provider":"WPGlobus","version":"3.0.6","language":"de","enabled_languages":["en","ru","zh","de","ja","fr","es","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"es":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":0,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/191\/revisions"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}