ByteRover – Wie KI ein Gedächtnis bekommt
ByteRover ist die Gedächtnisschicht, die Künstliche Intelligenz bisher gefehlt hat. Ein Memory Layer, der Coding-Agents echtes Langzeitgedächtnis, Reflexion und Kontext über viele Sessions hinweg ermöglicht.
Künstliche Intelligenz hat in den letzten Jahren unglaubliche Fortschritte gemacht. Sprachmodelle können Code schreiben, Bilder generieren, Projekte strukturieren und komplexe Entscheidungen vorbereiten. Doch trotz aller beeindruckenden Fähigkeiten gibt es einen wunden Punkt: Gedächtnis.
Inhaltsverzeichnis
- Das Gedächtnisproblem der KI
- Was ist ByteRover?
- Technische Architektur
- Praktische Anwendungsfälle
- Integration in bestehende Tools
- Hands-On: ByteRover einrichten
- Datenschutz & Sicherheit
- Grenzen und Herausforderungen
- Die Zukunft des KI-Gedächtnisses
- Ressourcen & nächste Schritte
Das Gedächtnisproblem der KI
Wer regelmäßig mit KI arbeitet – ob beim Coden, Schreiben oder Planen –, merkt schnell: Jedes Mal, wenn eine neue Session startet, ist alles weg.
Der Kontext ist verloren. Die KI weiß nicht mehr:
- Was in der letzten Unterhaltung besprochen wurde
- Welche Architekturentscheidungen getroffen wurden
- Wie ein bestimmtes Problem gelöst wurde
- Warum Ansatz A statt Ansatz B gewählt wurde
Sie denkt nicht in fortlaufenden Projekten, sondern in flüchtigen Momenten.
Das Prompt-Copy-Paste-Dilemma
Die aktuelle Lösung? Entwickler kopieren mühsam:
# Typischer Workflow ohne Gedächtnis:
1. Projektkontext in .txt-Datei sammeln
2. Bei jeder neuen Session: Kontext kopieren + einfügen
3. Architekturentscheidungen erneut erklären
4. Codebase-Struktur wiederholen
5. Coding-Standards neu definieren
Das ist nicht nur ineffizient – es führt auch zu Inkonsistenzen, weil der kopierte Kontext nie vollständig ist.
Warum das Problem jetzt akut wird
Mit dem Aufstieg von Coding-Agents (Cursor, Warp AI, GitHub Copilot Workspace, Aider) wird das Gedächtnisproblem kritisch:
- Lange Projekte erstrecken sich über Wochen oder Monate
- Team-Collaboration erfordert geteilten Kontext
- Debugging zieht sich über mehrere Sessions
- Architekturentscheidungen müssen nachvollziehbar bleiben
Genau hier setzt ByteRover an.
Was ist ByteRover?
ByteRover ist kein neuer AI-Agent oder Code-Assistent – es ist die Infrastruktur, die bestehende Agenten intelligenter macht.
Definition
ByteRover ist ein Memory Layer, der mit KI-Systemen wie ChatGPT, Claude, Cursor oder Warp interagieren kann. Er merkt sich, was bisher passiert ist, speichert wichtige Informationen in strukturierter Form und stellt sie zukünftigen Sessions wieder zur Verfügung.
Man kann sich ByteRover vorstellen wie eine externe Festplatte fürs Denken:
| Ohne ByteRover | Mit ByteRover |
|---|---|
| Session-basiertes Arbeiten | Projektübergreifende Kontinuität |
| Context-Window-Limitierung | Unbegrenzte Historie |
| Keine Reflexion | Metakognitive Fähigkeiten |
| Manuelles Copy-Paste | Automatische Kontextübergabe |
| Isolierte Tools | Tool-übergreifendes Wissen |
Die Technologie dahinter
ByteRover wurde entwickelt von Campfire Intelligence, einem Unternehmen, das an der Schnittstelle zwischen AI, DevOps und Memory Engineering arbeitet.
Das zugrundeliegende Open-Source-Projekt heißt Cipher und bildet die technische Basis für den Gedächtnislayer:
- Cipher = Die Engine (Open Source, selbst hostbar)
- ByteRover = Cloud-Service + Enterprise-Features
- MCP Protocol = Standard-Schnittstelle für Tool-Integration
Das Ziel: KI soll sich erinnern können – an Projekte, an Zusammenhänge, an Menschen.
Technische Architektur
ByteRover basiert auf einem mehrschichtigen Gedächtnissystem. Die Architektur unterscheidet zwischen drei Hauptarten von Speicher:
1. Knowledge Memory (Faktisches Wissen)
Das ist der deklarative Speicher: Daten, Projektinformationen, Code-Patterns, technische Entscheidungen.
Beispiele:
- Welche Library wurde warum verwendet?
- Wie lautet die Struktur der API?
- Welche Coding-Standards gelten im Projekt?
- Welche Environment-Variablen werden benötigt?
{
"memory_type": "knowledge",
"project": "ecommerce-backend",
"topic": "authentication",
"content": {
"library": "jsonwebtoken",
"reason": "Industry standard, well-maintained, supports RS256",
"configuration": {
"algorithm": "RS256",
"expiresIn": "15m",
"refreshToken": "7d"
},
"related_files": [
"src/auth/jwt.service.ts",
"src/middleware/auth.middleware.ts"
]
},
"timestamp": "2025-09-01T14:23:00Z"
}
Knowledge Memory ist das, was du bei jedem Neustart sonst neu erklären müsstest.
2. Reflection Memory (Metakognition)
Dieser Teil ist besonders spannend: ByteRover speichert nicht nur was entschieden wurde, sondern auch warum.
Er merkt sich:
- Denkpfade und Entscheidungsprozesse
- Fehlversuche und deren Learnings
- Aha-Momente und Pattern-Erkennungen
- Trade-offs zwischen verschiedenen Ansätzen
{
"memory_type": "reflection",
"context": "database-selection",
"reflection": {
"decision": "Chose PostgreSQL over MongoDB",
"reasoning": [
"Need for ACID transactions in payment flow",
"Complex relational queries for reporting",
"Team has more PostgreSQL experience",
"Better TypeScript integration with Prisma"
],
"alternatives_considered": [
{
"option": "MongoDB",
"pros": ["Flexible schema", "Horizontal scaling"],
"cons": ["Weak consistency model", "Complex joins"]
}
],
"lessons_learned": "Schema flexibility isn't worth sacrificing transaction guarantees for financial data"
}
}
Dadurch kann der Agent später sagen:
“Letztes Mal habe ich mich für Ansatz A entschieden, weil B zu instabil war und C nicht mit unseren Transaction-Requirements kompatibel ist.”
Das ist mehr als Erinnerung – das ist ein Schritt in Richtung metakognitives Denken für KI-Systeme.
3. Knowledge Graph (Semantisches Netzwerk)
Alle Erinnerungen werden in einem semantischen Netzwerk miteinander verbunden. Das erlaubt Querbeziehungen:
[Auth Module]
├─── uses → [JWT Library]
│ └─── configured_in → [jwt.config.ts]
│
├─── depends_on → [User Service]
│ └─── uses → [PostgreSQL]
│
├─── tested_by → [auth.test.ts]
│ └─── covers → [Login Flow, Token Refresh]
│
└─── documented_in → [API_DOCS.md]
└─── related_ticket → [JIRA-1234]
Beispiel-Queries:
- “Welche Module hängen von der User-Datenbank ab?”
- “Zeige alle Entscheidungen bezüglich Security”
- “Welche Tests betreffen das Auth-System?”
Der Vorteil: Kontext wird nicht nur gespeichert, sondern verstanden und verknüpft.
4. Infrastruktur-Stack
ByteRover/Cipher setzt auf moderne Speichertechnologien:
# Vector Stores (für semantisches Erinnern)
- Qdrant (empfohlen, Cloud oder Self-Hosted)
- Milvus (für große Deployments)
- In-Memory (für Development)
# Chat History & Structured Data
- PostgreSQL (Production)
- SQLite (Development/Local)
# Graph Storage
- Knowledge Graph für Relationen
- RDF-basierte Tripel-Speicherung
# API Layer
- REST API für direkte Integration
- MCP Protocol Server für Tool-Integration
- WebSocket für Real-Time Updates
Konfiguration über .env:
# Vector Store
VECTOR_STORE_TYPE=qdrant
VECTOR_STORE_URL=https://your-cluster.qdrant.io
VECTOR_STORE_API_KEY=your-api-key
# Database
CIPHER_PG_URL=postgresql://user:pass@localhost:5432/cipher_db
# LLM Provider (mindestens einer erforderlich)
OPENAI_API_KEY=sk-your-key
ANTHROPIC_API_KEY=sk-ant-your-key
# Features
USE_WORKSPACE_MEMORY=true
SEARCH_MEMORY_TYPE=both # knowledge, reflection, both
Damit kann praktisch jedes Tool, das MCP unterstützt, mit ByteRover interagieren – vom Editor bis zur CLI.
Praktische Anwendungsfälle
Der praktische Nutzen zeigt sich sofort, wenn man mit Coding-Agents arbeitet.
Use Case 1: Multi-Session Debugging
Szenario: Ein komplexer Bug zieht sich über mehrere Tage.
Ohne ByteRover:
Tag 1: "Es gibt einen Memory Leak im Auth-Service"
→ Session endet, Kontext verloren
Tag 2: "Was war nochmal das Problem?"
→ Entwickler erklärt alles neu
→ KI startet bei Null
Tag 3: Gleiche Geschichte...
Mit ByteRover:
Tag 1:
Agent: "Ich speichere: Memory Leak in Auth-Service,
vermutlich JWT-Token-Caching-Problem"
Tag 2:
Agent: "Ich erinnere mich an den Memory Leak.
Gestern haben wir Redis-Logs analysiert.
Soll ich den Token-TTL-Mechanismus prüfen?"
Tag 3:
Agent: "Update: Token-Cleanup-Job läuft nicht.
Das erklärt den Leak. Soll ich einen Fix erstellen?"
Use Case 2: Architekturentscheidungen dokumentieren
Problem: Warum wurde vor 3 Monaten Entscheidung X getroffen?
// Entwickler findet diesen Code:
import { Redis } from 'ioredis';
// Frage: "Warum Redis statt Memcached?"
ByteRover Query:
$ cipher query "Why did we choose Redis?"
> Found in Reflection Memory (2025-06-15):
>
> Decision: Redis over Memcached
> Reasoning:
> - Need for data persistence (not just caching)
> - Pub/Sub required for WebSocket notifications
> - Better TypeScript integration
> - Team already uses Redis in production
>
> Context: Session with @max on 2025-06-15
> Related: See design_spec.json in /docs/architecture/
Use Case 3: Team-Collaboration mit geteiltem Kontext
Szenario: Max arbeitet an der API, Lisa an der Frontend-Integration.
ByteRover synchronisiert:
Max (Backend):
"Ich habe die neue Login-Route erstellt: POST /api/v2/auth/login
Response-Format: { token, refreshToken, expiresIn }"
ByteRover speichert → Knowledge Memory
Lisa (Frontend, nächster Tag):
"Wie sieht die neue Login-API aus?"
Agent:
"Max hat gestern POST /api/v2/auth/login implementiert.
Die Response enthält token, refreshToken, expiresIn.
Soll ich dir ein TypeScript-Interface generieren?"
Use Case 4: Onboarding neuer Entwickler
# Neues Teammitglied startet
$ cipher summary --project ecommerce-backend
> Project: ecommerce-backend
> Stack: Node.js, TypeScript, PostgreSQL, Redis
>
> Key Decisions:
> - Using Repository Pattern (see docs/patterns/)
> - JWT auth with RS256 (security requirement)
> - Prisma ORM for type-safety
>
> Recent Work:
> - Payment integration (Stripe) - in progress
> - New admin dashboard API - completed
>
> Getting Started:
> 1. npm install
> 2. Setup .env (see .env.example)
> 3. npm run db:migrate
Use Case 5: CI/CD Integration
# .github/workflows/ai-review.yml
name: AI Code Review with Memory
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: AI Review with ByteRover Context
run: |
# Agent hat Zugriff auf Project Memory
cipher review \
--pr ${{ github.event.pull_request.number }} \
--context project:ecommerce-backend \
--check-patterns \
--check-consistency
Der Agent kann prüfen:
- “Folgt dieser Code unseren etablierten Patterns?”
- “Ist das konsistent mit früheren Entscheidungen?”
- “Wurden alle Abhängigkeiten berücksichtigt?”
Integration in bestehende Tools
Der Clou an ByteRover ist, dass es nicht eine weitere Oberfläche ist, sondern sich nahtlos in bestehende Systeme integrieren lässt.
5.1 Warp – KI im Terminal mit Gedächtnis
Warp ist ein moderner Terminal-Emulator mit KI-Unterstützung. Er versteht Befehle, hilft bei Fehlerdiagnosen und kann Skripte generieren.
In Kombination mit ByteRover wird Warp dauerhaft intelligent.
Workflow-Beispiel:
# Tag 1: Deployment-Setup
$ warp ai "Setup production deployment for Next.js"
Agent: "Creating deployment script..."
# ByteRover speichert: Deployment-Config, verwendete Tools, Umgebungsvariablen
# Tag 5: Ähnliche Aufgabe
$ warp ai "Deploy to staging"
Agent: "Ich erinnere mich an dein Production-Setup.
Soll ich dieselbe Konfiguration nutzen, aber mit Staging-Variablen?"
Integration:
- MCP-Server starten:
# ByteRover/Cipher als MCP Server
cd cipher
npm run mcp:start
- Warp konfigurieren:
// ~/.warp/mcp.json
{
"mcp_servers": {
"byterover": {
"url": "http://localhost:3000",
"memory": true,
"workspace": "/Users/yourname/projects"
}
}
}
- Verwendung:
# Warp AI nutzt automatisch ByteRover für Kontext
$ warp ai "Continue where we left off yesterday"
Agent: "You were debugging the Redis connection issue.
We identified that the timeout was too short.
Should I update the config?"
Ergebnis: Ein Terminal, das dich kennt, deinen Stil versteht – und sich an deine Arbeit erinnert.
5.2 Cursor – IDE mit persistentem Projektkontext
Cursor ist ein KI-powered Code-Editor (VSCode Fork).
Mit ByteRover:
// Du öffnest Cursor eine Woche nach dem letzten Coding-Session
// Cursor + ByteRover:
"Willkommen zurück! Letzte Woche hast du am Payment-Modul gearbeitet.
Du wolltest noch die Stripe-Webhooks implementieren.
Soll ich da weitermachen?"
Setup:
// .cursor/settings.json
{
"ai.memoryProvider": {
"type": "mcp",
"server": "http://localhost:3000",
"project": "ecommerce-backend"
}
}
5.3 ChatGPT / Claude via CLI
Für Entwickler, die lieber im Terminal arbeiten:
# Installation
npm install -g @byterover/cli
# Konfiguration
byterover config set api-key YOUR_API_KEY
byterover config set memory-backend qdrant
# Chat mit Gedächtnis
byterover chat "Explain the authentication flow"
# Agent erinnert sich an frühere Diskussionen:
> "In our last discussion, we decided to use JWT with RS256.
> The flow is: Login → JWT → Refresh Token → Logout.
> Should I show you the implementation?"
5.4 GitHub Copilot Workspace Integration
# .github/copilot-workspace.yml
memory:
provider: byterover
endpoint: https://api.byterover.io
project: ecommerce-backend
context:
include:
- architecture-decisions
- coding-standards
- team-preferences
Hands-On: ByteRover einrichten
Installation (Cipher Open Source)
# 1. Repository klonen
git clone https://github.com/campfirein/cipher
cd cipher
# 2. Dependencies installieren
npm install
# 3. Environment konfigurieren
cp .env.example .env
nano .env
Minimale Konfiguration
# .env - Minimales Setup
OPENAI_API_KEY=sk-your-openai-key
VECTOR_STORE_TYPE=in-memory # Für lokales Testing
Production-Ready Setup
# .env - Production
# API Keys
OPENAI_API_KEY=sk-your-key
ANTHROPIC_API_KEY=sk-ant-your-key
# Vector Store (Qdrant Cloud)
VECTOR_STORE_TYPE=qdrant
VECTOR_STORE_URL=https://your-cluster.qdrant.io
VECTOR_STORE_API_KEY=your-qdrant-key
# Database
CIPHER_PG_URL=postgresql://user:pass@localhost:5432/cipher_db
# Features
USE_WORKSPACE_MEMORY=true
SEARCH_MEMORY_TYPE=both
CIPHER_LOG_LEVEL=info
REDACT_SECRETS=true
MCP Server starten
# Development
npm run dev
# Production
npm run build
npm run start:mcp
# Als Service (systemd)
sudo systemctl start cipher-mcp
API-Nutzung (Programmatisch)
import { CipherClient } from '@byterover/client';
const cipher = new CipherClient({
endpoint: 'http://localhost:3000',
apiKey: process.env.CIPHER_API_KEY
});
// Wissen speichern
await cipher.memory.save({
type: 'knowledge',
project: 'my-app',
topic: 'database-schema',
content: {
tables: ['users', 'posts', 'comments'],
orm: 'Prisma',
migrations: 'handled by prisma migrate'
}
});
// Wissen abrufen
const memories = await cipher.memory.search({
project: 'my-app',
query: 'database setup',
type: 'knowledge',
limit: 5
});
console.log(memories);
CLI-Tools
# Memory suchen
cipher search "authentication flow" --project my-app
# Reflexionen anzeigen
cipher reflect --topic security --last-week
# Project Summary
cipher summary --project my-app
# Memory Export (für Backup)
cipher export --project my-app --output backup.json
# Memory Import
cipher import --file backup.json
Datenschutz & Sicherheit
Wichtige Prinzipien
1. Lokale Kontrolle:
# ByteRover/Cipher kann komplett lokal laufen
VECTOR_STORE_TYPE=in-memory
CIPHER_PG_URL=sqlite://./local.db
2. Secret Redaction:
# Automatisches Entfernen sensibler Daten
REDACT_SECRETS=true # Entfernt API-Keys, Passwörter aus Memories
3. Selektives Speichern:
// Explizite Kontrolle, was gespeichert wird
cipher.memory.save({
content: data,
sensitivity: 'private', // private | internal | public
retention: '30d' // Auto-Delete nach 30 Tagen
});
4. Project Isolation:
# Memories sind pro Projekt isoliert
cipher config set isolation-mode strict
5. Encryption at Rest:
# Datenbank-Verschlüsselung
CIPHER_ENCRYPTION_KEY=your-32-byte-key
VECTOR_STORE_TLS=true
Compliance-Optionen
# GDPR-konform
data_residency: eu-west-1
data_retention: 90d
right_to_deletion: enabled
data_export: enabled
# Self-Hosted Option
deployment: on-premises
cloud_sync: disabled
Grenzen und Herausforderungen
Was ByteRover NICHT ist
❌ Kein autonomer Agent
- ByteRover agiert nicht selbstständig
- Es speichert nur, handelt aber nur auf Befehl
❌ Kein Ersatz für Dokumentation
- Ergänzt, ersetzt aber nicht strukturierte Docs
- Memories sind kein Replacement für README.md
❌ Kein Magic Bullet
- Garbage in, Garbage out
- Qualität hängt von Input-Qualität ab
Herausforderungen
1. Memory-Management:
# Problem: Zu viele Memories → Noise
# Lösung: Regelmäßiges Cleanup + Relevanz-Scoring
cipher cleanup --project my-app --older-than 90d
cipher prune --relevance-threshold 0.3
2. Kontext-Inflation:
- Zu viel Kontext kann KI überfordern
- Balance zwischen “genug” und “zu viel”
3. Team-Synchronisation:
- Shared Memories brauchen Konventionen
- Wer darf was speichern/löschen?
4. Costs:
- Vector-Datenbanken können teuer werden bei Scale
- LLM-API-Calls für Memory-Embedding
Best Practices
// ✅ DO: Strukturierte, fokussierte Memories
await cipher.memory.save({
type: 'knowledge',
topic: 'auth-jwt-config',
content: { algorithm: 'RS256', expiry: '15m' },
tags: ['security', 'authentication']
});
// ❌ DON'T: Unstrukturierte Text-Dumps
await cipher.memory.save({
type: 'knowledge',
content: "So we talked about stuff and decided things..."
});
Die Zukunft des KI-Gedächtnisses
ByteRover ist erst der Anfang. Die nächste Evolution:
1. Multi-Agent Collaboration
[Architect Agent] → Design Spec → [ByteRover]
↓
[Coder Agent] ← Implementation Context ←┘
↓
[Reviewer Agent] ← Code History ← [ByteRover]
↓
[DevOps Agent] ← Deployment Memory ← [ByteRover]
Jeder Agent trägt zu einem gemeinsamen Gedächtnis bei.
2. Cross-Project Learning
# Agent lernt über Projekte hinweg:
"Ich sehe, du hast in 3 Projekten dasselbe Auth-Pattern verwendet.
Soll ich das als Template speichern?"
3. Temporal Reasoning
# Agent versteht zeitliche Zusammenhänge:
"Dieses Problem tritt immer nach Deployments auf.
Vermutlich ein Cache-Invalidierung-Issue."
4. Personalisierung
# Agent lernt deine Vorlieben:
"Du bevorzugst funktionale Patterns über OOP.
Soll ich dir eine FP-Lösung zeigen?"
5. Federated Memory Networks
Team A Memory ←→ Shared Knowledge Graph ←→ Team B Memory
↕
Public Patterns Library
Teams teilen Best Practices, nicht Code.
Ressourcen & nächste Schritte
Zum Ausprobieren
1. Quick Start (5 Minuten):
# Lokales Cipher-Setup
git clone https://github.com/campfirein/cipher
cd cipher
npm install
cp .env.example .env
npm run dev
# Test
curl http://localhost:3000/health
2. Mit Warp integrieren (10 Minuten):
# MCP-Config erstellen
mkdir -p ~/.warp
cat > ~/.warp/mcp.json <<EOF
{
"mcp_servers": {
"cipher": {
"url": "http://localhost:3000"
}
}
}
EOF
# Warp neu starten
3. Ersten Memory speichern:
cipher save \
--project test \
--type knowledge \
--topic "getting-started" \
--content "ByteRover is awesome!"
cipher search "awesome" --project test
Schlusswort: Von flüchtigen Momenten zu dauerhaftem Wissen
Künstliche Intelligenz hat eine beeindruckende Reise hinter sich – von einfachen Regelwerken über maschinelles Lernen bis hin zu generativen Sprachmodellen, die Code schreiben und komplexe Probleme lösen können.
Doch eine Fähigkeit fehlte bisher fundamental: Kontinuität.
ByteRover und Cipher schließen diese Lücke. Sie verwandeln KI von einem reaktiven Werkzeug in einen kontinuierlichen Partner – einen, der sich erinnert, der lernt, der reflektiert.
Was das für Entwickler bedeutet
Stell dir vor:
- Dein Terminal kennt deine Projekte
- Dein Code-Editor versteht deinen Architektur-Kontext
- Deine KI erinnert sich an Entscheidungen von vor Wochen
- Dein Team teilt semantisches Wissen, nicht nur Code
Das ist keine Science Fiction mehr – das ist heute möglich.
Der größere Kontext
ByteRover ist Teil einer größeren Bewegung:
Von statischen Modellen zu dynamischen, lernenden Systemen.
Es geht nicht mehr nur darum, was eine KI kann – sondern was sie weiß und erinnert.
Und das ist erst der Anfang.
Was du jetzt tun kannst
1. Experimentieren:
- Installiere Cipher lokal
- Probiere die Warp-Integration
- Speichere deine ersten Memories
2. Integrieren:
- Binde ByteRover in deine bestehenden Workflows ein
- Teste mit einem kleinen Projekt
- Evaluiere den Mehrwert für dein Team
3. Beitragen:
- Cipher ist Open Source – deine Ideen sind willkommen
- Teile deine Use Cases in der Community
- Hilf, die Zukunft des KI-Gedächtnisses zu gestalten
4. Reflektieren:
- Welche Probleme löst Gedächtnis in deinem Workflow?
- Welche neuen Möglichkeiten eröffnet es?
- Wie verändert es die Art, wie du mit KI arbeitest?
ByteRover ist kein weiterer AI-Assistent.
Es ist die Infrastruktur, die alle bestehenden Assistenten schlauer macht.
Es sorgt dafür, dass dein Agent nicht nur reagiert, sondern sich erinnert, reflektiert und versteht.
In einer Welt, in der jede KI bei Null anfängt, ist ByteRover der erste Schritt zu dauerhafter Intelligenz.
Ein Stück Langzeitgedächtnis – für deine Projekte, deine Ideen, und vielleicht irgendwann: für dich selbst.
Hast du ByteRover bereits ausprobiert? Teile deine Erfahrungen in den Kommentaren oder auf Twitter mit #ByteRover #KIGedächtnis