Viele Anbieter
Presets für OpenAI, OpenRouter, Ollama, Dahl und GonkaRouter – oder ein eigener OpenAI-kompatibler Endpunkt.
diff --git a/site-preview/desktop.png b/site-preview/desktop.png new file mode 100644 index 0000000..98e038a Binary files /dev/null and b/site-preview/desktop.png differ diff --git a/site-preview/mobile.png b/site-preview/mobile.png new file mode 100644 index 0000000..3b4d844 Binary files /dev/null and b/site-preview/mobile.png differ diff --git a/site/assets/chat_dark.png b/site/assets/chat_dark.png new file mode 100644 index 0000000..5f6be42 Binary files /dev/null and b/site/assets/chat_dark.png differ diff --git a/site/assets/chat_dark.webp b/site/assets/chat_dark.webp new file mode 100644 index 0000000..010aa2f Binary files /dev/null and b/site/assets/chat_dark.webp differ diff --git a/site/assets/chat_light.png b/site/assets/chat_light.png new file mode 100644 index 0000000..9eb00b9 Binary files /dev/null and b/site/assets/chat_light.png differ diff --git a/site/assets/chat_light.webp b/site/assets/chat_light.webp new file mode 100644 index 0000000..72cfd5b Binary files /dev/null and b/site/assets/chat_light.webp differ diff --git a/site/assets/chat_provider_dark.png b/site/assets/chat_provider_dark.png new file mode 100644 index 0000000..1cb605a Binary files /dev/null and b/site/assets/chat_provider_dark.png differ diff --git a/site/assets/chat_provider_dark.webp b/site/assets/chat_provider_dark.webp new file mode 100644 index 0000000..f5472da Binary files /dev/null and b/site/assets/chat_provider_dark.webp differ diff --git a/site/assets/chat_provider_light.png b/site/assets/chat_provider_light.png new file mode 100644 index 0000000..eb3ceb7 Binary files /dev/null and b/site/assets/chat_provider_light.png differ diff --git a/site/assets/chat_provider_light.webp b/site/assets/chat_provider_light.webp new file mode 100644 index 0000000..cd99f27 Binary files /dev/null and b/site/assets/chat_provider_light.webp differ diff --git a/site/assets/icon-180.png b/site/assets/icon-180.png new file mode 100644 index 0000000..4a5e30c Binary files /dev/null and b/site/assets/icon-180.png differ diff --git a/site/assets/icon.svg b/site/assets/icon.svg new file mode 100644 index 0000000..f72eaea --- /dev/null +++ b/site/assets/icon.svg @@ -0,0 +1 @@ + diff --git a/site/assets/og.png b/site/assets/og.png new file mode 100644 index 0000000..5719280 Binary files /dev/null and b/site/assets/og.png differ diff --git a/site/assets/providers_dark.png b/site/assets/providers_dark.png new file mode 100644 index 0000000..289189f Binary files /dev/null and b/site/assets/providers_dark.png differ diff --git a/site/assets/providers_dark.webp b/site/assets/providers_dark.webp new file mode 100644 index 0000000..f987e61 Binary files /dev/null and b/site/assets/providers_dark.webp differ diff --git a/site/assets/providers_light.png b/site/assets/providers_light.png new file mode 100644 index 0000000..24b4e58 Binary files /dev/null and b/site/assets/providers_light.png differ diff --git a/site/assets/providers_light.webp b/site/assets/providers_light.webp new file mode 100644 index 0000000..9df04e3 Binary files /dev/null and b/site/assets/providers_light.webp differ diff --git a/site/assets/sessions_dark.png b/site/assets/sessions_dark.png new file mode 100644 index 0000000..fece264 Binary files /dev/null and b/site/assets/sessions_dark.png differ diff --git a/site/assets/sessions_dark.webp b/site/assets/sessions_dark.webp new file mode 100644 index 0000000..9e2e6b0 Binary files /dev/null and b/site/assets/sessions_dark.webp differ diff --git a/site/assets/sessions_light.png b/site/assets/sessions_light.png new file mode 100644 index 0000000..93a6a35 Binary files /dev/null and b/site/assets/sessions_light.png differ diff --git a/site/assets/sessions_light.webp b/site/assets/sessions_light.webp new file mode 100644 index 0000000..55938e3 Binary files /dev/null and b/site/assets/sessions_light.webp differ diff --git a/site/assets/settings_dark.png b/site/assets/settings_dark.png new file mode 100644 index 0000000..17be56e Binary files /dev/null and b/site/assets/settings_dark.png differ diff --git a/site/assets/settings_dark.webp b/site/assets/settings_dark.webp new file mode 100644 index 0000000..fa732da Binary files /dev/null and b/site/assets/settings_dark.webp differ diff --git a/site/assets/settings_light.png b/site/assets/settings_light.png new file mode 100644 index 0000000..1e0d74b Binary files /dev/null and b/site/assets/settings_light.png differ diff --git a/site/assets/settings_light.webp b/site/assets/settings_light.webp new file mode 100644 index 0000000..00e750e Binary files /dev/null and b/site/assets/settings_light.webp differ diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000..d9845dc --- /dev/null +++ b/site/index.html @@ -0,0 +1,99 @@ + + +
+ + +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.
+Presets für OpenAI, OpenRouter, Ollama, Dahl und GonkaRouter – oder ein eigener OpenAI-kompatibler Endpunkt.
Antworten erscheinen Wort für Wort per WebSocket in der App.
Uhrzeit, Web-Abruf mit SSRF-Schutz, Datei-Tools im Workspace und ein optionales, streng begrenztes Shell-Tool.
Stopp-Button in der App: Der Abbruch reicht bis zum Anbieter, die Teilantwort bleibt gespeichert.
Lange Chats werden automatisch per LLM zusammengefasst – die Originalnachrichten bleiben erhalten.
Global umschalten oder für einzelne Chats ein anderes Modell wählen – direkt aus der App.
Token-Pflicht, nur localhost, Origin-Prüfung, TLS immer an, Keys nie in der App, Release nur HTTPS.
Statische Builds für Linux amd64, arm64 und armv7 sowie Termux auf Android.
Android-App mit Demo-Daten, hell und dunkel.
+





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
+