AI-native project hub — Kanban, Wiki, Multi-Model KAi, powered by SurrealDB + Svelte 5
> kaioss --version 1.4.0
> kaioss::ready
Container (empfohlen zum Ausprobieren) — Podman oder Docker:
git clone https://github.com/diebugger-tech/KAiOSS.git
cd KAiOSS
make podman-up # oder: docker compose up -d --buildApp: http://localhost:5174 — startet mit Demo-Daten. Details: docs/DEPLOY.md
Lokal entwickeln (SurrealDB 3.0.5 + Node 22 nötig):
make start # DB + Vite Dev-Server, detached (./start.sh stop zum Beenden)Branches: main = stabiler öffentlicher Stand, dev = aktive Entwicklung.
KAiOSS registriert deine lokalen Projekte über eine .project.toml pro Projektordner
(Nachbar-Ordner von KAiOSS, z. B. ~/Projekte/aktiv/<Projekt>/.project.toml):
[project]
name = "MeinProjekt"
stack = "SvelteKit / Python"
desc = "Kurzbeschreibung"
icon = "🚀"
status = "in-progress"
tags = ["#Tag1"]
cmd_start = "make start"
cmd_stop = "make stop"Dann einmal ausführen:
./scripts/restore-and-sync.shDas startet DB + App, legt ein Backup an, synct alle .project.toml in die
projekt-Tabelle und importiert vorhandene Projekt-Dokus (README.md,
AGENT(S).md, TODO.md, ROADMAP.md) als Wiki-Einträge. Idempotent —
beliebig oft wiederholbar. Deine Daten bleiben lokal: data/, backups/,
*.surql und knowledge/ sind gitignored und landen nie im Repo.
KAiOSS als App im Dock — Icon + Starter installieren:
./scripts/desktop/install-desktop-entry.shDanach per Super-Taste „KAiOSS" suchen → Rechtsklick → Zu Favoriten hinzufügen.
Es gibt zwei Einträge: KAiOSS (lokaler Stack, eigene Daten) und
KAiOSS Demo (Container) (Podman-Stack mit Demo-Volume). Beide bringen eine
„Stoppen"-Action im Rechtsklick-Menü mit. Icon: assets/icons/kaioss.svg.
KAiOSS ist mehr als ein Kanban-Tool. Es positioniert sich als "Brain for Developers": Local-First, IaC-basiert (NixOS), Hardware-Bridge (MCP), Offline-fähig und Silicon-unabhängig.
Die Idee: Alle KI-Chats und Projektdaten gebündelt in einer einzigen SurrealDB — lokal, privat, unter deiner Kontrolle.
Claude, Gemini, Perplexity, OpenAI, Groq, Ollama — jedes Gespräch, jede Entscheidung, jeder Plan wird in deiner eigenen Datenbank gespeichert. KAiOSS wird zur zentralen Schaltzentrale für KI-gestütztes Arbeiten.
Claude ──┐
Gemini ──┤
Groq ──┼──→ KAiOSS DB (SurrealDB) ──→ Projekte
Ollama ──┤ Wiki
OpenAI ──┘ Chat-History
TODOs
Agent-Log
- Lokal first — alle Daten bleiben auf deinem Gerät
- Open Source — Apache 2.0, Community-ready
- Model-agnostisch — kein Lock-in auf einen Anbieter
- Privacy by Design — API Keys nur in localStorage, nie in der DB
- SurrealDB — eine DB für alles: Relationen, Live Queries, Realtime
| Layer | Technologie |
|---|---|
| Frontend | React 18 + Vite 6 |
| Datenbank | SurrealDB 2.3.x |
| KAi Engine | Claude / Gemini / Groq / Ollama / OpenRouter |
| Agent | Goose + OpenCode |
| Styling | CSS Variables, Terminal-Ästhetik |
- Kanban Board mit Drag & Drop
- Wiki Panel (dynamisch aus SurrealDB)
- TodoPanel mit Snap-Points
- Backup Export (Terminal-Log)
- Wiki Auto-Sync bei neuen Projekten
- System-Manifest pro Projekt
- TODO-Progress Kanban-Balken
- Ghost Drop Indicator
- Board.jsx Refactor (globaler dropTarget State)
- KAi Wiki-Search in Cmd+K mit
[DOC]/[BUG]/[TODO]Badges - KAi Fallback via Ollama wenn keine Wiki-Treffer
- Obsidian Vault → SurrealDB Sync Button (File System Access API)
- Auto-Save im DetailPanel (500ms Debounce)
- Streaming (stream: true + ReadableStream)
- Download-Progress via /api/pull (ASCII Progress-Bar im Chat)
- Multi-Model KAi Hub (Claude, Gemini, Groq, Ollama)
- models.config.js (zentrales Modell-Routing mit DSGVO-Klassifizierung)
- DSGVO-Farbkodierung im Modell-Dropdown (🟢 lokal / 🟡 USA / 🔴 China)
- Chat-History in SurrealDB
- Remote DB Sync (opt-in, explizit)
- Chat-History Import (Claude/Gemini JSON Export)
- Ghost Drop zwischen Spalten
- Suchbegriff-Highlighting im Wiki
- Claude API Integration direkt in KAiOSS (Planungs-Agent)
- SurrealDB MCP-Server → Claude liest Projekte, Tasks, Wiki direkt
- Master-Agent (Qwen2.5:32b) orchestriert Sub-Agenten via GUI:
Task (SurrealDB) → Researcher Agent (Qwen2.5:7b) → Coder Agent (Qwen2.5-Coder:7b) → Reviewer Agent (gemma3:12b) → Status: DONE - GUI-Button "▶ Start Agent Pipeline" pro Projekt
- LIVE SELECT auf task_queue → Echtzeit-Pipeline-Status
- agent_log Panel (wer hat was wann gemacht)
- MCP-Tool: goose_spawn (startet Goose Sub-Sessions programmatisch)
- Per-Projekt isolierte Agent-Workspaces
- Zugriffskontrolle (
privat | team | öffentlich) - Recht auf Löschung via UI (DSGVO Art. 17)
- Datenexport eigener Daten (DSGVO Art. 20)
- Multi-User (Team-Modus)
- Community Release
- SurrealDB Showcase Einreichung
KAiOSS Dashboard
└── triggert Master-Agent (Goose + Qwen2.5:32b)
├── liest pending Tasks aus SurrealDB via MCP
├── entscheidet: welcher Sub-Agent für welchen Task
├── spawnt Goose Sub-Session
├── schreibt Ergebnis zurück in SurrealDB
└── wiederholt bis Queue leer
Claude Integration (zwei Modi):
A) API-Modus: KAiOSS → Anthropic API (mit DB-Kontext im Prompt)
B) MCP-Modus: claude.ai → MCP-Server → SurrealDB (direkter DB-Zugriff)
SurrealDB Vault
├── task_queue (status: pending/in_progress/done)
├── agent_log (agent, task, output, timestamp)
├── projects (agent workspaces)
└── wiki (agent knowledge base)
Modell-Split:
| Agent | Modell | RAM |
|---|---|---|
| Master | Qwen2.5:32b (Q4) | ~20 GB |
| Researcher | Qwen2.5:7b | ~5 GB |
| Coder | Qwen2.5-Coder:7b | ~5 GB |
| Reviewer | gemma3:12b | ~8 GB |
KAiOSS arbeitet nach dem Least-Privilege-Prinzip und isoliert AI-Agenten (KAi/Goose) vollständig vom Dateisystem.
- Kein Dateisystem-Zugriff: Die Goose-Konfiguration schränkt den Agenten über eine Tool-Whitelist ein. KAi darf nur die SurrealDB MCP-Tools (
surreal_query,surreal_select,surreal_update,surreal_create) ausführen. Dateisystem- und Shell-Tools sind blockiert. - Tabellen-Level Permissions (SurrealDB): Der Datenbank-User
kaibesitzt restriktive Berechtigungen:tasks/todos: SELECT, CREATE, UPDATE erlaubt,delete = false.wiki: SELECT, UPDATE erlaubt,create = false,delete = false.projects: Read-only (select = true).kai_log: SELECT, CREATE erlaubt,update = false,delete = false.
- Feld-Level Isolation (
kai.*): KAi darf Kernfelder wiestatus,prioritätodertitelnicht direkt ändern, sondern schreibt ausschließlich in das dedizierte Sub-Objektkai.*(z.B.kai.notiz,kai.aktion,kai.ts).
Weitere Details und Implementierungsspezifikationen befinden sich im Skill .kai/kaioss-kai-permissions.md.
KAiOSS ist Lokal-first — aber nicht alle Modelle sind gleich sicher.
| Modell | Anbieter | Sitz | DPF | DSGVO |
|---|---|---|---|---|
| Ollama (lokal) | — | Lokal | — | 🟢 kein Risiko |
| Qwen2.5 (lokal) | — | Lokal | — | 🟢 kein Risiko |
| DeepSeek (lokal) | — | Lokal | — | 🟢 kein Risiko |
| Mistral API | Mistral AI | 🇫🇷 EU | ✅ | 🟢 niedrig |
| Claude API | Anthropic | 🇺🇸 USA | ✅ | 🟡 mittel |
| Gemini API | 🇺🇸 USA | ✅ | 🟡 mittel | |
| Groq API | Groq | 🇺🇸 USA | ✅ | 🟡 mittel |
| OpenAI API | OpenAI | 🇺🇸 USA | ✅ | 🟡 mittel |
| Qwen API | Alibaba | 🇨🇳 China | ❌ | 🔴 kritisch |
| DeepSeek API | DeepSeek | 🇨🇳 China | ❌ | 🔴 kritisch |
| GLM / Zhipu API | Zhipu AI | 🇨🇳 China | ❌ | 🔴 kritisch |
⚠️ Wichtig: Lokale Modelle (Ollama) sind immer 🟢 — unabhängig vom Modell-Ursprung. Die Klassifizierung gilt nur für API-Aufrufe an externe Server. Chinesische Anbieter unterliegen dem chinesischen Datensicherheitsgesetz — Datenweitergabe an Behörden ist gesetzlich verpflichtend, kein DPF möglich.
localStorage → API Keys (nur lokal, nie übertragen, nie in DB)
SurrealDB → Chat-History, Wiki, Projekte, TODOs, Agent-Log
Remote Sync → optional, explizit opt-in, nie automatisch
Wenn du ein Cloud-Modell (🟡 / 🔴) nutzt, werden Prompts und Kontext an externe Server übertragen. KAiOSS zeigt dies im Modell-Dropdown durch Farbkodierung an.
- Art. 17 — Recht auf Löschung: eigene Daten löschbar via UI
- Art. 20 — Datenportabilität: Export aller eigenen Daten als JSON/SURQL
make db-demo # Startet mit Dummy-Daten im isolierten demo-NamespaceKAiOSS verfügt über einen interaktiven Setup-Wizard, der das System konfiguriert und optionale Module erkennt.
git clone https://github.com/diebugger-tech/KAiOSS
cd KAiOSS
# Interaktives Setup starten (erkennt OS und Module)
make setup-
Pflanternen (NixOS-spezifisch): Dieses Modul wird unter NixOS automatisch zur Installation vorgeschlagen. Es bietet Systemdiagnosen und Git-Hook Telemetrie im Namespace
pflanternen.Manuelle Aktivierung unter NixOS:
PFLANTERNEN_ENABLED=truein.env.localeintragen.- Datenbankschema laden:
make install-pflanternen
Konfiguration in .env (oder überschrieben in .env.local):
VITE_SURREAL_URL=ws://127.0.0.1:8000/rpc
VITE_SURREAL_USER=root
VITE_SURREAL_PASS=root
VITE_SURREAL_NS=kaioss
VITE_SURREAL_DB=kaioss
PFLANTERNEN_ENABLED=falsePlanung → Claude (Anthropic)
Code → Gemini 2.5 Flash
Ausführung → Goose + OpenCode
Reasoning → Qwen3 32B (Groq)
- Pflanternen NixOS KI-Automatisierungsframework
KAiOSS ist Open Source (Apache 2.0). Issues, PRs und Ideen sind willkommen.
Lies ROADMAP.md und TODO.md für den aktuellen Entwicklungsstand.
KAiOSS — KAi Open Source System, powered by SurrealDB