refactor(ux): consolidate BMAD skills, update design system, and clean up Prisma generated client

This commit is contained in:
Sepehr Ramezani
2026-04-19 19:21:27 +02:00
parent 5296c4da2c
commit 25529a24b8
2476 changed files with 127934 additions and 101962 deletions

View File

@@ -1,7 +1,7 @@
{
"about": {
"appDescription": "Eine leistungsstarke Notiz-Anwendung mit KI-gestützten Funktionen",
"appName": "Keep Notes",
"appName": "Memento",
"buildDate": "Build-Datum",
"description": "Informationen über die Anwendung",
"features": {
@@ -69,7 +69,9 @@
"providerOllamaOption": "🦙 Ollama (Local & Free)",
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
"saved": "(Gespeichert)"
"saved": "(Gespeichert)",
"chatProvider": "Chat-Anbieter",
"chatDescription": "KI-Anbieter für den Chat-Assistenten. Fällt auf den Tags-Anbieter zurück, wenn nicht konfiguriert."
},
"aiTest": {
"description": "Testen Sie Ihre KI-Anbieter für Tag-Generierung und semantische Such-Embeddings",
@@ -93,7 +95,22 @@
"tipDescription": "Verwenden Sie das KI-Test-Panel, um Konfigurationsprobleme vor dem Testen zu diagnostizieren.",
"tipTitle": "Tipp:",
"title": "KI-Anbieter-Tests",
"vectorDimensions": "Vektor-Dimensionen"
"vectorDimensions": "Vektor-Dimensionen",
"tagsGenerationTest": "🏷️ Tags-Generierungs-Test:",
"tagsStep1": "Sendet eine Beispielnote an den KI-Anbieter",
"tagsStep2": "Fordert 3-5 relevante Tags basierend auf dem Inhalt",
"tagsStep3": "Zeigt die generierten Tags mit Konfidenzwerten",
"tagsStep4": "Misst die Antwortzeit",
"embeddingsTestLabel": "🔍 Embeddings-Test:",
"embeddingsStep1": "Sendet einen Beispieltext an den Embedding-Anbieter",
"embeddingsStep2": "Generiert eine Vektordarstellung (Zahlenliste)",
"embeddingsStep3": "Zeigt Embedding-Dimensionen und Beispielwerte",
"embeddingsStep4": "Überprüft, ob der Vektor gültig und korrekt formatiert ist",
"tipContent": "Sie können verschiedene Anbieter für Tags und Embeddings verwenden! Nutzen Sie z.B. Ollama (kostenlos) für Tags und OpenAI (beste Qualität) für Embeddings, um Kosten und Leistung zu optimieren.",
"testSuccessToast": "Test {type} erfolgreich!",
"testFailedToast": "Test {type} fehlgeschlagen",
"testingType": "Teste {type}...",
"technicalDetails": "Technische Details"
},
"aiTesting": "KI-Tests",
"security": {
@@ -105,6 +122,22 @@
"updateSuccess": "Sicherheitseinstellungen aktualisiert"
},
"settings": "Admin-Einstellungen",
"resend": {
"title": "Resend (Empfohlen)",
"description": "E-Mails über die Resend-API senden. Wird gegenüber SMTP bevorzugt, wenn konfiguriert.",
"apiKey": "Resend API-Schlüssel",
"apiKeyHint": "Holen Sie sich Ihren API-Schlüssel von resend.com. Wird für Agent-Benachrichtigungen und Passwortzurücksetzungen verwendet.",
"saveSettings": "Resend-Einstellungen speichern",
"updateSuccess": "Resend-Einstellungen aktualisiert",
"updateFailed": "Resend-Einstellungen konnten nicht aktualisiert werden",
"configured": "Resend ist konfiguriert und aktiv"
},
"email": {
"title": "E-Mail-Konfiguration",
"description": "E-Mail-Versand für Agent-Benachrichtigungen und Passwortzurücksetzungen konfigurieren.",
"provider": "E-Mail-Anbieter",
"saveSettings": "E-Mail-Einstellungen speichern"
},
"smtp": {
"description": "E-Mail-Server für Passwortzurücksetzungen konfigurieren.",
"forceSSL": "SSL/TLS erzwingen (normalerweise für Port 465)",
@@ -153,6 +186,38 @@
"name": "Name",
"role": "Rolle"
}
},
"chat": "AI Chat",
"lab": "The Lab",
"agents": "Agents",
"workspace": "Workspace",
"sidebar": {
"dashboard": "Dashboard",
"users": "Benutzer",
"aiManagement": "KI-Verwaltung",
"chat": "KI-Chat",
"lab": "Das Labor (Ideen)",
"agents": "Agenten",
"settings": "Einstellungen"
},
"metrics": {
"vsLastPeriod": "vs vorheriger Zeitraum"
},
"tools": {
"title": "Agenten-Werkzeuge",
"description": "Externe Werkzeuge für die Agenten-Nutzung konfigurieren: Websuche, Web-Scraping und API-Zugriff.",
"searchProvider": "Websuche-Anbieter",
"searxng": "SearXNG (Selbst-gehostet)",
"brave": "Brave Search API",
"both": "Beide (SearXNG primär, Brave Fallback)",
"searxngUrl": "SearXNG-URL",
"braveKey": "Brave Search API-Schlüssel",
"jinaKey": "Jina Reader API-Schlüssel",
"jinaKeyOptional": "Optional — funktioniert ohne, aber mit Ratenbegrenzung",
"jinaKeyDescription": "Wird für Web-Scraping verwendet. Funktioniert ohne Schlüssel, aber mit Ratenbegrenzung.",
"saveSettings": "Werkzeugeinstellungen speichern",
"updateSuccess": "Werkzeugeinstellungen erfolgreich aktualisiert",
"updateFailed": "Fehler beim Aktualisieren der Werkzeugeinstellungen"
}
},
"ai": {
@@ -201,7 +266,8 @@
"languageDetected": "Sprache erkannt",
"notebookSummary": {
"regenerate": "Zusammenfassung neu generieren",
"regenerating": "Zusammenfassung wird neu generiert..."
"regenerating": "Zusammenfassung wird neu generiert...",
"exportPDF": "Als PDF exportieren"
},
"original": "Original",
"poweredByAI": "Powered by KI",
@@ -229,7 +295,21 @@
"transformError": "Fehler bei der Umwandlung",
"transformMarkdown": "In Markdown umwandeln",
"transformSuccess": "Text erfolgreich in Markdown umgewandelt!",
"transforming": "Wird umgewandelt..."
"transforming": "Wird umgewandelt...",
"clarifyDesc": "Den Text klarer und verständlicher machen",
"shortenDesc": "Den Text zusammenfassen und auf den Punkt bringen",
"improve": "Schreiben verbessern",
"improveDesc": "Grammatik korrigieren und Stil verbessern",
"toMarkdown": "Als Markdown formatieren",
"toMarkdownDesc": "Überschriften, Aufzählungen hinzufügen und den Text strukturieren",
"translate": "Übersetzen",
"translateDesc": "Die Sprache des Textes ändern",
"translateBack": "Zurück",
"translationApplied": "Übersetzung angewendet",
"translationFailed": "Übersetzung fehlgeschlagen",
"undo": "KI rückgängig machen",
"undoAI": "KI-Transformation rückgängig machen",
"undoApplied": "Originaltext wiederhergestellt"
},
"aiSettings": {
"description": "Konfigurieren Sie Ihre KI-gesteuerten Funktionen und Präferenzen",
@@ -255,7 +335,11 @@
},
"appearance": {
"description": "Anpassen, wie die App aussieht",
"title": "Erscheinungsbild"
"title": "Erscheinungsbild",
"notesViewDescription": "Wählen Sie, wie Notizen auf der Startseite und in Notizbüchern angezeigt werden.",
"notesViewLabel": "Notizen-Ansicht",
"notesViewTabs": "Tabs (OneNote-Stil)",
"notesViewMasonry": "Karten (Raster)"
},
"auth": {
"backToLogin": "Zurück zur Anmeldung",
@@ -537,7 +621,9 @@
"showLess": "Weniger anzeigen",
"showMore": "Mehr anzeigen",
"tagAdded": "Tag \"{tag}\" hinzugefügt",
"title": "Labels"
"title": "Labels",
"confirmDeleteShort": "Bestätigen?",
"labelRemoved": "Label \"{label}\" entfernt"
},
"memoryEcho": {
"clickToView": "Klicken zum Anzeigen",
@@ -611,7 +697,8 @@
"thanksFeedback": "Danke für Ihr Feedback!",
"thanksFeedbackImproving": "Danke! Wir werden dies zur Verbesserung nutzen.",
"title": "Ich habe etwas bemerkt...",
"viewConnection": "Verbindung anzeigen"
"viewConnection": "Verbindung anzeigen",
"match": "{percentage}% Übereinstimmung"
},
"nav": {
"accountSettings": "Kontoeinstellungen",
@@ -646,7 +733,10 @@
"supportDevelopment": "Memento-Entwicklung unterstützen ☕",
"trash": "Papierkorb",
"userManagement": "Benutzerverwaltung",
"workspace": "Arbeitsbereich"
"workspace": "Arbeitsbereich",
"chat": "KI-Chat",
"lab": "Das Labor",
"agents": "Agenten"
},
"notebook": {
"cancel": "Abbrechen",
@@ -667,7 +757,16 @@
"selectIcon": "Symbol",
"summary": "Notizbuch-Zusammenfassung",
"summaryDescription": "Generieren Sie eine KI-gestützte Zusammenfassung aller Notizen in diesem Notizbuch.",
"summaryError": "Fehler beim Generieren der Zusammenfassung"
"summaryError": "Fehler beim Generieren der Zusammenfassung",
"namePlaceholder": "z.B. Q4 Marketing-Strategie",
"myNotebook": "Mein Notizbuch",
"saving": "Speichern...",
"pdfTitle": "Zusammenfassung — {name}",
"pdfNotesLabel": "Notizen:",
"pdfGeneratedOn": "Erstellt am:",
"confidence": "Konfidenz",
"savingReminder": "Fehler beim Speichern der Erinnerung",
"removingReminder": "Fehler beim Entfernen der Erinnerung"
},
"notebookSuggestion": {
"description": "Diese Notiz scheint zu diesem Notizbuch zu gehören",
@@ -676,7 +775,7 @@
"generalNotes": "Allgemeine Notizen",
"move": "Verschieben",
"moveToNotebook": "In Notizbuch verschieben",
"title": "Nach {icon} {name} verschieben?"
"title": "Nach {name} verschieben?"
},
"notebooks": {
"allNotebooks": "Alle Notizbücher",
@@ -784,7 +883,16 @@
"unpinned": "Nicht angepinnt",
"untitled": "Unbenannt",
"uploadFailed": "Upload fehlgeschlagen für {filename}",
"view": "Notiz anzeigen"
"view": "Notiz anzeigen",
"emptyStateTabs": "Keine Notizen in dieser Ansicht. Nutzen Sie \"Neue Notiz\" in der Seitenleiste (KI-Titelvorschläge im Composer verfügbar).",
"viewCards": "Kartenansicht",
"viewCardsTooltip": "Kartenraster mit Drag-and-Drop-Umsortierung",
"viewTabs": "Listenansicht",
"viewTabsTooltip": "Tabs oben, Notiz unten — Tabs ziehen zum Umsortieren",
"viewModeGroup": "Notizen-Anzeigemodus",
"reorderTabs": "Tab umsortieren",
"modified": "Geändert",
"created": "Erstellt"
},
"pagination": {
"next": "→",
@@ -909,7 +1017,18 @@
"themeLight": "Hell",
"themeSystem": "System",
"title": "Einstellungen",
"version": "Version"
"version": "Version",
"cleanupDone": "{created} Label synchronisiert, {deleted} verwaiste gelöscht",
"cleanupNothing": "Keine Aktion nötig — Labels sind bereits mit Ihren Notizen synchronisiert",
"cleanupWithErrors": "einige Vorgänge sind fehlgeschlagen",
"cleanupError": "Labels konnten nicht bereinigt werden",
"indexingComplete": "Indexierung abgeschlossen: {count} Notiz(en) verarbeitet",
"indexingError": "Fehler bei der Indexierung",
"emailNotifications": "E-Mail-Benachrichtigungen",
"emailNotificationsDesc": "Wichtige Benachrichtigungen per E-Mail erhalten",
"desktopNotifications": "Desktop-Benachrichtigungen",
"desktopNotificationsDesc": "Benachrichtigungen im Browser erhalten",
"notificationsDesc": "Verwalten Sie Ihre Benachrichtigungseinstellungen"
},
"sidebar": {
"archive": "Archive",
@@ -917,7 +1036,10 @@
"labels": "Labels",
"notes": "Notes",
"reminders": "Reminders",
"trash": "Trash"
"trash": "Trash",
"newNoteTabs": "Neue Notiz",
"newNoteTabsHint": "Notiz in diesem Notizbuch erstellen",
"noLabelsInNotebook": "Keine Labels in diesem Notizbuch"
},
"support": {
"aiApiCosts": "KI-API-Kosten:",
@@ -987,10 +1109,19 @@
"thanksFeedbackImproving": "Danke! Wir werden dies zur Verbesserung nutzen."
},
"trash": {
"deletePermanently": "Dauerhaft löschen",
"title": "Papierkorb",
"empty": "Der Papierkorb ist leer",
"emptyDescription": "Gelöschte Notizen werden hier angezeigt",
"restore": "Wiederherstellen",
"title": "Papierkorb"
"deletePermanently": "Dauerhaft löschen",
"noteTrashed": "Notiz in den Papierkorb verschoben",
"noteRestored": "Notiz wiederhergestellt",
"notePermanentlyDeleted": "Notiz dauerhaft gelöscht",
"emptyTrash": "Papierkorb leeren",
"emptyTrashConfirm": "Alle Notizen im Papierkorb dauerhaft löschen?",
"emptyTrashSuccess": "Papierkorb geleert",
"permanentDelete": "Dauerhaft löschen",
"permanentDeleteConfirm": "Diese Notiz wird dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden."
},
"ui": {
"close": "Schließen",
@@ -1003,7 +1134,7 @@
"description": "API-Schlüssel verwalten und externe Tools konfigurieren",
"whatIsMcp": {
"title": "Was ist MCP?",
"description": "Das Model Context Protocol (MCP) ist ein offenes Protokoll, das es KI-Modellen ermöglicht, sicher mit externen Tools und Datenquellen zu interagieren. Mit MCP können Sie Tools wie Claude Code, Cursor oder N8N mit Ihrer Keep Notes-Instanz verbinden, um Ihre Notes programmgesteuert zu lesen, zu erstellen und zu organisieren.",
"description": "Das Model Context Protocol (MCP) ist ein offenes Protokoll, das es KI-Modellen ermöglicht, sicher mit externen Tools und Datenquellen zu interagieren. Mit MCP können Sie Tools wie Claude Code, Cursor oder N8N mit Ihrer Memento-Instanz verbinden, um Ihre Notes programmgesteuert zu lesen, zu erstellen und zu organisieren.",
"learnMore": "Mehr über MCP erfahren"
},
"serverStatus": {
@@ -1057,5 +1188,241 @@
"description": "Verwenden Sie diese Anmeldeinformationen in Ihrem N8N MCP-Knoten:"
}
}
},
"agents": {
"title": "Agenten",
"subtitle": "Automatisieren Sie Ihre Überwachungs- und Recherheaufgaben",
"newAgent": "Neuer Agent",
"myAgents": "Meine Agenten",
"noAgents": "Keine Agenten",
"noAgentsDescription": "Erstellen Sie Ihren ersten Agenten oder installieren Sie unten eine Vorlage, um Ihre Überwachungsaufgaben zu automatisieren.",
"types": {
"scraper": "Monitor",
"researcher": "Rechercheur",
"monitor": "Beobachter",
"custom": "Benutzerdefiniert"
},
"typeDescriptions": {
"scraper": "Extrahiert Inhalte von mehreren Websites und erstellt eine Zusammenfassung",
"researcher": "Sucht nach Informationen zu einem Thema",
"monitor": "Überwacht ein Notizbuch und analysiert Notizen",
"custom": "Freier Agent mit Ihrem eigenen Prompt"
},
"form": {
"agentType": "Agententyp",
"name": "Name",
"namePlaceholder": "z.B. Dienstag KI-Watch",
"description": "Beschreibung (optional)",
"descriptionPlaceholder": "Wöchentliche KI-Nachrichtenzusammenfassung",
"urlsLabel": "URLs zum Extrahieren",
"urlsOptional": "(optional)",
"sourceNotebook": "Zu überwachendes Notizbuch",
"selectNotebook": "Notizbuch auswählen...",
"targetNotebook": "Ziel-Notizbuch",
"inbox": "Posteingang",
"instructions": "KI-Anweisungen",
"instructionsPlaceholder": "Beschreiben Sie das Verhalten des Agenten...",
"frequency": "Häufigkeit",
"cancel": "Abbrechen",
"saving": "Wird gespeichert...",
"save": "Speichern",
"create": "Agent erstellen",
"editTitle": "Agent bearbeiten",
"createTitle": "Neuer Agent",
"nameRequired": "Name ist erforderlich",
"addUrl": "URL hinzufügen",
"advancedMode": "Erweiterter Modus",
"instructionsHint": "ersetzt den automatischen Prompt",
"researchTopic": "Recherchethema",
"researchTopicPlaceholder": "z.B. Neueste Fortschritte in der Quantencomputer",
"notifyEmail": "E-Mail-Benachrichtigung",
"notifyEmailHint": "Erhalten Sie eine E-Mail mit den Ergebnissen des Agenten nach jedem Durchlauf"
},
"frequencies": {
"manual": "Manuell",
"hourly": "Stündlich",
"daily": "Täglich",
"weekly": "Wöchentlich",
"monthly": "Monatlich"
},
"status": {
"success": "Erfolgreich",
"failure": "Fehlgeschlagen",
"running": "Läuft",
"pending": "Ausstehend"
},
"actions": {
"edit": "Bearbeiten",
"run": "Ausführen",
"delete": "Löschen",
"deleteConfirm": "Agenten \"{name}\" löschen?",
"toggleOn": "Agent aktiviert",
"toggleOff": "Agent deaktiviert"
},
"toasts": {
"created": "Agent erstellt",
"updated": "Agent aktualisiert",
"deleted": "\"{name}\" gelöscht",
"deleteError": "Fehler beim Löschen",
"runSuccess": "\"{name}\" erfolgreich ausgeführt",
"runError": "Fehler: {error}",
"runFailed": "Ausführung fehlgeschlagen",
"runGenericError": "Fehler bei der Ausführung",
"toggleError": "Fehler beim Umschalten des Agenten",
"installSuccess": "\"{name}\" installiert",
"installError": "Fehler bei der Installation",
"saveError": "Fehler beim Speichern"
},
"templates": {
"title": "Vorlagen",
"install": "Installieren",
"installing": "Wird installiert...",
"veilleAI": {
"name": "KI-Watch",
"description": "Extrahiert Inhalte von 5 KI-spezialisierten Websites und erstellt eine wöchentliche Zusammenfassung."
},
"veilleTech": {
"name": "Tech-Watch",
"description": "Extrahiert Inhalte von großen Tech-Websites und erstellt eine Nachrichtenübersicht."
},
"veilleDev": {
"name": "Dev-Watch",
"description": "Extrahiert Inhalte von Entwickler-Websites und fasst neue Technologien und Frameworks zusammen."
},
"surveillant": {
"name": "Notiz-Beobachter",
"description": "Analysiert aktuelle Notizen aus einem Notizbuch und schlägt Ergänzungen, Referenzen und Verknüpfungen vor."
},
"chercheur": {
"name": "Themen-Rechercheur",
"description": "Sucht nach tiefgehenden Informationen zu einem Thema und erstellt eine strukturierte Notiz mit Referenzen."
}
},
"runLog": {
"title": "Verlauf",
"noHistory": "Noch keine Ausführungen",
"toolTrace": "{count} Werkzeugaufrufe",
"step": "Schritt {num}"
},
"tools": {
"title": "Agenten-Werkzeuge",
"webSearch": "Websuche",
"webScrape": "Web-Scraping",
"noteSearch": "Notizsuche",
"noteRead": "Notiz lesen",
"noteCreate": "Notiz erstellen",
"urlFetch": "URL abrufen",
"memorySearch": "Gedächtnis",
"configNeeded": "Konfiguration",
"selected": "{count} ausgewählt",
"maxSteps": "Max. Iterationen"
},
"metadata": {
"executions": "{count} Ausf."
},
"defaultRoles": {
"scraper": "Sie sind ein Überwachungsassistent. Fassen Sie Artikel von verschiedenen Websites zu einer klaren, strukturierten Zusammenfassung zusammen.",
"researcher": "Sie sind ein gründlicher Rechercheur. Erstellen Sie für das angeforderte Thema eine Forschungsnotiz mit Kontext, Kernpunkten, Debatten und Referenzen.",
"monitor": "Sie sind ein analytischer Assistent. Analysieren Sie die bereitgestellten Notizen und schlagen Sie Ansätze, Referenzen und Verbindungen zwischen Notizen vor.",
"custom": "Sie sind ein hilfreicher Assistent."
},
"help": {
"title": "Agenten-Leitfaden",
"btnLabel": "Hilfe",
"close": "Schließen",
"whatIsAgent": "Was ist ein Agent?",
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
"howToUse": "Wie verwendet man einen Agenten?",
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
"types": "Agententypen",
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
"advanced": "Erweiterter Modus (KI-Anweisungen, Max. Iterationen)",
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
"tools": "Verfügbare Werkzeuge (Details)",
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
"frequency": "Häufigkeit & Planung",
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
"targetNotebook": "Zielnotizbuch",
"targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.",
"templates": "Vorlagen",
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
"tips": "Tipps & Fehlerbehebung",
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
"tooltips": {
"agentType": "Wählen Sie die Art der Aufgabe, die der Agent ausführen soll. Jeder Typ hat unterschiedliche Funktionen und Felder.",
"researchTopic": "Das Thema, das der Agent im Web recherchieren soll. Seien Sie spezifisch für bessere Ergebnisse.",
"description": "Eine kurze Beschreibung, was dieser Agent tut. Hilft Ihnen, seinen Zweck zu merken.",
"urls": "Liste der zu scrapenden Websites. Der Agent besucht jede URL und extrahiert den Inhalt.",
"sourceNotebook": "Das Notizbuch, das der Agent analysieren wird. Es liest Notizen aus diesem Notizbuch, um Verbindungen und Themen zu finden.",
"targetNotebook": "Wo die Ergebnisnotiz des Agents gespeichert wird. Wählen Sie Posteingang oder ein bestimmtes Notizbuch.",
"frequency": "Wie oft der Agent automatisch läuft. Starten Sie mit Manuell zum Testen.",
"instructions": "Benutzerdefinierte Anweisungen, die den Standard-KI-Prompt ersetzen. Leer lassen für automatischen Prompt.",
"tools": "Wählen Sie die Werkzeuge, die der Agent verwenden kann. Jedes Werkzeug gibt dem Agent eine spezifische Fähigkeit.",
"maxSteps": "Maximale Anzahl von Denkachlägen. Mehr Schritte = tiefere Analyse, dauert aber länger."
}
}
},
"chat": {
"title": "KI-Chat",
"subtitle": "Chatten Sie mit Ihren Notizen und KI-Agenten",
"newConversation": "Neues Gespräch",
"noHistory": "Kein Verlauf",
"untitled": "Unbenanntes Gespräch",
"deleteConfirm": "Dieses Gespräch löschen?",
"yes": "Ja",
"placeholder": "Nachricht an den Assistenten senden...",
"allNotebooks": "Alle Notizbücher",
"inAllNotebooks": "In allen Notizbüchern",
"active": "AKTIV",
"disclaimer": "KI kann Fehler machen. Überprüfen Sie wichtige Informationen.",
"assistantError": "Assistenten-Fehler",
"loadError": "Fehler beim Laden des Gesprächs",
"createError": "Fehler beim Erstellen des Gesprächs",
"deleteError": "Fehler beim Löschen",
"renamed": "Gespräch umbenannt",
"renameError": "Fehler beim Umbenennen",
"welcome": "Ich bin hier, um Ihnen zu helfen, Ihre Notizen zusammenzufassen, neue Ideen zu generieren oder Ihre Notizbücher zu besprechen.",
"searching": "Wird gesucht...",
"noNotesFoundForContext": "Keine relevanten Notizen für diese Frage gefunden. Antworte mit deinem Allgemeinwissen."
},
"labHeader": {
"title": "Das Labor",
"live": "Live",
"currentProject": "Aktuelles Projekt",
"choose": "Auswählen...",
"yourSpaces": "Ihre Räume",
"updated": "Aktualisiert",
"newSpace": "Neuer Denkraum",
"new": "Neu",
"renamed": "Raum umbenannt",
"renameError": "Fehler beim Umbenennen",
"created": "Neuer Raum erstellt",
"createFailed": "Erstellung fehlgeschlagen",
"deleteSpace": "Raum löschen",
"deleted": "Raum gelöscht",
"deleteError": "Fehler beim Löschen"
},
"notification": {
"shared": "hat \"{title}\" geteilt",
"untitled": "Unbenannt",
"notifications": "Benachrichtigungen",
"accept": "Accept",
"accepted": "Share accepted",
"decline": "Decline",
"declined": "Freigabe abgelehnt",
"noNotifications": "No new notifications",
"removed": "Note aus der Liste entfernt"
},
"reminders": {
"title": "Erinnerungen",
"empty": "Keine Erinnerungen",
"emptyDescription": "Fügen Sie einer Note eine Erinnerung hinzu, um sie hier zu finden.",
"upcoming": "Anstehend",
"overdue": "Überfällig",
"done": "Erledigt",
"markDone": "Als erledigt markieren",
"markUndone": "Als nicht erledigt markieren",
"todayAt": "Heute um {time}",
"tomorrowAt": "Morgen um {time}"
}
}