feat(agents): add search/filter, "New" badge, and duplicate name resolution
- Add search bar with real-time filtering on agent name and description - Add type filter chips (All, Veilleur, Chercheur, Surveillant, Personnalisé) - Add "New" badge on agents created within the last 24h (hydration-safe) - Auto-increment template names on duplicate install (e.g. "Veille Tech 2") - Add i18n keys for new UI elements in both fr and en locales Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,6 +85,8 @@
|
||||
"itemOrMediaRequired": "Please add at least one item or media",
|
||||
"noteCreated": "Note created successfully",
|
||||
"noteCreateFailed": "Failed to create note",
|
||||
"deleted": "Note deleted",
|
||||
"deleteFailed": "Failed to delete note",
|
||||
"aiAssistant": "AI Assistant",
|
||||
"changeSize": "Change size",
|
||||
"backgroundOptions": "Background options",
|
||||
@@ -143,7 +145,7 @@
|
||||
"undoShortcut": "Undo (Ctrl+Z)",
|
||||
"viewCards": "Cards View",
|
||||
"viewCardsTooltip": "Card grid with drag-and-drop reorder",
|
||||
"viewTabs": "Tabs View",
|
||||
"viewTabs": "List View",
|
||||
"viewTabsTooltip": "Tabs on top, note below — drag tabs to reorder",
|
||||
"viewModeGroup": "Notes display mode",
|
||||
"reorderTabs": "Reorder tab",
|
||||
@@ -282,7 +284,9 @@
|
||||
"createNewLabel": "Create this new label and add it",
|
||||
"new": "(new)",
|
||||
"create": "Create",
|
||||
"creating": "Creating labels..."
|
||||
"creating": "Creating labels...",
|
||||
"notesCount": "{count} notes",
|
||||
"typeForSuggestions": "Type content to get label suggestions..."
|
||||
},
|
||||
"batchOrganization": {
|
||||
"title": "Organize with AI",
|
||||
@@ -301,7 +305,8 @@
|
||||
},
|
||||
"notebookSummary": {
|
||||
"regenerate": "Regenerate Summary",
|
||||
"regenerating": "Regenerating summary..."
|
||||
"regenerating": "Regenerating summary...",
|
||||
"exportPDF": "Export as PDF"
|
||||
},
|
||||
"clarifyDesc": "Make the text clearer and easier to understand",
|
||||
"shortenDesc": "Summarize the text and get to the point",
|
||||
@@ -453,7 +458,10 @@
|
||||
"myLibrary": "My Library",
|
||||
"favorites": "Favorites",
|
||||
"recent": "Recent",
|
||||
"proPlan": "Pro Plan"
|
||||
"proPlan": "Pro Plan",
|
||||
"chat": "AI Chat",
|
||||
"lab": "The Lab",
|
||||
"agents": "Agents"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
@@ -467,11 +475,15 @@
|
||||
"notifications": "Notifications",
|
||||
"language": "Language",
|
||||
"selectLanguage": "Select language",
|
||||
"privacy": "Privacy",
|
||||
"security": "Security",
|
||||
"about": "About",
|
||||
"version": "Version",
|
||||
"settingsSaved": "Settings saved",
|
||||
"cardSizeMode": "Note Size",
|
||||
"cardSizeModeDescription": "Choose between variable sizes or uniform size",
|
||||
"selectCardSizeMode": "Select display mode",
|
||||
"cardSizeVariable": "Variable sizes (small/medium/large)",
|
||||
"cardSizeUniform": "Uniform size",
|
||||
"settingsError": "Error saving settings",
|
||||
"maintenance": "Maintenance",
|
||||
"maintenanceDescription": "Tools to maintain your database health",
|
||||
@@ -492,10 +504,7 @@
|
||||
"emailNotificationsDesc": "Receive important notifications by email",
|
||||
"desktopNotifications": "Desktop notifications",
|
||||
"desktopNotificationsDesc": "Receive notifications in your browser",
|
||||
"anonymousAnalytics": "Anonymous analytics",
|
||||
"anonymousAnalyticsDesc": "Share anonymous usage data to help improve the app",
|
||||
"notificationsDesc": "Manage your notification preferences",
|
||||
"privacyDesc": "Control your data and privacy"
|
||||
"notificationsDesc": "Manage your notification preferences"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Profile",
|
||||
@@ -652,7 +661,7 @@
|
||||
"removingReminder": "Failed to remove reminder"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"title": "Move to {icon} {name}?",
|
||||
"title": "Move to {name}?",
|
||||
"description": "This note seems to belong to this notebook",
|
||||
"move": "Move",
|
||||
"dismiss": "Dismiss",
|
||||
@@ -663,7 +672,10 @@
|
||||
"admin": {
|
||||
"title": "Admin Dashboard",
|
||||
"userManagement": "User Management",
|
||||
"aiTesting": "AI Testing",
|
||||
"chat": "AI Chat",
|
||||
"lab": "The Lab",
|
||||
"agents": "Agents",
|
||||
"workspace": "Workspace",
|
||||
"settings": "Admin Settings",
|
||||
"security": {
|
||||
"title": "Security Settings",
|
||||
@@ -680,6 +692,8 @@
|
||||
"tagsGenerationDescription": "AI provider for automatic tag suggestions. Recommended: Ollama (free, local).",
|
||||
"embeddingsProvider": "Embeddings Provider",
|
||||
"embeddingsDescription": "AI provider for semantic search embeddings. Recommended: OpenAI (best quality).",
|
||||
"chatProvider": "Chat Provider",
|
||||
"chatDescription": "AI provider for the chat assistant. Falls back to Tags provider if not configured.",
|
||||
"provider": "Provider",
|
||||
"baseUrl": "Base URL",
|
||||
"model": "Model",
|
||||
@@ -704,9 +718,25 @@
|
||||
"bestQuality": "Best quality",
|
||||
"saved": "(Saved)"
|
||||
},
|
||||
"resend": {
|
||||
"title": "Resend (Recommended)",
|
||||
"description": "Send emails via Resend API. Takes priority over SMTP if configured.",
|
||||
"apiKey": "Resend API Key",
|
||||
"apiKeyHint": "Get your API key from resend.com. Used for agent notifications and password resets.",
|
||||
"saveSettings": "Save Resend Settings",
|
||||
"updateSuccess": "Resend settings updated",
|
||||
"updateFailed": "Failed to update Resend settings",
|
||||
"configured": "Resend is configured and active"
|
||||
},
|
||||
"email": {
|
||||
"title": "Email Configuration",
|
||||
"description": "Configure email delivery for agent notifications and password resets.",
|
||||
"provider": "Email Provider",
|
||||
"saveSettings": "Save Email Settings"
|
||||
},
|
||||
"smtp": {
|
||||
"title": "SMTP Configuration",
|
||||
"description": "Configure email server for password resets.",
|
||||
"description": "Configure email server for password resets. Fallback if Resend is not configured.",
|
||||
"host": "Host",
|
||||
"port": "Port",
|
||||
"username": "Username",
|
||||
@@ -794,16 +824,35 @@
|
||||
"dashboard": "Dashboard",
|
||||
"users": "Users",
|
||||
"aiManagement": "AI Management",
|
||||
"chat": "AI Chat",
|
||||
"lab": "The Lab (Ideas)",
|
||||
"agents": "Agents",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"metrics": {
|
||||
"vsLastPeriod": "vs last period"
|
||||
},
|
||||
"tools": {
|
||||
"title": "Agent Tools",
|
||||
"description": "Configure external tools for agent tool-use: web search, web scraping, and API access.",
|
||||
"searchProvider": "Web Search Provider",
|
||||
"searxng": "SearXNG (Self-hosted)",
|
||||
"brave": "Brave Search API",
|
||||
"both": "Both (SearXNG primary, Brave fallback)",
|
||||
"searxngUrl": "SearXNG URL",
|
||||
"braveKey": "Brave Search API Key",
|
||||
"jinaKey": "Jina Reader API Key",
|
||||
"jinaKeyOptional": "Optional — works without but with rate limits",
|
||||
"jinaKeyDescription": "Used for web scraping. Works without a key but with rate limits.",
|
||||
"saveSettings": "Save Tools Settings",
|
||||
"updateSuccess": "Tools settings updated successfully",
|
||||
"updateFailed": "Failed to update tools settings"
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "About",
|
||||
"description": "Information about the application",
|
||||
"appName": "Keep Notes",
|
||||
"appName": "Memento",
|
||||
"appDescription": "A powerful note-taking application with AI-powered features",
|
||||
"version": "Version",
|
||||
"buildDate": "Build Date",
|
||||
@@ -980,8 +1029,17 @@
|
||||
"trash": {
|
||||
"title": "Trash",
|
||||
"empty": "The trash is empty",
|
||||
"emptyDescription": "Deleted notes will appear here",
|
||||
"restore": "Restore",
|
||||
"deletePermanently": "Delete Permanently"
|
||||
"deletePermanently": "Delete Permanently",
|
||||
"noteTrashed": "Note moved to trash",
|
||||
"noteRestored": "Note restored",
|
||||
"notePermanentlyDeleted": "Note permanently deleted",
|
||||
"emptyTrash": "Empty Trash",
|
||||
"emptyTrashConfirm": "Permanently delete all notes in the trash?",
|
||||
"emptyTrashSuccess": "Trash emptied",
|
||||
"permanentDelete": "Delete Permanently",
|
||||
"permanentDeleteConfirm": "This note will be permanently deleted. This action cannot be undone."
|
||||
},
|
||||
"footer": {
|
||||
"privacy": "Privacy",
|
||||
@@ -1066,7 +1124,7 @@
|
||||
"description": "Manage API keys and configure external tools",
|
||||
"whatIsMcp": {
|
||||
"title": "What is MCP?",
|
||||
"description": "The Model Context Protocol (MCP) is an open protocol that enables AI models to securely interact with external tools and data sources. With MCP, you can connect tools like Claude Code, Cursor, or N8N to your Keep Notes instance to read, create, and organize your notes programmatically.",
|
||||
"description": "The Model Context Protocol (MCP) is an open protocol that enables AI models to securely interact with external tools and data sources. With MCP, you can connect tools like Claude Code, Cursor, or N8N to your Memento instance to read, create, and organize your notes programmatically.",
|
||||
"learnMore": "Learn more about MCP"
|
||||
},
|
||||
"serverStatus": {
|
||||
@@ -1120,5 +1178,221 @@
|
||||
"description": "Use these credentials in your N8N MCP node:"
|
||||
}
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
"title": "Agents",
|
||||
"subtitle": "Automate your monitoring and research tasks",
|
||||
"newAgent": "New Agent",
|
||||
"myAgents": "My Agents",
|
||||
"searchPlaceholder": "Search agents...",
|
||||
"filterAll": "All",
|
||||
"newBadge": "New",
|
||||
"noResults": "No agents match your search.",
|
||||
"noAgents": "No agents",
|
||||
"noAgentsDescription": "Create your first agent or install a template below to automate your monitoring tasks.",
|
||||
"types": {
|
||||
"scraper": "Monitor",
|
||||
"researcher": "Researcher",
|
||||
"monitor": "Observer",
|
||||
"custom": "Custom"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"scraper": "Scrapes multiple sites and creates a summary",
|
||||
"researcher": "Searches for information on a topic",
|
||||
"monitor": "Watches a notebook and analyzes notes",
|
||||
"custom": "Free agent with your own prompt"
|
||||
},
|
||||
"form": {
|
||||
"agentType": "Agent type",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. Tuesday AI Watch",
|
||||
"description": "Description (optional)",
|
||||
"descriptionPlaceholder": "Weekly AI news summary",
|
||||
"urlsLabel": "URLs to scrape",
|
||||
"urlsOptional": "(optional)",
|
||||
"sourceNotebook": "Notebook to watch",
|
||||
"selectNotebook": "Select a notebook...",
|
||||
"targetNotebook": "Target notebook",
|
||||
"inbox": "Inbox",
|
||||
"instructions": "AI Instructions",
|
||||
"instructionsPlaceholder": "Describe the agent's behavior...",
|
||||
"frequency": "Frequency",
|
||||
"cancel": "Cancel",
|
||||
"saving": "Saving...",
|
||||
"save": "Save",
|
||||
"create": "Create agent",
|
||||
"editTitle": "Edit agent",
|
||||
"createTitle": "New agent",
|
||||
"nameRequired": "Name is required",
|
||||
"addUrl": "Add URL",
|
||||
"advancedMode": "Advanced mode",
|
||||
"instructionsHint": "replaces automatic prompt",
|
||||
"researchTopic": "Research topic",
|
||||
"researchTopicPlaceholder": "e.g. Latest advances in quantum computing",
|
||||
"notifyEmail": "Email notification",
|
||||
"notifyEmailHint": "Receive an email with the agent's results after each run"
|
||||
},
|
||||
"frequencies": {
|
||||
"manual": "Manual",
|
||||
"hourly": "Hourly",
|
||||
"daily": "Daily",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly"
|
||||
},
|
||||
"status": {
|
||||
"success": "Succeeded",
|
||||
"failure": "Failed",
|
||||
"running": "Running",
|
||||
"pending": "Pending"
|
||||
},
|
||||
"actions": {
|
||||
"edit": "Edit",
|
||||
"run": "Run",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Delete agent \"{name}\"?",
|
||||
"toggleOn": "Agent enabled",
|
||||
"toggleOff": "Agent disabled"
|
||||
},
|
||||
"toasts": {
|
||||
"created": "Agent created",
|
||||
"updated": "Agent updated",
|
||||
"deleted": "\"{name}\" deleted",
|
||||
"deleteError": "Error deleting",
|
||||
"runSuccess": "\"{name}\" executed successfully",
|
||||
"runError": "Error: {error}",
|
||||
"runFailed": "Execution failed",
|
||||
"runGenericError": "Error during execution",
|
||||
"toggleError": "Error toggling agent",
|
||||
"installSuccess": "\"{name}\" installed",
|
||||
"installError": "Error during installation",
|
||||
"saveError": "Error saving"
|
||||
},
|
||||
"templates": {
|
||||
"title": "Templates",
|
||||
"install": "Install",
|
||||
"installing": "Installing...",
|
||||
"veilleAI": {
|
||||
"name": "AI Watch",
|
||||
"description": "Scrapes RSS feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) and generates a weekly summary."
|
||||
},
|
||||
"veilleTech": {
|
||||
"name": "Tech Watch",
|
||||
"description": "Scrapes tech RSS feeds (Hacker News, DEV, Product Hunt) and creates a daily news summary."
|
||||
},
|
||||
"veilleDev": {
|
||||
"name": "Dev Watch",
|
||||
"description": "Scrapes dev RSS feeds (JavaScript, TypeScript, React) and summarizes new tech and frameworks."
|
||||
},
|
||||
"surveillant": {
|
||||
"name": "Note Observer",
|
||||
"description": "Analyzes recent notes from a notebook and suggests complements, references and links."
|
||||
},
|
||||
"chercheur": {
|
||||
"name": "Topic Researcher",
|
||||
"description": "Searches for in-depth information on a topic and creates a structured note with references."
|
||||
}
|
||||
},
|
||||
"runLog": {
|
||||
"title": "History",
|
||||
"noHistory": "No executions yet",
|
||||
"toolTrace": "{count} tool calls",
|
||||
"step": "Step {num}"
|
||||
},
|
||||
"tools": {
|
||||
"title": "Agent Tools",
|
||||
"webSearch": "Web Search",
|
||||
"webScrape": "Web Scrape",
|
||||
"noteSearch": "Note Search",
|
||||
"noteRead": "Read Note",
|
||||
"noteCreate": "Create Note",
|
||||
"urlFetch": "Fetch URL",
|
||||
"memorySearch": "Memory",
|
||||
"configNeeded": "config",
|
||||
"selected": "{count} selected",
|
||||
"maxSteps": "Max iterations"
|
||||
},
|
||||
"metadata": {
|
||||
"executions": "{count} exec."
|
||||
},
|
||||
"defaultRoles": {
|
||||
"scraper": "You are a monitoring assistant. Your role is to synthesize articles from different websites into a clear, structured and useful summary. Use section headings, bullet points and concise sentences.",
|
||||
"researcher": "You are a rigorous researcher. For the requested topic, produce a research note with: context, key points, debates, references.",
|
||||
"monitor": "You are an analytical assistant. Your role is to analyze provided notes and for each detected theme, suggest: leads to explore, references or articles to read, connections between notes.",
|
||||
"custom": "You are a helpful assistant."
|
||||
},
|
||||
"help": {
|
||||
"title": "Agents Guide",
|
||||
"btnLabel": "Help",
|
||||
"close": "Close",
|
||||
"whatIsAgent": "What is an 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.\n\nAgents respond in your language (French or English) based on your settings.",
|
||||
"howToUse": "How to use an agent?",
|
||||
"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": "Agent types",
|
||||
"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 (websites or RSS feeds)\n- **Default tools:** web scraping, note creation\n- **RSS tip:** Use RSS feed URLs (e.g. `site.com/feed`) to automatically scrape individual articles instead of listing pages\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": "Advanced mode (AI Instructions, Max iterations)",
|
||||
"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": "Available tools (full 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- **RSS/Atom support:** If the URL is an RSS feed, the tool automatically detects it, parses the feed and scrapes the 5 latest articles individually. Use RSS feed URLs for much richer content than listing pages.\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 the RSS feed at `techcrunch.com/feed/` and gets the 5 latest full articles.\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": "Frequency & scheduling",
|
||||
"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": "Target notebook",
|
||||
"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": "Templates",
|
||||
"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:\n\n- **AI Watch** — weekly roundup via RSS feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben)\n- **Tech Watch** — daily summary via RSS feeds from Hacker News, DEV Community, Product Hunt\n- **Dev Watch** — developer news via RSS feeds from DEV (JavaScript, TypeScript, React)\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nTemplates come with the right tools pre-configured. You can customize them after installation.",
|
||||
"tips": "Tips & troubleshooting",
|
||||
"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- **Use RSS feed URLs** instead of listing pages for much richer content (e.g. `techcrunch.com/feed/` instead of `techcrunch.com/category/ai/`)\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\n- **Agents respond in your language** — switch between French and English in settings",
|
||||
"tooltips": {
|
||||
"agentType": "Choose the type of task the agent will perform. Each type has different capabilities and fields.",
|
||||
"researchTopic": "The subject the agent will research on the web. Be specific for better results.",
|
||||
"description": "A short description of what this agent does. Helps you remember its purpose.",
|
||||
"urls": "List of URLs to scrape. Supports RSS feeds — use feed URLs for richer content (e.g. site.com/feed).",
|
||||
"sourceNotebook": "The notebook the agent will analyze. It reads notes from this notebook to find connections and themes.",
|
||||
"targetNotebook": "Where the agent's result note will be saved. Choose Inbox or a specific notebook.",
|
||||
"frequency": "How often the agent runs automatically. Start with Manual to test.",
|
||||
"instructions": "Custom instructions that replace the default AI prompt. Leave empty to use the automatic prompt.",
|
||||
"tools": "Select which tools the agent can use. Each tool gives the agent a specific capability.",
|
||||
"maxSteps": "Maximum number of reasoning cycles. More steps = deeper analysis but takes longer."
|
||||
}
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
"title": "AI Chat",
|
||||
"subtitle": "Chat with your notes and AI agents",
|
||||
"newConversation": "New conversation",
|
||||
"noHistory": "No history",
|
||||
"untitled": "Untitled conversation",
|
||||
"deleteConfirm": "Delete this conversation?",
|
||||
"yes": "Yes",
|
||||
"placeholder": "Send a message to the assistant...",
|
||||
"allNotebooks": "All notebooks",
|
||||
"inAllNotebooks": "In all notebooks",
|
||||
"active": "ACTIVE",
|
||||
"disclaimer": "AI can make mistakes. Verify important information.",
|
||||
"assistantError": "Assistant error",
|
||||
"loadError": "Error loading conversation",
|
||||
"createError": "Error creating conversation",
|
||||
"deleteError": "Error deleting",
|
||||
"renamed": "Conversation renamed",
|
||||
"renameError": "Error renaming",
|
||||
"welcome": "I'm here to help you synthesize your notes, generate new ideas, or discuss your notebooks.",
|
||||
"searching": "Searching..."
|
||||
},
|
||||
"labHeader": {
|
||||
"title": "The Lab",
|
||||
"live": "Live",
|
||||
"currentProject": "Current Project",
|
||||
"choose": "Choose...",
|
||||
"yourSpaces": "Your Spaces",
|
||||
"updated": "Updated",
|
||||
"newSpace": "New Thought Space",
|
||||
"new": "New",
|
||||
"renamed": "Space renamed",
|
||||
"renameError": "Error renaming",
|
||||
"created": "New space created",
|
||||
"createFailed": "Creation failed",
|
||||
"deleteSpace": "Delete space",
|
||||
"deleted": "Space deleted",
|
||||
"deleteError": "Error deleting"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user