claude-launcher-profiles/BEDIENUNGSANLEITUNG.md

11 KiB
Raw Blame History

Bedienungsanleitung claude-launcher-profiles

Claude Code mit günstigen Alternativ-Modellen statt der teuren Anthropic-API nutzen. Pro-Login bleibt erhalten; OpenRouter-Modelle werden über einfache Profile zugeschaltet.


1. Wozu dieses Repository?

Claude Code ist der CLI-Client von Anthropic. Er spricht standardmäßig die Anthropic-API an und die ist teuer:

Anthropic-Modell Input / 1M Tok Output / 1M Tok
Claude Opus 4.5 $5.00 $25.00
Claude Sonnet 4.5 $3.00 $15.00

Dieses Repo schaltet Claude Code stattdessen auf OpenRouter um. Dort laufen u. a. starke Open-Source- und Drittanbieter-Modelle, die für viele Coding-Aufgaben qualitativ nah an Claude heranreichen aber ein Vielfaches günstiger sind:

OpenRouter-Modell Input / 1M Tok Output / 1M Tok Kontext
z-ai/glm-5.2 $0.95 $3.00 1 M
moonshotai/kimi-k2.7-code $0.74 $3.50 262 K
deepseek/deepseek-chat-v3.1 $0.21 $0.79 164 K
qwen/qwen3-coder $0.22 $1.80 1 M
qwen/qwen3-coder:free gratis gratis 1 M

Konkret: GLM-5.2 ist im Output rund 5× günstiger als Sonnet 4.5 und rund 8× günstiger als Opus 4.5; DeepSeek V3.1 im Output sogar rund 19× günstiger als Sonnet. Wer es nur ausprobieren will, nutzt qwen3-coder:free ganz ohne Kreditkarte.

Live-Beweis: Dieses Dokument wurde in einer Claude-Code-Session verfasst, die selbst über z-ai/glm-5.2 via OpenRouter lief das Setup funktioniert also genau wie beschrieben.

Mit diesem Repo wählst du das Modell über ein Profil:

claude-pro     # Anthropic Pro-Login (wie gehabt, kein API-Kosten)
claude-glm     # GLM-5.2 über OpenRouter
claude-kimi    # Kimi K2 über OpenRouter
claude-free    # kostenloses Modell über OpenRouter
claude-profile <name>   # generischer Aufruf

2. Voraussetzungen

  • claude (Claude Code CLI) installiert
  • funktionierendes Claude-Pro-Login (nur für das pro-Profil nötig)
  • bash
  • yq zum Parsen der YAML-Konfiguration
  • ein OpenRouter-Account + API-Key (nur für die OpenRouter-Profile) → Key anlegen unter https://openrouter.ai/keys

yq installieren (Debian/Ubuntu):

sudo apt-get update
sudo apt-get install -y yq

Hinweis: Unter Debian/Ubuntu ist yq der jq-Wrapper („Command-line YAML processor jq wrapper"). Das funktioniert. Der MikeFarah-yq geht ebenfalls.


3. Setup Schritt für Schritt

3.1 Repository klonen

git clone https://kitux.de/forgejo/dschlueter/claude-launcher-profiles.git
cd claude-launcher-profiles

3.2 Konfiguration anlegen

cp config/profiles.example.yml config/profiles.yml
$EDITOR config/profiles.yml

config/profiles.yml enthält keine API-Keys nur Modellnamen, Base-URL und den Claude-Startbefehl. Der OpenRouter-Key kommt ausschließlich aus der Umgebung (siehe 3.4). Beispiel:

defaults:
  claude_cmd: "claude"
  openrouter_base_url: "https://openrouter.ai/api"

profiles:
  pro:
    mode: "pro"

  glm:
    mode: "openrouter"
    model: "z-ai/glm-5.2"

  kimi:
    mode: "openrouter"
    model: "moonshotai/kimi-k2.7-code"

  free:
    mode: "openrouter"
    model: "openrouter/free"

Modell-Slugs: Die obigen Slugs (z-ai/glm-5.2, moonshotai/kimi-k2.7-code, openrouter/free) sind gegen die OpenRouter-API getestet (Stand Juni 2026) und entsprechen der mitgelieferten profiles.example.yml. OpenRouter ändert gelegentlich Bezeichner bei eigenen Ergänzungen gegen https://openrouter.ai/models prüfen.

⚠️ openrouter/free ist ein Meta-Slug, kein festes Modell: OpenRouter routet den Aufruf an ein gerade verfügbares Gratis-Modell weiter. Aktuell landet das z. B. bei nvidia/nemotron-3.5-content-safety einem Content-Safety-Klassifikator, nicht einem Coding-Modell. Zum Coden stattdessen qwen/qwen3-coder:free eintragen (gültig, aber rate-limitiert bei 429 kurz warten oder eigenes Guthaben nutzen).

3.3 Skripte ausführbar machen und installieren

chmod +x bin/claude-profile bin/install-claude-profiles lib/profiles.sh
./bin/install-claude-profiles

Der Installer legt (falls nötig) einen Symlink unter ~/src/claude-launcher-profiles an und fügt eine source-Zeile in deine ~/.bashrc ein, die die Aliase lädt.

3.4 OpenRouter-Key setzen

Der Key wird nicht in profiles.yml gespeichert, sondern als Umgebungsvariable.

Temporär (nur aktuelle Session):

export OPENROUTER_API_KEY="sk-or-v1-..."

Dauerhaft in ~/.bashrc:

echo 'export OPENROUTER_API_KEY="sk-or-v1-..."' >> ~/.bashrc
source ~/.bashrc

3.5 Shell neu laden

source ~/.bashrc
alias | grep claude-

Du sollte claude-pro, claude-glm, claude-kimi, claude-free sehen.


4. Nutzung

claude-pro      # Claude Pro (Anthropic-Login, keine API-Kosten)
claude-glm      # GLM-5.2 via OpenRouter
claude-kimi     # Kimi K2 via OpenRouter
claude-free     # kostenloses Modell via OpenRouter

Generisch (z. B. für selbst angelegte Profile):

claude-profile glm
claude-profile mein-eigenes-profil

Jeder Aufruf setzt die nötigen ANTHROPIC_*-Variablen für die jeweilige Sitzung und startet claude. Vorher gesetzte Claude-Umgebungsvariablen werden pro Aufruf bereinigt, damit Profile sich nicht vermischen.


5. Eigene Profile anlegen

Trage ein neues Profil in config/profiles.yml ein:

  deepseek:
    mode: "openrouter"
    model: "deepseek/deepseek-chat-v3.1"

Dazu passend einen Alias in shell/aliases.sh:

alias claude-deep="$HOME/src/claude-launcher-profiles/bin/claude-profile deepseek"

Danach source ~/.bashrc fertig. Der Key (OPENROUTER_API_KEY) gilt für alle OpenRouter-Profile gemeinsam.


6. Kosten vs. Qualität ehrlicher Vergleich

6.1 Beispielsitzung (500 K Input + 50 K Output, ungespeichert)

Modell Kosten relativ zu Sonnet 4.5
Claude Opus 4.5 0,5·$5 + 0,05·$25 = $3,75 1,7×
Claude Sonnet 4.5 0,5·$3 + 0,05·$15 = $2,25 1× (Referenz)
GLM-5.2 0,5·$0,95 + 0,05·$3 = $0,63 ≈ 0,28×
Kimi K2.7-code 0,5·$0,74 + 0,05·$3,50 = $0,55 ≈ 0,24×
DeepSeek V3.1 0,5·$0,21 + 0,05·$0,79 = $0,15 ≈ 0,07×
Qwen3 Coder (free) $0,00 gratis

Wer Claude Code intensiv nutzt, gibt an einem Tag schnell mehrere Millionen Token aus. Bei 10 M Output/Tag macht der Unterschied zwischen Sonnet ($150) und GLM-5.2 ($30) schnell über $120 pro Tag aus. Prompt-Caching (Cache-Read bei GLM ~$0,18/M) senkt die Kosten für wiederholte System-Prompts zusätzlich.

6.2 Qualität realistische Einordnung

  • GLM-5.2 (z-ai/glm-5.2): großes Reasoning-Modell, 1-M-Kontext, stark in langen Coding-/Agenten-Workflows und Werkzeugnutzung. Für die meisten Software-Engineering-Aufgaben ein brauchbarer Sonnet-Ersatz; bei den allerschwersten Schlussfolgerungen liegt Opus weiter vorn.
  • Kimi K2.7-code (moonshotai/kimi-k2.7-code): fokussiert auf langfristiges Coding und UI-Generierung, Multi-Agenten-Orchestrierung. Gut für komplexere End-to-End-Coding-Tasks; 262K-Kontext (schmaler als GLM). Reasoning-Modell braucht genug Output-Token, sonst verbraucht das „Denken" das Limit bevor die Antwort kommt.
  • DeepSeek V3.1 (deepseek/deepseek-chat-v3.1): extrem günstig, hybrides Reasoning, solide Tool-Nutzung Top-Wirtschaftlichkeit für Alltags-Coding.
  • Qwen3 Coder (qwen/qwen3-coder / :free): MoE-Code-Modell, 1-M-Kontext, auf agentenhaftes Coding (Function Calling, Repo-Weit-Kontext) optimiert. Die :free-Variante ist rate-limitiert, aber ideal zum Ausprobieren.
  • Kostenlos-Modelle allgemein: gut zum Testen und für einfache Aufgaben; Rate-Limits und gelegentliche Auslastung machen sie für produktiven Dauereinsatz weniger verlässlich. Achtung bei openrouter/free: das ist ein Meta-Slug, der an ein gerade verfügbares Gratis-Modell routet das kann auch ein Nicht-Coding-Modell wie ein Content-Safety-Klassifikator sein (siehe Hinweis in 3.2).

Faustregel: Für tägliche Coding-Arbeit sind GLM-5.2 oder DeepSeek V3.1 das beste Preis-Leistungs-Verhältnis; für die härtesten Reasoning-Aufgaben oder maximale Zuverlässigkeit bleibt Claude (Pro oder API) die Referenz. Das Schöne: Du kannst pro Aufruf wechseln claude-glm zum Bauen, claude-pro für die kritische Stelle.


7. Sicherheit

  • config/profiles.yml enthält nur lokale Einstellungen und steht in .gitignore sie wird nicht committet.
  • Der OpenRouter-Key liegt nur in der Shell-Umgebung (~/.bashrc), nie im Repo.
  • Vor jedem Profilwechsel werden ANTHROPIC_*-Variablen bereinigt, damit kein altes Token in eine andere Sitzung durchsickert.
  • Prüfe vor jedem Commit auf versehentliche Secrets:
    grep -R "sk-or-v1-" .
    
    Hier darf es keinen Treffer geben.

8. Troubleshooting

Symptom Ursache / Lösung
Error: yq is required yq fehlt → siehe Abschnitt 2.
Error: missing config file config/profiles.yml fehlt → cp config/profiles.example.yml config/profiles.yml.
Error: OPENROUTER_API_KEY is not set Key nicht exportiert → export OPENROUTER_API_KEY=... und source ~/.bashrc.
Error: profile 'x' not found Tippfehler oder Profil fehlt in profiles.yml.
Error: unsupported mode mode muss pro oder openrouter sein.
Model-Antworten fehlerhaft / 404 Slug veraltet → auf https://openrouter.ai/models prüfen und in profiles.yml anpassen.
Antwort leer / „finish_reason: length" Reasoning-Modell hat das Token-Limit im „Denkschritt" verbraucht → höheres max_tokens-Setting im Client bzw. längere Antworten erlauben.
claude-free liefert unbrauchbare Antworten openrouter/free ist ein Meta-Slug und kann an ein Nicht-Coding-Modell routen → stattdessen qwen/qwen3-coder:free eintragen.
429 / „rate-limited upstream" Gratis-Modell ist ausgelastet → kurz warten, ein kostenpflichtiges Slug nutzen oder Guthaben aufladen.
Aliase fehlen nach source ~/.bashrc Installer-Zeile fehlt → ./bin/install-claude-profiles erneut ausführen.
claude-pro startet nicht richtig Pro-Login abgelaufen → claude einmal direkt starten und anmelden.

9. Wo was liegt

bin/claude-profile           # Einstieg: ruft launch_profile <name> auf
bin/install-claude-profiles  # richtet Symlink + .bashrc-Alias-Zeile ein
lib/profiles.sh              # Kernlogik: YAML-Parser, Profile, Env-Setup
shell/aliases.sh             # die claude-* Aliase
config/profiles.example.yml  # Vorlage (im Repo)
config/profiles.yml          # deine lokale Konfig (gitignored)

Fragen oder Erweiterungen → Forgejo: https://kitux.de/forgejo/dschlueter/claude-launcher-profiles