No description
  • Shell 99.5%
  • Makefile 0.5%
Find a file
dschlueter bf1ca309cd docs: add pristine-host setup and "why USA + China" rationale
The manual previously assumed `claude` was already installed and never
explained the strategic rationale for mixing US (Anthropic) and CN
(Z.ai/Moonshot/Qwen/DeepSeek) models. Both gaps are now closed.

New section 1 "Warum Modelle aus USA und China parallel?" — five
concrete reasons: resilience against outages/sanctions, price pressure,
no vendor lock-in, per-task model choice, perspective diversity; plus a
data-flow caveat (US/CN endpoints move prompts into foreign
jurisdictions).

New section 3 "Setup auf einem jungfräulichen Linux-Host" — Debian/Ubuntu
walkthrough from a bare system: base packages, Node 18+ via NodeSource or
nvm, `npm install -g @anthropic-ai/claude-code` (no sudo), Pro login,
OpenRouter account/key, repo clone+install; plus a containerized
alternative (Dockerfile, key via -e at runtime, never baked in).

Renumbered subsequent sections 1-11; fixed all internal cross-references;
file listing now includes tests/ and Makefile.

Verified facts: npm package name and no-sudo warning per official Claude
Code docs; Node 18+ requirement; NodeSource/nvm install paths.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-28 04:23:06 +02:00
bin fix: harden installer symlink logic and interactive sourcing (#1) 2026-06-28 03:49:13 +02:00
config docs: update env-based OpenRouter profile setup 2026-06-28 02:41:12 +02:00
lib fix: harden installer symlink logic and interactive sourcing (#1) 2026-06-28 03:49:13 +02:00
shell Initial Claude launcher profiles 2026-06-28 01:50:13 +02:00
tests test: Profile-Logik und Installer-Test-Suite (#3) 2026-06-28 04:07:09 +02:00
.gitignore docs: update env-based OpenRouter profile setup 2026-06-28 02:41:12 +02:00
BEDIENUNGSANLEITUNG.md docs: add pristine-host setup and "why USA + China" rationale 2026-06-28 04:23:06 +02:00
Makefile test: Profile-Logik und Installer-Test-Suite (#3) 2026-06-28 04:07:09 +02:00
README.md docs: update env-based OpenRouter profile setup 2026-06-28 02:41:12 +02:00

claude-launcher-profiles

Portable Claude Code launcher profiles for Anthropic Pro and OpenRouter models.

Ziel

Claude Code über einfache Profile starten:

  • claude-pro
  • claude-glm
  • claude-kimi
  • claude-free
  • claude-profile <name>

Die eigentliche Konfiguration der Modelle liegt in einer YAML-Datei. Der OpenRouter-API-Key kommt aus der Shell-Umgebung.

Voraussetzungen

  • claude installiert
  • funktionierendes Claude-Pro-Login für das pro-Profil
  • bash
  • yq zum Parsen der YAML-Datei

Beispiel Debian/Ubuntu:

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

Setup

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

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

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

OpenRouter-Key setzen

Der OpenRouter-Key wird nicht in config/profiles.yml gespeichert. Stattdessen wird er über die Shell-Umgebung gesetzt.

Temporär für die aktuelle Session:

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

Dauerhaft in ~/.bashrc:

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

Nutzung

claude-pro
claude-glm
claude-kimi
claude-free

Oder generisch:

claude-profile pro
claude-profile glm
claude-profile kimi
claude-profile free

Konfiguration

Die Datei config/profiles.yml enthält nur noch:

  • den Startbefehl für Claude Code,
  • die OpenRouter-Base-URL,
  • die Profile,
  • die Modellnamen.

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"

Sicherheit

config/profiles.yml enthält lokale Einstellungen und bleibt unversioniert. Nur config/profiles.example.yml gehört ins Repository.

Keine echten API-Keys committen.