ProjektĂŒbersicht
DeepSeek-Reasonix ist ein terminalorientierter KI-Coding-Agent. Er ist nicht einfach nur eine Chat-CLI, sondern organisiert Modell, Tools, Plugins, Projektkontext und GenehmigungsablÀufe zu einer konfigurierbaren lokalen Agent-Engine.
Seine drei Kernmerkmale sind: Erstens ist er standardmĂ€Ăig auf lange Sitzungen mit DeepSeek optimiert und legt besonderen Wert auf Prefix Cache, damit die Token-Kosten bei fortlaufenden Entwicklungsaufgaben niedriger bleiben; zweitens sind Provider, Modelle, Tools und Plugins in reasonix.toml definiert und nicht hart im Programm codiert; drittens wird er als einzelne Go-BinĂ€rdatei ausgeliefert, sodass CLI/TUI, Desktop-Client und VS-Code-Erweiterung dieselbe Reasonix-Engine wiederverwenden können.
In diesem Artikel bauen wir gemeinsam eine minimale Praxisumgebung auf: Reasonix installieren, den DeepSeek-API-Key konfigurieren, Projektanweisungen initialisieren, eine Code-Ănderungsaufgabe ausfĂŒhren und anschlieĂend ein OpenAI-kompatibles Gateway anbinden. Am Ende wirst du wissen: Wann es sinnvoll ist, DeepSeek direkt zu verwenden, und wann es komfortabler ist, Defapi als einheitliche Schnittstelle einzusetzen.
Schwierigkeitsgrad: Mittel | Dauer: 20â40 Minuten | Ergebnis: DeepSeek-Reasonix zum Laufen bringen und verstehen, wie konfigurationsgetriebene Steuerung, Projektanweisungen, Zwei-Modell-Zusammenarbeit und die Anbindung kostengĂŒnstiger Schnittstellen funktionieren
Zielgruppe
- Entwickler, die mit DeepSeek einen kostengĂŒnstigen Programmier-Agenten aufbauen möchten
- Ingenieure, die hĂ€ufig im Terminal Code Ă€ndern und sich einen lokalen KI-Assistenten wĂŒnschen
- Personen, die KI-Agenten in Team-Codebasen integrieren möchten, dabei aber die Token-Kosten im Blick behalten
- Nutzer, die bereits Claude Code, Codex oder OpenClaw verwendet haben und das DeepSeek-Ăkosystem vergleichen möchten
KernabhÀngigkeiten und Umgebung
| AbhÀngigkeit | Mindestempfehlung | Beschreibung |
|---|---|---|
| Node.js | 18+ | FĂŒr die Installation von Reasonix als natives Binary via npm |
| npm | 9+ | ZustĂ€ndig fĂŒr die globale Installation von reasonix |
| DeepSeek API Key | erforderlich | FĂŒr den Standard-Provider |
| Git | 2.40+ | Hilft dem Agenten, CodeÀnderungen zu erkennen |
| Go | 1.22+ | Nur beim Bauen aus dem Quellcode nötig |
| Windows/macOS/Linux | alle unterstĂŒtzt | Offizielle BinĂ€rdateien fĂŒr mehrere Plattformen verfĂŒgbar |
TIP
Wenn du nur CLI/TUI nutzt, musst du Go nicht installieren. Go wird nur benötigt, wenn du Reasonix aus dem Quellcode bauen oder zum Projekt beitragen möchtest.
VollstÀndiger Projektstrukturbaum
Wir bereiten ein minimales Demo-Projekt vor:
reasonix-agent-demo/
âââ .env.example
âââ reasonix.toml
âââ REASONIX.md
âââ tasks/
â âââ bugfix.md
âââ demo-app/
âââ package.json
âââ src/
âââ price.ts
1. Reasonix CLI installieren
Der einfachste Weg ist die Installation ĂŒber npm:
npm i -g reasonix
Installation ĂŒberprĂŒfen:
reasonix --version
Wenn du macOS verwendest, kannst du auch Homebrew nutzen:
brew install esengine/reasonix/reasonix
Windows-Nutzern wird empfohlen, PowerShell oder Windows Terminal zu verwenden:
npm i -g reasonix
reasonix --version
WARNING
Wenn das globale npm-Installationsverzeichnis nicht in PATH enthalten ist, kann es trotz erfolgreicher Installation vorkommen, dass reasonix nicht gefunden wird. PrĂŒfe in diesem Fall zuerst mit npm config get prefix das globale Installationsverzeichnis und fĂŒge dann das entsprechende bin-Verzeichnis dem Terminal-Pfad hinzu.
2. DeepSeek API Key konfigurieren
Lege zunÀchst ein Demo-Verzeichnis an:
mkdir reasonix-agent-demo
cd reasonix-agent-demo
Bereite .env.example vor:
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
DEFAPI_API_KEY=defapi_xxxxxxxxxxxxxxxxxxxxx
Kopiere es als lokale Umgebungsdatei:
cp .env.example .env
PowerShell-Variante:
Copy-Item .env.example .env
Trage anschlieĂend deinen eigenen DeepSeek API Key ein.
WARNING
.env bleibt lokal und darf nicht in Git eingecheckt werden. Auch in der Reasonix-Konfigurationsdatei solltest du nur api_key_env eintragen und niemals den echten SchlĂŒssel direkt.
3. Setup ausfĂŒhren und die Erstkonfiguration abschlieĂen
FĂŒhre jetzt den Initialisierungsbefehl aus:
reasonix setup
Folge den Hinweisen und wĂ€hle Provider und Modell aus. DeepSeek-Reasonix ist standardmĂ€Ăig auf DeepSeek ausgerichtet, daher können wir zuerst den DeepSeek-Provider wĂ€hlen und dann ein Modell, das sich gut fĂŒr alltĂ€gliche Programmieraufgaben eignet.
Nach der Konfiguration startest du eine interaktive Sitzung:
reasonix
Du kannst zunÀchst eine einfache Frage stellen:
Bitte erklĂ€re, welche Dateien sich aktuell im Projektverzeichnis befinden, und wo du empfehlen wĂŒrdest, mit der Initialisierung zu beginnen.
Wenn Reasonix korrekt antwortet, ist die Kette aus CLI, Modell und API-Key erfolgreich verbunden.
4. reasonix.toml anlegen und den Provider fixieren
Damit die Konfiguration reproduzierbar bleibt, schreiben wir die zentralen Einstellungen in reasonix.toml:
default_model = "deepseek"
language = "zh"
[ui]
theme = "auto"
[agent]
temperature = 0.0
reasoning_language = "zh"
soft_compact_ratio = 0.5
tool_result_snip_ratio = 0.6
compact_ratio = 0.8
compact_force_ratio = 0.9
[[providers]]
name = "deepseek"
kind = "openai"
base_url = "https://api.deepseek.com"
models = ["deepseek-v4-flash", "deepseek-v4-pro"]
default = "deepseek-v4-flash"
api_key_env = "DEEPSEEK_API_KEY"
context_window = 1000000
effort = "high"
[environment]
enabled = true
Dabei sind einige Punkte besonders wichtig:
default_modelverweist auf den Provider-Namen; spĂ€ter kann innerhalb des Providers das Standardmodell gewechselt werden.temperature = 0.0eignet sich besser fĂŒr Code-Ănderungsaufgaben, da die Ausgabe stabiler wird.context_windowreserviert genĂŒgend Platz fĂŒr lange Sitzungen.soft_compact_ratioundcompact_ratiomachen die Kontextpflege besser steuerbar.
Lade die Umgebungsvariablen beim Start explizit:
export $(grep -v '^#' .env | xargs)
reasonix
PowerShell kann so aussehen:
Get-Content .env | ForEach-Object {
if ($_ -match "^(.*?)=(.*)$") {
[Environment]::SetEnvironmentVariable($matches[1], $matches[2], "Process")
}
}
reasonix
5. Mit /init Projektanweisungen generieren
Bei Codeaufgaben ist es fĂŒr den Agenten am schwierigsten, wenn die Projektregeln jedes Mal neu erklĂ€rt werden mĂŒssen. Reasonix unterstĂŒtzt im interaktiven Modus:
/init
Dadurch wird anhand des aktuellen Projekts eine Projektanweisung erzeugt. Wir können sie auch manuell als REASONIX.md anlegen:
# Reasonix Projektanweisungen
## Projektziel
Dies ist ein minimales Beispielprojekt zur Validierung des Reasonix-Programmier-Agenten.
## Entwicklungsregeln
- Vor Ănderungen am Code zuerst den Plan erlĂ€utern.
- Wichtige Funktionen mit chinesischen Kommentaren versehen.
- Nach Abschluss der Ănderung die Projekttests ausfĂŒhren.
- Kein Git-Commit, sofern der Nutzer es nicht ausdrĂŒcklich verlangt.
## HĂ€ufige Befehle
```bash
npm test
> [!TIP]
> Je stabiler die Projektanweisungen sind, desto leichter trifft DeepSeek den Prefix Cache. Schreibe nicht tÀglich wechselnde Aufgabendetails in die dauerhaften Anweisungen, sondern lege sie besser in separaten Aufgabendateien ab.
## 6. Eine echte Codeaufgabe vorbereiten
Wir erstellen ein minimales TypeScript-Projekt:
```bash
mkdir -p demo-app/src tasks
cd demo-app
npm init -y
npm i -D typescript tsx
npx tsc --init
cd ..
Neue Datei demo-app/src/price.ts:
export type PriceInput = {
amount: number;
discountRate?: number;
};
export function calculateFinalPrice(input: PriceInput): number {
const discount = input.discountRate || 0;
return input.amount * (1 - discount);
}
Diese Funktion hat ein typisches Problem: discountRate wird nicht auf Grenzen geprĂŒft; bei Eingabe von 1.5 entsteht ein negativer Preis.
Neue Datei tasks/bugfix.md:
# Aufgabe: Grenzproblem bei der Preisberechnung beheben
Bitte Àndere `demo-app/src/price.ts`:
1. `amount` muss gröĂer oder gleich 0 sein.
2. `discountRate` hat standardmĂ€Ăig den Wert 0.
3. `discountRate` darf nur zwischen 0 und 1 liegen.
4. FĂŒge `calculateFinalPrice` einen chinesischen Kommentar hinzu.
5. ErgĂ€nze einen Minimaltest oder ein ausfĂŒhrbares PrĂŒfskript.
Nun lassen wir Reasonix die Aufgabe ausfĂŒhren:
reasonix run "Lies tasks/bugfix.md und setze die dort beschriebene CodeÀnderung um."
Du wirst sehen, wie Reasonix die Aufgabe liest, Dateien prĂŒft, einen Ănderungsvorschlag macht und dann mit Tools Code schreibt. Genau darin unterscheidet sich ein Coding Agent von einem normalen Chatbot: Er erklĂ€rt nicht nur ein Problem, sondern geht ins Projekt und Ă€ndert Dateien.
7. Planner/Executor-Zwei-Modellmodus konfigurieren
Der Ein-Modell-Modus erledigt bereits viele Aufgaben, aber komplexe Anforderungen brauchen oft zuerst Planung und dann AusfĂŒhrung. Reasonix unterstĂŒtzt in der Konfiguration die Trennung von Planner und Executor:
[agent]
temperature = 0.0
planner_model = "deepseek-pro"
reasoning_language = "zh"
[[providers]]
name = "deepseek"
kind = "openai"
base_url = "https://api.deepseek.com"
models = ["deepseek-v4-flash", "deepseek-v4-pro"]
default = "deepseek-v4-flash"
api_key_env = "DEEPSEEK_API_KEY"
context_window = 1000000
effort = "high"
[[providers]]
name = "deepseek-pro"
kind = "openai"
base_url = "https://api.deepseek.com"
model = "deepseek-v4-pro"
api_key_env = "DEEPSEEK_API_KEY"
context_window = 1000000
effort = "high"
Eine praktische Kombination ist:
| Rolle | Modell | Zweck |
|---|---|---|
| executor | deepseek-v4-flash | AlltĂ€gliches Codieren, Dateien lesen, Befehle ausfĂŒhren |
| planner | deepseek-v4-pro | Komplexe Aufgabenplanung, Refactoring-Aufteilung, Risikoanalyse |
So lassen sich Kosten kontrollieren und gleichzeitig wird bei wichtigen Schritten ein stĂ€rkeres Modell fĂŒr die Bewertung eingesetzt.
8. Defapi-kompatible Schnittstelle anbinden
Die Provider von Reasonix sind konfigurationsgetrieben. Solange der Ziel-Dienst eine OpenAI-artige Schnittstelle unterstĂŒtzt, kann er als Provider eingebunden werden. Das eignet sich sehr gut fĂŒr Defapi.
Der Vorteil von Defapi ist, dass der Preis meist nur etwa halb so hoch ist wie beim Originalanbieter, und die Modelle weitgehend mit den folgenden Protokollen kompatibel sind:
v1/chat/completionsv1/messagesv1beta/models/
Wir können in reasonix.toml einen zusÀtzlichen Defapi-Provider anlegen:
[[providers]]
name = "defapi-claude"
kind = "openai"
base_url = "https://api.defapi.org/api/v1"
model = "anthropic/claude-sonnet-4.5"
api_key_env = "DEFAPI_API_KEY"
context_window = 200000
Danach das Standardmodell umschalten:
default_model = "defapi-claude"
Oder du behÀltst DeepSeek als Standard-Executor und nutzt das starke Modell auf Defapi als Planner:
default_model = "deepseek"
[agent]
planner_model = "defapi-claude"
temperature = 0.0
[[providers]]
name = "deepseek"
kind = "openai"
base_url = "https://api.deepseek.com"
models = ["deepseek-v4-flash", "deepseek-v4-pro"]
default = "deepseek-v4-flash"
api_key_env = "DEEPSEEK_API_KEY"
context_window = 1000000
effort = "high"
[[providers]]
name = "defapi-claude"
kind = "openai"
base_url = "https://api.defapi.org/api/v1"
model = "anthropic/claude-sonnet-4.5"
api_key_env = "DEFAPI_API_KEY"
context_window = 200000
Diese Kombination eignet sich sehr gut fĂŒr die Praxis: Standardaufgaben laufen ĂŒber DeepSeek und halten die Kosten niedrig, wĂ€hrend komplexe Planung oder Code-Review ĂŒber das starke Modell auf Defapi erfolgt. Auf Provider-Ebene vereinheitlicht, muss Reasonix keinen neuen Code fĂŒr jeden Modellanbieter schreiben.
9. Eine vollstĂ€ndige Validierung durchfĂŒhren
Jetzt machen wir eine vollstĂ€ndige PrĂŒfung:
reasonix run "PrĂŒfe die Implementierung von demo-app/src/price.ts und erklĂ€re, ob es noch Grenzprobleme gibt."
AnschlieĂend lassen wir eine Aufgabe ausfĂŒhren, die nĂ€her an der echten Arbeit ist:
reasonix run "Bitte fĂŒge demo-app einen npm test-Befehl hinzu und verwende ein Minimal-Skript, um die drei Szenarien normaler Preis, Rabatt und ungĂŒltiger Rabatt fĂŒr calculateFinalPrice zu prĂŒfen."
Zum Schluss die Git-Ănderungen ansehen:
git diff
Wenn du siehst, dass Reasonix Code geĂ€ndert, Tests ergĂ€nzt und die GrĂŒnde fĂŒr die Ănderungen erklĂ€rt hat, dann lĂ€uft dieser minimale Agent-Workflow bereits erfolgreich.
HĂ€ufige Probleme beheben
1. Der Befehl reasonix wird nicht gefunden
PrĂŒfe zuerst das globale npm-Verzeichnis:
npm config get prefix
npm bin -g
Falls npm bin -g nicht verfĂŒgbar ist, kannst du alternativ verwenden:
npm root -g
Nachdem du das globale Installationsverzeichnis gefunden hast, fĂŒge das entsprechende AusfĂŒhrungsverzeichnis zu PATH hinzu. Windows-Nutzer mĂŒssen das Terminal meist neu öffnen.
2. Keine Berechtigung fĂŒr die globale npm-Installation
Unter macOS/Linux solltest du nicht einfach sudo verwenden. Stattdessen kannst du das globale npm-Verzeichnis in das Benutzerverzeichnis verschieben:
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH"
npm i -g reasonix
Danach solltest du die PATH-Konfiguration in die Startdatei deiner Shell schreiben.
3. Der DeepSeek API Key wird nicht wirksam
PrĂŒfe zuerst, ob die Umgebungsvariable vorhanden ist:
echo "$DEEPSEEK_API_KEY"
PowerShell:
$env:DEEPSEEK_API_KEY
Wenn die Ausgabe leer ist, wurde .env in diesem Terminal nicht geladen. Du kannst sie zunÀchst manuell setzen:
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxx"
reasonix
4. reasonix.toml wird nicht gelesen
Reasonix liest die Konfiguration normalerweise in der Reihenfolge âBefehlsparameter, Konfiguration im aktuellen Verzeichnis, globale Benutzerkonfiguration, eingebaute Standardwerteâ. Stelle zuerst sicher, dass du im Projektstamm arbeitest:
pwd
ls reasonix.toml
Dann ausfĂŒhren:
reasonix run "Bitte nenne das aktuell verwendete Modell und den Provider."
Wenn die Ausgabe nicht zur Konfiguration passt, prĂŒfe zuerst, ob Befehlszeilenparameter oder globale Konfiguration die Konfiguration im aktuellen Verzeichnis ĂŒberschreiben.
5. Das Modell antwortet langsam oder die Kosten sind zu hoch
Teile die Aufgabe zuerst kleiner auf:
reasonix run "Lies nur demo-app/src/price.ts und Àndere noch nichts; nenne zunÀchst die potenziellen Probleme."
Danach die Ănderung:
reasonix run "Ăndere nur demo-app/src/price.ts basierend auf den eben genannten Problemen."
In langen Sitzungen begĂŒnstigen stabile Projektanweisungen und wenig verĂ€nderte Aufgabendefinitionen einen besseren Cache-Treffer. Bei komplexen Aufgaben kannst du den Planner/Executor-Zwei-Modellmodus aktivieren und das teurere Modell nur in der Planungsphase einsetzen.
6. Der Agent Àndert Dateien ohne Freigabe
PrĂŒfe den aktuellen Arbeitsmodus. In interaktiven Sitzungen kann man auf einen vorsichtigeren Modus umschalten und vor Tool-Aufrufen eine BestĂ€tigung verlangen. FĂŒr Teamprojekte empfiehlt es sich, standardmĂ€Ăig Genehmigungen zu aktivieren und nicht direkt in einen unbeaufsichtigten automatischen Ănderungsmodus zu wechseln.
Du kannst Reasonix zunÀchst nur lesen lassen:
reasonix run "Nur analysieren, nichts Ă€ndern: Bitte prĂŒfe die Probleme in demo-app/src/price.ts."
Nach BestĂ€tigung des Plans erst die Ănderung ausfĂŒhren.
7. Chinesische Zeichendarstellung ist im Windows-Terminal fehlerhaft
Unter PowerShell kannst du zuerst UTF-8 einstellen:
chcp 65001
$OutputEncoding = [System.Text.Encoding]::UTF8
Wenn die Ausgabe weiterhin fehlerhaft ist, wird die Nutzung von Windows Terminal empfohlen. Stelle auĂerdem sicher, dass Editor, Terminal und Git UTF-8 verwenden.
WeiterfĂŒhrende LektĂŒre / nĂ€chste Schritte
- Reasonix Desktop-Client nutzen, um den terminalbasierten Agent-Workflow in eine grafische OberflÀche zu verlagern.
- VS-Code-Erweiterung installieren, damit Reasonix den Editor-Kontext liest und Tool-Freigaben behandelt.
- MCP-kompatible Plugins konfigurieren, um interne Skripte, Datenbankabfragen und Dokumentensuche in den Agenten einzubinden.
- Sub-Agenten fĂŒr Aufgaben wie
review,security_reviewoderresearcheinsetzen. - Reasonix in einen OpenClaw-Workflow integrieren, damit der Chat-Einstieg echte Codeaufgaben auslöst.
- Defapi mit
v1/chat/completionsoderv1/messagesanbinden, um DeepSeek-, Claude- und Gemini-Modellanbieter zentral zu verwalten.