@swipergy/aicoder
v1.2.1
Published
CLI-Client für den Swipergy AI Coding Hub
Maintainers
Readme
@swipergy/aicoder
CLI-Client für den Swipergy AI Coding Hub — DSGVO-konform gehostet in der EU.
Installation
npm install -g @swipergy/aicoderEinrichtung
aicoder config
# Hub-URL (z. B. https://aiapi.swipergy.com) und persönlichen API-Key (aico_…) eingebenAlternativ per Umgebungsvariablen oder Flags:
export AICODER_HUB_URL=https://aiapi.swipergy.com
export AICODER_API_KEY=aico_…Die Config-Datei liegt unter ~/.config/swipergy-aicoder/config.json (nur für den Benutzer lesbar).
Verwendung
# Einmalige Frage (Antwort auf stdout)
aicoder "Erkläre den BillingService in diesem Projekt"
# Interaktiver Chat
aicoder
# Ohne Projektzugriff (reines Q&A, gestreamt)
aicoder --no-workspace "Was ist ein Mutex?"Agentic
Der Assistent arbeitet agentisch im aktuellen Verzeichnis — er kann selbstständig Tools aufrufen (Tool-Use-Loop):
- Lesen (immer erlaubt):
list_files,read_file,search_text - Handeln (berechtigungspflichtig):
write_file,edit_file(eindeutiges String-Replace),run_command(Shell-Befehl im Projekt)
Alle Pfade sind strikt aufs Projektverzeichnis beschränkt (kein Ausbruch über ..), node_modules/.git/dist u. Ä. sind ausgeschlossen, Datei-/Trefferzahl und Befehls-Ausgabe sind begrenzt (run_command mit Timeout). Ganz abschalten: --no-workspace.
Modi (Chat-Fenster, Umschaltung per ⇧+Tab)
| Modus | Farbe | Verhalten |
|---|---|---|
| manueller Modus | weiß | Schreiben/Editieren/Befehle müssen einzeln bestätigt werden ([j/n]) |
| Plan-Modus | cyan | Nur lesen; der Assistent liefert ausschließlich einen Plan, keine Änderungen |
| Änderungen akzeptieren | grün | Datei-Änderungen automatisch; Befehle (run_command) weiterhin bestätigen |
| Auto-Modus | gelb | Alles automatisch (Vorsicht) |
Nicht-interaktiv (One-shot / Pipe) gibt es keine Rückfrage: schreibende Tools werden abgelehnt, außer du gibst --auto an (entspricht Auto-Modus).
Optionen
| Flag | Beschreibung |
|---|---|
| --url <url> | Hub-URL (sonst Env AICODER_HUB_URL / Config) |
| --key <key> | API-Key (sonst Env AICODER_API_KEY / Config) |
| --model <name> | Modell überschreiben (sonst Gateway-Default) |
| --max-tokens <n> | Maximale Antwort-Token |
| --no-workspace | Kein Projektzugriff (reines Q&A) |
| --auto | Nicht-interaktiv: schreibende Tools automatisch erlauben |
| -h, --help | Hilfe |
| -v, --version | Version |
Lokal starten (ohne npm publish)
cd cli
npm install
npm run build # → dist/
# Variante A: direkt ausführen
node dist/index.js chat
node dist/index.js "Was macht der BillingService?"
# Variante B: global als "aicoder" verlinken (Symlink auf diesen Build)
npm link # danach überall: aicoder chat
# rückgängig: npm unlink -g @swipergy/aicoder
# Variante C: das gepackte Tarball testen wie eine echte Installation
npm pack # erzeugt swipergy-aicoder-<version>.tgz
npm install -g ./swipergy-aicoder-*.tgzVeröffentlichung
npm run build
npm publish # scoped public (publishConfig.access = public)