Installation
Eine Zeile — lädt das luna-Binary und legt es in deinen PATH:
Linux x86_64 (musl) & Windows x86_64 — macOS kommt später.
Manuell
Oder von Hand: herunterladen, ausführbar machen, in den PATH legen.
PATH
Wird luna nicht gefunden, stell sicher, dass ~/.local/bin in deinem PATH liegt.
Browser-Login
Kein Token-Kopieren. luna login öffnet den Browser zur Autorisierungsseite — du bist dort schon eingeloggt, bestätigst, und der Token geht über eine lokale Loopback-Verbindung an die CLI zurück.
Öffnet den Browser zur Autorisierungsseite. Gilt für jeden Plan — auch Free.
Du bist dort eingeloggt, siehst Account und Plan, und bestätigst.
Der Token geht sicher über Loopback an die CLI zurück — nichts zu kopieren.
Kein Login? Du kannst einen API-Key per --key luna_sk_… oder der Umgebungsvariable LUNA_API_KEY übergeben — Keys gibt es aber nur mit Plus & Pro. Verwalten kannst du sie in der Key-Verwaltung.
Befehle
Eine Handvoll Befehle — das ist die ganze CLI. luna chat streamt die Antwort standardmäßig; mit --no-stream kommt sie am Stück.
| Befehl | Was er tut | Beispiel |
|---|---|---|
| luna login | Browser-Login — jeder Plan. | luna login |
| luna logout | Token lokal entfernen. | luna logout |
| luna whoami | Account, Plan & Limit zeigen. | luna whoami |
| luna chat "…" | Einmalige Frage, streamt. | luna chat "Erklär Closures" |
| luna chat | Interaktiver Chat-REPL. | luna chat |
| luna | Agenten-Session (Tools: Dateien lesen/schreiben, Suche, Bash — mit Erlaubnis-Abfrage). | luna |
| luna agent | Wie luna ohne Argument — explizit. | luna agent |
| luna code "<task>" | Autonomer Mehrschritt-Lauf in deinem Projekt. | luna code "Tests reparieren" |
Agentenmodus
Starte luna ohne Argumente (oder luna agent) für eine agentische Session: LuNa kann Dateien lesen und schreiben, dein Projekt durchsuchen und Bash ausführen — jeweils sandboxed und erst nach deiner Bestätigung über eine Erlaubnis-Abfrage ([y/n/a]). Für einen Lauf ohne Rückfragen arbeitet luna code "<task>" eine Aufgabe autonom in mehreren Schritten ab.
Flags
Globale Flags gelten für jeden Befehl.
| Flag | Default | Beschreibung |
|---|---|---|
| --key <luna_sk_…> | — | API-Key statt Login (Plus & Pro). |
| --model <id> | luna-0.5 | Auch luna-0.1 (St) und luna-0.4 (Legacy). |
| --base-url <url> | https://luna-chat.xyz | Auf einen eigenen Server zeigen. |
| --no-stream | aus | Antwort am Stück statt streamend. |
Pläne & Limits
Das Limit gilt pro Account und Minute — über alle deine Keys und Logins zusammen. Eigene API-Keys gibt es nur mit Plus & Pro.
| Plan | Anfragen / Minute | Hinweis |
|---|---|---|
| Free | 5 / Minute | Browser-Login (CLI), keine eigenen Keys. |
| Plus | 60 / Minute | Eigene API-Keys, voller Zugang. |
| Pro | 120 / Minute | Höchstes Limit + Vorrang in der Queue. |
Bei 429 (Rate-Limit) oder 403 (für deinen Plan nicht erlaubt) zeigt die CLI einen freundlichen Hinweis. Pläne sind aktuell gratis auf Anfrage.
Konfiguration
Deine Konfiguration liegt in ~/.luna/config.json (Windows: %USERPROFILE%\.luna\config.json) — unter Linux mit chmod 600 angelegt.
Diese Datei enthält deinen Token — nicht teilen. luna logout entfernt sie.
Fehlerbehebung
command not found: luna
~/.local/bin liegt nicht im PATH. Füge es hinzu (siehe Installation) und öffne eine neue Shell.
luna login öffnet keinen Browser
Die Autorisierungs-URL erscheint auch im Terminal — öffne sie von Hand. Der lokale Loopback-Port muss erreichbar sein.
Nur Linux x86_64 (musl)
Builds für macOS und Windows kommen später.
403 mit eigenem Key
Free hat keine API-Keys — nutze stattdessen luna login oder wechsle zu Plus oder Pro.
Dieselbe API, im Terminal. Lieber eine Integration bauen? Schau in die API-Referenz.