ByteClaw-Logo: drei Krallenspuren und Byte-Bits

ByteClaw

Selbst gehosteter, schlanker KI-Assistent – Go-Backend + Android-App.

Ein einzelnes Go-Binary mit SQLite spricht mit jedem OpenAI-kompatiblen Anbieter, nutzt Tools und streamt Antworten live in die native Android-App. Deine Schlüssel bleiben auf deinem Server.

Was ByteClaw kann

Viele Anbieter

Presets für OpenAI, OpenRouter, Ollama, Dahl und GonkaRouter – oder ein eigener OpenAI-kompatibler Endpunkt.

Live-Streaming

Antworten erscheinen Wort für Wort per WebSocket in der App.

Tools

Uhrzeit, Web-Abruf mit SSRF-Schutz, Datei-Tools im Workspace und ein optionales, streng begrenztes Shell-Tool.

Abbrechen

Stopp-Button in der App: Der Abbruch reicht bis zum Anbieter, die Teilantwort bleibt gespeichert.

Session-Zusammenfassung

Lange Chats werden automatisch per LLM zusammengefasst – die Originalnachrichten bleiben erhalten.

Anbieter pro Session

Global umschalten oder für einzelne Chats ein anderes Modell wählen – direkt aus der App.

Konten & Login

Registrierung und Anmeldung in der App – jeder Nutzer hat eigene, getrennte Chats. Passwörter als bcrypt-Hash, Tokens widerrufbar.

Sichere Defaults

Login-Pflicht, Rate-Limit, nur localhost, Origin-Prüfung, TLS immer an, Keys nie in der App, Release nur HTTPS.

ARM & Termux

Statische Builds für Linux amd64, arm64 und armv7 sowie Termux auf Android.

Screenshots

Android-App mit Demo-Daten, hell und dunkel.

Quickstart

Backend starten (Go 1.25), dann in der App Server-URL und Token eintragen.

cp config.example.yaml config.yaml
export BYTECLAW_AUTH_TOKEN=$(openssl rand -hex 32)
export BYTECLAW_LLM_PROVIDER=dahl     # openai | openrouter | ollama | dahl | gonkarouter | custom
export DAHL_API_KEY=...               # Key bleibt auf dem Server
make run

curl -H "Authorization: Bearer $BYTECLAW_AUTH_TOKEN" \
  -d '{"text":"Wie spät ist es in Berlin?"}' localhost:8787/api/chat