fix(ui): tarifs publics unifiés et prix annuel lisible
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 7m5s
CI / Deploy production (on server) (push) Successful in 24s

La page tarifs reprend la barre du site public. En annuel, Pro affiche
8,25 € par mois (99 € l’année), plus le 99 € comme gros chiffre.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-09-01 17:43:05 +00:00
parent dcd7f38c11
commit 4fc5e3ce04
21 changed files with 721 additions and 602 deletions

View File

@@ -2190,7 +2190,7 @@
"custom": "Personalizado"
},
"typeDescriptions": {
"scraper": "Extrae contenido de múltiples sitios y crea un resumen",
"scraper": "Lee varios sitios y hace un resumen",
"researcher": "Busca información sobre un tema",
"monitor": "Observa un cuaderno y analiza notas",
"slideGenerator": "Crea una presentación de PowerPoint a partir de notas.",
@@ -2203,7 +2203,7 @@
"namePlaceholder": "ej. Vigilancia IA del martes",
"description": "Descripción (opcional)",
"descriptionPlaceholder": "Resumen semanal de noticias de IA",
"urlsLabel": "URLs a extraer",
"urlsLabel": "Direcciones de las páginas a leer",
"urlsOptional": "(opcional)",
"sourceNotebook": "Cuaderno a observar",
"selectNotebook": "Seleccionar un cuaderno...",
@@ -2248,7 +2248,7 @@
"notifyEmail": "Notificación por correo",
"notifyEmailHint": "Recibe un correo con los resultados del agente después de cada ejecución",
"includeImages": "Incluir imágenes",
"includeImagesHint": "Extraer imágenes de las páginas analizadas y adjuntarlas a la nota generada",
"includeImagesHint": "Tomar las imágenes de las páginas leídas y adjuntarlas a la nota",
"back": "Atrás",
"configuration": "Configuración",
"options": "Opciones",
@@ -2347,15 +2347,15 @@
},
"veilleAI": {
"name": "Vigilancia IA",
"description": "Extrae contenido de 5 sitios especializados en IA y genera un resumen semanal."
"description": "Lee 5 sitios de IA y escribe un resumen semanal."
},
"veilleTech": {
"name": "Vigilancia Tech",
"description": "Extrae contenido de los principales sitios tecnológicos y crea un resumen de noticias."
"description": "Lee los principales sitios tecnológicos y escribe un resumen de noticias."
},
"veilleDev": {
"name": "Vigilancia Dev",
"description": "Extrae contenido de sitios de desarrollo y resume nuevas tecnologías y frameworks."
"description": "Lee sitios de desarrollo y resume las novedades."
},
"surveillant": {
"name": "Observador de notas",
@@ -2402,7 +2402,7 @@
"tools": {
"title": "Herramientas del Agente",
"webSearch": "Búsqueda Web",
"webScrape": "Scraping Web",
"webScrape": "Lectura de páginas",
"noteSearch": "Búsqueda de Notas",
"noteRead": "Leer Nota",
"noteCreate": "Crear Nota",
@@ -2431,15 +2431,15 @@
"btnLabel": "Ayuda",
"close": "Cerrar",
"whatIsAgent": "¿Qué es un agente?",
"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.",
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, reading pages, 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 reads pages, then writes a structured note you can read later.",
"howToUse": "¿Cómo usar un agente?",
"howToUseContent": "1. Haz clic en **\"Nuevo agente\"** (o empieza desde una **Plantilla** al final de la página)\n2. Elige un **tipo de agente** (Investigador, Monitor, Observador, Personalizado)\n3. Dale un **nombre** y rellena los campos específicos del tipo\n4. Opcionalmente elige un **cuaderno de destino** donde se guardarán los resultados\n5. Elige una **frecuencia** (Manual = tú lo activas)\n6. Haz clic en **Crear**, luego pulsa el botón **Ejecutar** en la tarjeta del agente\n7. Cuando termine, aparecerá una nueva nota en tu cuaderno de destino",
"types": "Tipos de agentes",
"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",
"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, reading pages, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor\nReads a **list of pages** you give it and writes a summary.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** reading pages, 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": "Modo avanzado (Instrucciones IA, Iteraciones máx.)",
"advancedContent": "Haz clic en **\"Modo avanzado\"** en la parte inferior del formulario para acceder a ajustes adicionales.\n\n### Instrucciones de IA\n\nEste campo te permite **reemplazar el prompt del sistema por defecto** del agente. Si se deja vacío, el agente usa un prompt automático adaptado a su tipo.\n\n**¿Por qué usarlo?** Quieres controlar exactamente cómo se comporta el agente. Por ejemplo:\n- \"Escribe el resumen en inglés, aunque las fuentes estén en francés\"\n- \"Estructura la nota con secciones: Contexto, Puntos clave, Opinión personal\"\n- \"Ignora los artículos de hace más de 30 días y céntrate en noticias recientes\"\n- \"Para cada tema detectado, sugiere 3 pistas de seguimiento con enlaces\"\n\n> **Nota:** Tus instrucciones reemplazan los valores por defecto, no se añaden a ellos.\n\n### Iteraciones máximas\n\nEste es el **número máximo de ciclos** que puede realizar el agente. Un ciclo = el agente piensa, llama a una herramienta, lee el resultado y luego decide la siguiente acción.\n\n- **3-5 iteraciones:** para tareas simples (analizar una sola página)\n- **10 iteraciones (por defecto):** buen equilibrio para la mayoría de casos\n- **15-25 iteraciones:** para investigación profunda donde el agente necesita explorar múltiples pistas\n\n> **Advertencia:** Más iteraciones = más tiempo y potencialmente mayores costes de API.",
"tools": "Herramientas disponibles (detalle)",
"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.",
"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, then can read the most useful 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 reads the top 3.\n\n### Read web pages\nAllows the agent to **read the text of a page** from its address.\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": "Frecuencia y programación",
"frequencyContent": "| Frecuencia | Comportamiento\n|------------|-------------\n| **Manual** | Haces clic en \"Ejecutar\" tú mismo — sin programación automática\n| **Cada hora** | Se ejecuta cada hora\n| **Diario** | Se ejecuta una vez al día\n| **Semanal** | Se ejecuta una vez por semana\n| **Mensual** | Se ejecuta una vez al mes\n\n> **Consejo:** Empieza con \"Manual\" para probar tu agente, luego cambia a una frecuencia automática cuando estés satisfecho con los resultados.",
"targetNotebook": "Libreta destino",
@@ -2447,7 +2447,7 @@
"templates": "Plantillas",
"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": "Consejos y solución de problemas",
"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",
"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- **Page-reading 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": "Elija el tipo de tarea que realizará el agente. Cada tipo tiene diferentes capacidades y campos.",
"researchTopic": "El tema que el agente investigará en la web. Sea específico para mejores resultados.",
@@ -3176,7 +3176,8 @@
"fetchStatusFailed": "No se pudo obtener el estado de facturación",
"fetchQuotasFailed": "No se pudieron obtener las cuotas",
"fetchInvoicesFailed": "No se pudo cargar el historial de facturación.",
"savePercent": "Ahorra ~17%",
"savePercent": "Ahorra ~{percent} %",
"billedYearTotal": "o sea {price} al año",
"cancelSubscription": "Cancelar suscripción",
"changeOffer": "Cambiar de oferta",
"downgradeToFree": "Volver a la oferta gratuita",
@@ -3385,7 +3386,7 @@
"feature5": "Acompañamiento en la instalación"
},
"basicPrice": "Gratis",
"savePercent": "Ahorra ~17%",
"savePercent": "Ahorra ~{percent} %",
"proMonthly": "9,90€",
"proAnnualMonthly": "8,25€",
"businessMonthly": "29,90€",
@@ -3665,7 +3666,7 @@
"mappingHint": "Esto puede tardar de uno a tres minutos. Puedes seguir navegando; la página se actualizará cuando termine.",
"analyzeNow": "Actualizar los temas",
"emptyNeedMoreNotes": "Añade {count} notas más para agrupar tus temas (mínimo 10).",
"embeddingsHint": "Solo {indexed} de {total} notas están indexadas para IA.",
"embeddingsHint": "Solo {indexed} de {total} notas están listas para agrupar por temas.",
"vsGraphHint": "Esto no es lo mismo que el \"Mapa de enlaces\" (icono de red en la barra lateral): aquí, la IA agrupa tus notas por tema.",
"openGraphMap": "Abrir mapa de enlaces",
"analysisFailed": "Análisis fallido. Revisa tu configuración de IA.",
@@ -4492,7 +4493,7 @@
"convertSuccess": "¡Conversión completa! Cuaderno vinculado creado.",
"convertToNotebook": "Convertir a cuaderno",
"converting": "Convirtiendo…",
"createLocalDb": "Crear una base de datos local independiente",
"createLocalDb": "Crear una tabla en esta nota",
"createNotebook": "Crear",
"defaultOption1": "Opción 1",
"defaultOption2": "Opción 2",
@@ -4514,7 +4515,7 @@
"keywordMatch": "Palabra clave",
"linkToNotebook": "Enlazar un cuaderno",
"loadError": "Error al cargar datos estructurados.",
"localDbTitle": "Base de datos independiente",
"localDbTitle": "Tabla en esta nota",
"namePlaceholder": "Introduce un nombre…",
"noEchoFound": "No se encontraron notas cercanas.",
"noNotebook": "Este bloque requiere un cuaderno. Mueve esta nota a un cuaderno primero.",
@@ -4528,8 +4529,8 @@
"selectNotebook": "Enlazar un cuaderno",
"selectOptionsPlaceholder": "Opciones separadas por comas",
"semanticEcho": "Resonancias semánticas",
"switchToLocalDb": "Cambiar a base de datos local",
"turnIntoLabel": "Base de datos en línea",
"switchToLocalDb": "Volver a la tabla de esta nota",
"turnIntoLabel": "Tabla en la nota",
"untitled": "Sin título"
},
"structuredViews": {