[{"data":1,"prerenderedAt":3339},["ShallowReactive",2],{"search-navigation":3,"index-articles-es":36},[4,8,12,16,20,24,28,32],{"title":5,"path":6,"stem":7},"Solving AI Agent Skills Fragmentation with npx skills","\u002Farticle\u002Fcentralised-the-skills-for-agents","en\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":9,"path":10,"stem":11},"Stop Exposing Your Vault: Secure NodeWarden with Cloudflare","\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","en\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":13,"path":14,"stem":15},"How to Self-Host a BitWarden Compatible Password Vault","\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare","en\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare",{"title":17,"path":18,"stem":19},"Google Antigravity 2 Hands-On: Setup & First Impressions","\u002Farticle\u002Fsetup-antigravity-2","en\u002Farticle\u002Fsetup-antigravity-2",{"title":21,"path":22,"stem":23},"NetSuite AI Connector Guide: MCP Setup & Use Cases","\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude","en\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude",{"title":25,"path":26,"stem":27},"Testing Claude Fable 5: A Financial Analysis Review","\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis","en\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis",{"title":29,"path":30,"stem":31},"Guide to Browser and Scheduler in Antigravity 2","\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2","en\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2",{"title":33,"path":34,"stem":35},"Antigravity 2 in Action: AI Agents, Skills, and MCP","\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2","en\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2",[37,525,736,965,1314,2057,2496,2743],{"id":38,"title":39,"author":40,"body":41,"category":40,"date":502,"description":503,"extension":504,"image":505,"imageAlt":506,"isPublished":507,"meta":508,"minRead":519,"navigation":507,"path":520,"seo":521,"stem":523,"__hash__":524},"article\u002Fes\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude.md","Guía del Conector de IA de NetSuite: Configuración de MCP",null,{"type":42,"value":43,"toc":485},"minimark",[44,48,64,69,80,96,100,241,245,300,304,356,360,365,371,376,380,386,398,402,412,428,432,438,443,447,453,456,460],[45,46,47],"p",{},"Oracle NetSuite ha sido durante mucho tiempo una plataforma de planificación de recursos empresariales (ERP) en la nube para pequeñas y medianas empresas. Sin embargo, la interfaz de usuario de su sitio web es famosa por su empinada curva de aprendizaje, una navegación que requiere muchos clics y estructuras de informes rígidas.",[45,49,50,51,55,56,59,60,63],{},"Con el reciente lanzamiento de ",[52,53,54],"strong",{},"NetSuite AI Connector Service",", los usuarios pueden aprovechar el ",[52,57,58],{},"Model Context Protocol (MCP)"," y los ",[52,61,62],{},"asistentes de IA (inteligencia artificial)"," para hacer preguntas directamente en lenguaje natural y obtener respuestas en tiempo real de sus datos financieros y operativos.",[65,66,68],"h2",{"id":67},"cómo-funciona-el-conector-de-ia-mcp-de-netsuite","Cómo funciona el Conector de IA MCP de NetSuite",[45,70,71,72,75,76,79],{},"El ",[52,73,74],{},"MCP de NetSuite"," expone un conjunto de herramientas a la ",[52,77,78],{},"IA",", como la ejecución de consultas SuiteQL, la lectura de búsquedas guardadas e informes, o la ejecución de operaciones de registro como la creación de un nuevo registro de cliente. Todas las herramientas están reguladas por los permisos nativos basados en roles de NetSuite.",[45,81,82,83,85,86,88,89,92,93,95],{},"Cuando un usuario hace una pregunta en lenguaje natural, la ",[52,84,78],{}," utiliza el ",[52,87,58],{}," para traducir la solicitud en operaciones estructuradas que NetSuite comprende. ",[52,90,91],{},"NetSuite"," ejecuta las operaciones utilizando los permisos del usuario y los resultados se devuelven a la ",[52,94,78],{}," para su análisis y presentación.",[65,97,99],{"id":98},"guía-de-configuración-de-netsuite-ai-connector","Guía de configuración de NetSuite AI Connector",[101,102,103,164,178,187,194,201,222],"ol",{},[104,105,106,107,110,111,114],"li",{},"Habilitar ",[52,108,109],{},"Server SuiteScript"," y ",[52,112,113],{},"REST Web Services",[101,115,116,129,157],{},[104,117,118,119,123,124],{},"Vaya a ",[120,121,122],"em",{},"Configuración > Empresa > Habilitar funciones",".\n",[125,126],"img",{"alt":127,"src":128},"Interfaz de configuración de Habilitar Características de Oracle NetSuite para Configuración de Empresa","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-setup-company-enable-features.webp",[104,130,131,132,135,136],{},"En la subpestaña ",[52,133,134],{},"SuiteCloud",":\n",[137,138,139,148],"ul",{},[104,140,141,142,123,144],{},"En SuiteScript, marque la casilla ",[52,143,109],{},[125,145],{"alt":146,"src":147},"Habilitando SuiteScript de Servidor en la pestaña SuiteCloud de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-enable-features-server-suitescript.webp",[104,149,150,151,123,153],{},"En SuiteTalk (servicios web), marque la casilla ",[52,152,113],{},[125,154],{"alt":155,"src":156},"Habilitando Servicios Web REST en la pestaña SuiteCloud de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-enable-features-rest-web-services.webp",[104,158,159,160,163],{},"Haga clic en ",[52,161,162],{},"Guardar",".",[104,165,166,167,170,171,123,174],{},"Instale primero ",[52,168,169],{},"NetSuite MCP Standard Tools",". Haga clic en ",[120,172,173],{},"Personalización > Desarrollo de SuiteCloud > SuiteApp Marketplace",[125,175],{"alt":176,"src":177},"Navegación al mercado de aplicaciones SuiteApp Marketplace bajo Personalización en NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-marketplace-navigation.webp",[104,179,180,181,123,183],{},"Busque ",[52,182,169],{},[125,184],{"alt":185,"src":186},"Búsqueda de NetSuite MCP Standard Tools en el mercado de SuiteApps","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-marketplace-search-mcp-tools.webp",[104,188,189,190],{},"Una vez instalado, verá el estado 'Instalado' a la derecha.\n",[125,191],{"alt":192,"src":193},"NetSuite MCP Standard Tools mostrado como instalado en el mercado de SuiteApps","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-installed-status-mcp-tools.webp",[104,195,196,197],{},"Siga las mismas instrucciones para instalar 'NetSuite AI Connector Service Companion'.\n",[125,198],{"alt":199,"src":200},"NetSuite AI Connector Service Companion mostrado como instalado","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-installed-ai-connector-companion.webp",[104,202,203,204],{},"Configurar un registro de integración\n",[101,205,206,215],{},[104,207,118,208,123,211],{},[120,209,210],{},"Configuración > Integración > Administrar integraciones",[125,212],{"alt":213,"src":214},"Navegación a Administrar Integraciones en el menú de configuración de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-integration-manage-integrations-navigation.webp",[104,216,217,218],{},"Cree un registro de integración para ChatGPT, y regresaremos con el token_id real:\n",[125,219],{"alt":220,"src":221},"Creación de un nuevo registro de integración en NetSuite para la conexión con ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-create-integration-record-chatgpt.webp",[104,223,224,225,229,233,237],{},"Cree un rol personalizado para MCP con los permisos mínimos y asígnelo a los usuarios, por ejemplo:\n",[125,226],{"alt":227,"src":228},"Configuración de permisos de rol personalizados para la integración de NetSuite MCP - Parte 1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-1.webp",[125,230],{"alt":231,"src":232},"Configuración de permisos de rol personalizados para la integración de NetSuite MCP - Parte 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-2.webp",[125,234],{"alt":235,"src":236},"Configuración de permisos de rol personalizados para la integración de NetSuite MCP - Parte 3","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-3.webp",[125,238],{"alt":239,"src":240},"Configuración de permisos de rol personalizados para la integración de NetSuite MCP - Parte 4","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-4.webp",[65,242,244],{"id":243},"cómo-integrar-netsuite-mcp-con-chatgpt","Cómo integrar NetSuite MCP con ChatGPT",[101,246,247,254,261,268,279,286,293],{},[104,248,249,250],{},"Haga clic en 'Settings' (Configuración).\n",[125,251],{"alt":252,"src":253},"Navegación a la sección de Configuración en la interfaz de usuario de ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-settings-navigation.webp",[104,255,256,257],{},"Haga clic en 'Apps' > 'Advanced settings' (Configuración avanzada).\n",[125,258],{"alt":259,"src":260},"Navegación a la sección de Aplicaciones y Configuración avanzada en ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-apps-advanced-settings.webp",[104,262,263,264],{},"Active 'Developer mode' (Modo desarrollador), luego haga clic en 'Create app' (Crear aplicación).\n",[125,265],{"alt":266,"src":267},"Habilitación del Modo desarrollador y clic en Crear aplicación en ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-developer-mode-create-app.webp",[104,269,270,271,123,275],{},"Introduzca los detalles. Para la conexión, introduzca ",[272,273,274],"code",{},"https:\u002F\u002F\u003Caccount_id>.suitetalk.api.netsuite.com\u002Fservices\u002Fmcp\u002Fv1\u002Fall",[125,276],{"alt":277,"src":278},"Introducción de los detalles de la URL de conexión de NetSuite MCP en ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-create-app-netsuite-mcp-connection.webp",[104,280,281,282],{},"Haga clic en 'Create'. Una vez integrado, verá la siguiente ventana emergente.\n",[125,283],{"alt":284,"src":285},"Confirmación de la integración exitosa de NetSuite MCP en ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-netsuite-mcp-integrated-popup.webp",[104,287,288,289],{},"Haga clic en 'Sign in with NetSuite MCP' (Iniciar sesión con NetSuite MCP).\n",[125,290],{"alt":291,"src":292},"Solicitud de inicio de sesión de ChatGPT con las herramientas estándar de NetSuite MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-sign-in-with-netsuite-mcp.webp",[104,294,295,296],{},"Haga clic en el botón 'Continue' para otorgar permisos.\n",[125,297],{"alt":298,"src":299},"Concesión de permisos de conexión para NetSuite MCP en la pantalla de autorización de ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-grant-permissions-netsuite-mcp.webp",[65,301,303],{"id":302},"cómo-integrar-netsuite-mcp-con-claude-ai","Cómo integrar NetSuite MCP con Claude AI",[101,305,306,313,320,327,342,349],{},[104,307,308,309],{},"Haga clic en 'Customize' (Personalizar).\n",[125,310],{"alt":311,"src":312},"Clic en la opción de Personalizar en la interfaz de usuario de Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-customize-navigation.webp",[104,314,315,316],{},"Haga clic en 'Connect your apps' (Conectar sus aplicaciones).\n",[125,317],{"alt":318,"src":319},"Clic en Conectar tus aplicaciones en los ajustes de personalización de Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-connect-your-apps.webp",[104,321,322,323],{},"Busque 'NetSuite'.\n",[125,324],{"alt":325,"src":326},"Búsqueda de la aplicación NetSuite dentro de Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-search-netsuite-app.webp",[104,328,329,330,333,334,337,338],{},"Haga clic en 'NetSuite' e introduzca la URL del servidor: ",[272,331,332],{},"https:\u002F\u002F\u003Caccount_id>.suitetalk.api.netsuite.com\u002Fservices\u002Fmcp\u002Fv1\u002Fsuiteapp\u002Fcom.netsuite.mcpstandardtools",". Reemplace ",[272,335,336],{},"\u003Caccount_id>"," con su ID de cuenta real.\n",[125,339],{"alt":340,"src":341},"Introducción de la URL de conexión del servidor NetSuite MCP en Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-server-url-setup.webp",[104,343,344,345],{},"Haga clic en el botón 'Continue'.\n",[125,346],{"alt":347,"src":348},"Clic en Continuar para autenticar la conexión del servidor NetSuite MCP en Claude","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-continue-authentication.webp",[104,350,351,352],{},"Haga clic en 'Continue' para autenticar el conector.\n",[125,353],{"alt":354,"src":355},"Verificación final de autenticación para el conector NetSuite MCP en Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-authenticate-connector.webp",[65,357,359],{"id":358},"casos-de-uso-de-la-ia-en-netsuite","Casos de uso de la IA en NetSuite",[361,362,364],"h3",{"id":363},"caso-de-uso-en-chatgpt-mostrar-facturas-vencidas-de-más-de-30-días-en-netsuite","Caso de uso en ChatGPT: Mostrar facturas vencidas de más de 30 días en NetSuite",[45,366,367],{},[125,368],{"alt":369,"src":370},"ChatGPT ejecutando una consulta SuiteQL para mostrar facturas vencidas en NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-netsuite-overdue-invoices-query-result.webp",[137,372,373],{},[104,374,375],{},"ChatGPT creó la consulta SuiteQL y la ejecutó. Esto es muy práctico y ahorra mucho tiempo en comparación con la creación de un informe utilizando la interfaz de usuario web de NetSuite.",[361,377,379],{"id":378},"caso-de-uso-en-chatgpt-y-claude-puedes-dibujar-las-ventas-de-los-últimos-30-días-en-un-gráfico-de-líneas","Caso de uso en ChatGPT y Claude: ¿Puedes dibujar las ventas de los últimos 30 días en un gráfico de líneas?",[45,381,382],{},[125,383],{"alt":384,"src":385},"ChatGPT fallando al renderizar un gráfico de líneas de ventas a partir de datos de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-failed-render-netsuite-sales-line-graph.webp",[137,387,388,391],{},[104,389,390],{},"ChatGPT no pudo generar el gráfico de líneas.",[104,392,393,394],{},"Lo probé en Claude y funcionó. La diferencia puede deberse a las capacidades del modelo de lenguaje grande (LLM).\n",[125,395],{"alt":396,"src":397},"Claude AI renderizando con éxito un gráfico de líneas visual de las ventas de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-successfully-rendered-netsuite-sales-line-graph.webp",[361,399,401],{"id":400},"caso-de-uso-en-claude-crear-un-registro-de-cliente","Caso de uso en Claude: Crear un registro de cliente",[45,403,404,408],{},[125,405],{"alt":406,"src":407},"Solicitud de Claude AI para crear un nuevo registro de cliente en NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-create-netsuite-customer-record-prompt.webp",[125,409],{"alt":410,"src":411},"Confirmación de Claude AI de la creación exitosa del registro de cliente en NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-create-netsuite-customer-record-success.webp",[137,413,414,421],{},[104,415,416,417],{},"Una doble comprobación en la interfaz de usuario web de NetSuite confirma que el registro fue creado.\n",[125,418],{"alt":419,"src":420},"Verificación del registro de cliente recién creado en la interfaz de usuario web de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-ui-verify-new-customer-record-created.webp",[104,422,423,424],{},"Ejecutarlo en ChatGPT muestra que el registro está disponible:\n",[125,425],{"alt":426,"src":427},"ChatGPT confirmando que el nuevo registro de cliente de NetSuite está disponible","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-verify-netsuite-customer-record-available.webp",[361,429,431],{"id":430},"caso-de-uso-en-claude-ejecutar-consulta-suiteql","Caso de uso en Claude: Ejecutar consulta SuiteQL",[45,433,434],{},[125,435],{"alt":436,"src":437},"Claude AI ejecutando y mostrando directamente los resultados de una consulta SuiteQL de NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-run-suiteql-query-result.webp",[137,439,440],{},[104,441,442],{},"La consulta SuiteQL se puede ejecutar directamente.",[65,444,446],{"id":445},"reflexiones-finales-sobre-el-conector-de-ia-de-netsuite","Reflexiones finales sobre el Conector de IA de NetSuite",[45,448,449,450,452],{},"La mayor ventaja de utilizar MCP es para los usuarios que no tienen suficientes conocimientos técnicos para crear informes complejos. Estos usuarios pueden utilizar un lenguaje natural para consultar los datos y pedirle a la ",[52,451,78],{}," que presente el informe exactamente como lo desean.",[45,454,455],{},"Para evitar ataques de inyección de prompts y el uso indebido de operaciones de escritura, otorgue únicamente permisos de escritura para ciertos registros y transacciones. Cuando la IA utiliza MCP para actualizar o crear un registro, lo ejecuta como SuiteScript del lado del servidor, lo que elude por completo cualquier script del lado del cliente o validación de formularios.",[65,457,459],{"id":458},"referencia","Referencia:",[137,461,462,471,478],{},[104,463,464],{},[465,466,470],"a",{"href":467,"rel":468},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Farticle_0902023450.html#subsect_90090238176",[469],"nofollow","Instalación de la SuiteApp MCP Standard Tools",[104,472,473],{},[465,474,477],{"href":475,"rel":476},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Farticle_4160616848.html#subsect_0419123151",[469],"Preguntas frecuentes sobre el servicio NetSuite AI Connector",[104,479,480],{},[465,481,484],{"href":482,"rel":483},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Fsection_0714082142.html#bridgehead_0804033331",[469],"Conexión al servicio NetSuite AI Connector",{"title":486,"searchDepth":487,"depth":487,"links":488},"",2,[489,490,491,492,493,500,501],{"id":67,"depth":487,"text":68},{"id":98,"depth":487,"text":99},{"id":243,"depth":487,"text":244},{"id":302,"depth":487,"text":303},{"id":358,"depth":487,"text":359,"children":494},[495,497,498,499],{"id":363,"depth":496,"text":364},3,{"id":378,"depth":496,"text":379},{"id":400,"depth":496,"text":401},{"id":430,"depth":496,"text":431},{"id":445,"depth":487,"text":446},{"id":458,"depth":487,"text":459},"2026-06-13","Configura el Conector de IA de NetSuite (MCP) con ChatGPT y Claude. Descubre cómo consultar datos de ERP y automatizar tareas usando lenguaje natural.","md","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002FES-Setup-NetSuite-MCP-on-ChatGPT-%26-Claude.webp","Miniatura de la integración de IA de NetSuite MCP que presenta un fondo corporativo azul oscuro con los logotipos de ChatGPT y Claude conectados a la base de datos en la nube de NetSuite",true,{"tags":509,"schemaOrg":514,"robots":517,"sitemap":518},[91,510,511,512,513],"MCP","ChatGPT","Claude","AI",[515],{"@type":516,"headline":39,"description":503},"TechArticle","index, follow",{"lastmod":502},9,"\u002Fes\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude",{"title":522,"description":503,"ogTitle":39,"ogDescription":503,"twitterTitle":39,"twitterDescription":503},"Integración de IA con NetSuite MCP: ChatGPT y Claude","es\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude","henvxX0EBMgVDXTGxvucaKeBzC_UD-w2XKT2YPVtZ7Q",{"id":526,"title":527,"author":40,"body":528,"category":40,"date":719,"description":720,"extension":504,"image":721,"imageAlt":722,"isPublished":507,"meta":723,"minRead":731,"navigation":507,"path":732,"seo":733,"stem":734,"__hash__":735},"article\u002Fes\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis.md","Evaluación de Claude Fable 5 en el Análisis Financiero",{"type":42,"value":529,"toc":717},[530,541,552,555,561,577,587,593,599,605,626,635,649,657,675,678,689,698,701,714],[45,531,532,533,536,537],{},"El 9 de junio de 2026, Anthropic lanzó ",[52,534,535],{},"Claude Fable 5",", un modelo de clase Mythos con medidas de seguridad avanzadas en áreas como ciberseguridad, destilación, química y biología.\n",[125,538],{"alt":539,"src":540},"Anuncio de lanzamiento de Anthropic Claude Fable 5 y capacidades de este modelo","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-launch-announcement.webp",[45,542,543,544,547,548],{},"Anthropic ha publicado cifras que demuestran que Fable 5 supera a Opus 4.8 y GPT-5.5 en varios puntos de referencia clave. En ",[52,545,546],{},"GDPval-AA (trabajo de conocimiento)",", está significativamente por delante de Opus 4.8, GPT 5.5 y Gemini 3.1 Pro.\n",[125,549],{"alt":550,"src":551},"Comparación de benchmarks de Claude Fable 5 incluyendo la puntuación GDPval-AA para trabajo cognitivo","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-benchmarks-gdpval-aa.webp",[45,553,554],{},"Según Claude, \"Fable 5 muestra un sólido rendimiento en tareas analíticas complejas\".",[45,556,557],{},[125,558],{"alt":559,"src":560},"Declaración del rendimiento de Claude Fable 5 en tareas analíticas de alta complejidad","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-analytical-performance-statement.webp",[45,562,563,564,567,568,571,572,163],{},"Decidimos poner a prueba a ",[52,565,566],{},"Fable 5"," ejecutando un análisis de 'Space Exploration Technologies Corporation (SpaceX)' para fines de investigación de inversiones, utilizando la habilidad '",[52,569,570],{},"comps-analysis","'. El archivo 'skill.md' se obtuvo del ",[465,573,576],{"href":574,"rel":575},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services\u002Fblob\u002Fmain\u002Fplugins\u002Fagent-plugins\u002Fmarket-researcher\u002Fskills\u002Fcomps-analysis\u002FSKILL.md",[469],"repositorio de GitHub de servicios financieros de Anthropic",[45,578,579,583],{},[125,580],{"alt":581,"src":582},"Inicio de la habilidad de análisis comparativo financiero de SpaceX en el chat de Claude","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-skill-initiation.webp",[125,584],{"alt":585,"src":586},"Claude Fable 5 ejecutando el análisis financiero automatizado para la empresa SpaceX","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-running-progress.webp",[45,588,589],{},[125,590],{"alt":591,"src":592},"Flujo de trabajo y resultado final del análisis financiero automatizado de SpaceX","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-skill-results-terminal.webp",[45,594,595,596,598],{},"La tarea tomó alrededor de 25 minutos. Claude no hizo preguntas aclaratorias, salvo para solicitar permiso para acceder a sitios web externos. Sorprendentemente, ",[52,597,566],{}," fue capaz de encontrar de forma autónoma las empresas competidoras para la comparación.",[45,600,601],{},[125,602],{"alt":603,"src":604},"Claude Fable 5 solicitando permiso explícito para acceder de forma segura a sitios web externos","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-external-site-access-permission.webp",[45,606,607,611,612,615,616,110,621,163],{},[125,608],{"alt":609,"src":610},"Empresas competidoras de SpaceX identificadas de manera autónoma por Claude Fable 5","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-spacex-comps-excel-memo.webp","\n*",[52,613,614],{},"Nota:"," Esto tiene fines de investigación y educativos y no constituye asesoramiento de inversión. Los archivos originales generados se pueden descargar aquí: ",[465,617,620],{"href":618,"rel":619},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Comps_Analysis_2026-06-10.xlsx",[469],"SpaceX_Comps_Analysis_2026-06-10.xlsx",[465,622,625],{"href":623,"rel":624},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Comps_Memo_2026-06-10.pdf",[469],"SpaceX_Comps_Memo_2026-06-10.pdf",[45,627,628,629,632,633,163],{},"Cuando probamos la misma habilidad usando ",[52,630,631],{},"Qwen deep research",", tuvimos que introducir manualmente las empresas competidoras. Las cifras numéricas difirieron ligeramente en comparación con las de ",[52,634,566],{},[45,636,637,641,645],{},[125,638],{"alt":639,"src":640},"Inicio de análisis comparativo financiero de SpaceX utilizando el sistema Qwen deep research","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-initiation.webp",[125,642],{"alt":643,"src":644},"Introducción manual de competidores en Qwen deep research para el análisis financiero de SpaceX","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-running.webp",[125,646],{"alt":647,"src":648},"Vista previa del informe financiero de SpaceX generado de manera automática por Qwen","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-report-preview.webp",[45,650,651,652,163],{},"*El informe generado por Qwen se puede descargar aquí: ",[465,653,656],{"href":654,"rel":655},"https:\u002F\u002Ftechvoyage.dev\u002FThe_SpaceX_Comp_Analysis_A_Statistical_Benchmark_of_Growth_Efficiency_and_Valuation_Against_Public_Peers.pdf",[469],"The_SpaceX_Comp_Analysis_A_Statistical_Benchmark_of_Growth_Efficiency_and_Valuation_Against_Public_Peers.pdf",[45,658,659,660,663,664,123,667,671],{},"Aunque ambos informes de Claude y Qwen se produjeron con base en la misma metodología especificada en la habilidad, los números variaron debido a que Claude y Qwen extrajeron información de diferentes fuentes. Por ejemplo, Claude Fable 5 utilizó ",[52,661,662],{},"Stock Analysis",", mientras que Qwen utilizó ",[52,665,666],{},"SEC.gov",[125,668],{"alt":669,"src":670},"Datos financieros clave extraídos del portal Stock Analysis por el modelo Claude Fable 5","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-data-source-stock-analysis.webp",[125,672],{"alt":673,"src":674},"Presentaciones oficiales ante la SEC y origen de datos de SEC.gov utilizados por Qwen deep research","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-data-source-sec-gov.webp",[45,676,677],{},"El informe de Qwen también contenía mucha más información sobre el modelo de negocio, la estructura de capital y las operaciones.",[45,679,680,681,684,685],{},"Tras comparar los informes, decidimos intentarlo de nuevo con el comando ",[272,682,683],{},"\u002Fresearch"," en la aplicación de escritorio de Claude.\n",[125,686],{"alt":687,"src":688},"Uso del nuevo comando de investigación en la aplicación de escritorio de Claude para análisis empresarial","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-desktop-research-command-spacex.webp",[45,690,691,692,697],{},"El informe de análisis recién generado, ",[465,693,696],{"href":694,"rel":695},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Analysis.pdf",[469],"SpaceX_Analysis.pdf",", incluyó secciones adicionales de recomendaciones y advertencias. En comparación con la búsqueda profunda de Qwen, todavía carecía de información detallada de la empresa, como las operaciones y la estructura de capital.",[45,699,700],{},"¿Vale la pena el precio premium de Fable 5? Podría serlo para tareas complejas y largas, así como para la codificación autónoma. Pero para ciertos trabajos de conocimiento, como el análisis de empresas, puede que aún no ofrezca la mejor relación calidad-precio.",[45,702,703,704,706,707,123,710],{},"Por último, probamos qué tan bien se desempeña ",[52,705,566],{}," en la traducción. Curiosamente, el modelo cambió automáticamente de nuevo a ",[52,708,709],{},"Opus 4.8",[125,711],{"alt":712,"src":713},"La aplicación de escritorio de Claude cambiando automáticamente el modelo activo de Fable 5 a Opus 4.8","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-translation-opus-switching.webp",[45,715,716],{},"¿Significa esto que cualquier conversión de contexto largo se revertirá a Opus 4.8? ¿Es solo una anomalía temporal durante el uso previo al 22 de junio? ¿O el sistema es simplemente lo suficientemente inteligente como para detectar que la traducción no requiere un modelo tan potente?",{"title":486,"searchDepth":487,"depth":487,"links":718},[],"2026-06-11","Probamos el nuevo Claude Fable 5 de Anthropic contra Qwen Deep Research para análisis financiero. ¿Realmente vale la pena pagar por esta nueva actualización?","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002FES-Testing-Claude-Fable-5-in-Financial-Analysis.webp","Claude Fable 5 vs Qwen: Prueba de Análisis Financiero",{"tags":724,"schemaOrg":728,"robots":517,"sitemap":730},[535,725,726,727],"Análisis Financiero","Qwen Deep Research","Benchmarks de IA",[729],{"@type":516,"headline":527,"description":720},{"lastmod":719},6,"\u002Fes\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis",{"title":722,"description":720,"ogTitle":527,"ogDescription":720,"twitterTitle":527,"twitterDescription":720},"es\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis","NLczMspLN7Iju5pVHabnKZO7IdvjE14O8NdUlMnTPCI",{"id":737,"title":738,"author":40,"body":739,"category":40,"date":952,"description":953,"extension":504,"image":954,"imageAlt":955,"isPublished":507,"meta":956,"minRead":960,"navigation":507,"path":961,"seo":962,"stem":963,"__hash__":964},"article\u002Fes\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2.md","Guía completa de Browser y Scheduler en Antigravity 2",{"type":42,"value":740,"toc":947},[741,755,759,765,774,789,795,798,809,813,816,823,830,841,844,850,861,870,880,893,903,913,916,922,926,936],[45,742,743,744,110,747,750,751,754],{},"Los comandos ",[272,745,746],{},"\u002Fbrowser",[272,748,749],{},"\u002Fschedule"," en ",[52,752,753],{},"Google Antigravity 2"," redefinen nuestra forma de interactuar con la IA. Estos dos comandos transforman Antigravity en una plataforma de automatización proactiva que puede interactuar con la web en tiempo real y ejecutar flujos de trabajo recurrentes.",[65,756,758],{"id":757},"browser-run","Browser Run",[45,760,761,762,764],{},"El comando ",[272,763,746],{}," fuerza el uso del navegador Chrome para completar una tarea. Los usuarios mantienen el control sobre cuándo y cómo los agentes acceden a la web durante el flujo de trabajo. Se toman capturas de pantalla y videoclips durante el proceso.",[45,766,767,770],{},[52,768,769],{},"Caso de uso:",[125,771],{"alt":772,"src":773},"Uso del comando \u002Fbrowser para enviar una licencia por enfermedad","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-command-sick-leave-prompt.webp",[45,775,776,777,781,785],{},"A continuación se muestra el resultado del agente:\n",[125,778],{"alt":779,"src":780},"Subagente de automatización del navegador iniciando la tarea de envío de licencia por enfermedad","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-subagent-delegation.webp",[125,782],{"alt":783,"src":784},"Automatizador del navegador configurando Chrome con depuración remota y permisos","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-permissions-and-chrome-setup.webp",[125,786],{"alt":787,"src":788},"Subagente del navegador pausado en una pantalla de inicio de sesión solicitando credenciales","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-login-wall-encountered.webp",[45,790,791],{},[125,792],{"alt":793,"src":794},"Subagente del navegador esperando que el usuario complete el inicio de sesión","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-waiting-for-user-login.webp",[45,796,797],{},"Antigravity fue capaz de abrir la página y enviar el formulario. Cuando se requiere iniciar sesión, el agente esperará hasta que hayas iniciado sesión en el sitio web.",[45,799,800,805,806,808],{},[801,802],"video",{"alt":803,"src":804,"controls":507},"Vídeo del subagente del navegador ejecutando el proceso de envío de licencia por enfermedad","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-sick-leave-process.webm","\nEl comando ",[272,807,746],{}," es útil cuando necesitamos la documentación más reciente de la web, registros de cambios, probar aplicaciones web o verificar estados de API para completar una tarea.",[65,810,812],{"id":811},"schedule-task","Schedule Task",[45,814,815],{},"Antigravity 2 tiene funcionalidad incorporada para programar tareas. Lo probaremos ingresando automáticamente una hoja de horas (timesheet) cada 10 minutos.",[45,817,818,819],{},"Haz clic en 'Scheduled Tasks' (Tareas programadas):\n",[125,820],{"alt":821,"src":822},"Opción de menú de tareas programadas en la barra lateral","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-menu-item.webp",[45,824,825,826],{},"Haz clic en el botón '+ New' para crear una nueva tarea programada:\n",[125,827],{"alt":828,"src":829},"Vista vacía de tareas programadas con un botón de nueva tarea","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-empty-state-new-button.webp",[45,831,832,833,837],{},"Completa el formulario y programa la tarea para que se ejecute cada 10 minutos:\n",[125,834],{"alt":835,"src":836},"Formulario de nueva tarea programada completado para el registro automático de la hoja de horas","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-new-task-form.webp",[125,838],{"alt":839,"src":840},"Tarea activa de registro automático de la hoja de horas en la lista de tareas programadas","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-active-task-list.webp",[45,842,843],{},"La tarea se activó, pero resultó en un error.",[45,845,846],{},[125,847],{"alt":848,"src":849},"Mensaje de error que indica que no se encontraron modelos disponibles para el nivel flash","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-error-no-models.webp",[45,851,852,853,856,857,860],{},"Intentamos agregar valores 'env' al archivo ",[272,854,855],{},"sidecar.json",", que se encuentra en ",[272,858,859],{},".gemini\u002Fconfig\u002Fsidecars\u002Fauto-timesheet-entry",", pero seguimos recibiendo el mismo error.",[862,863,868],"pre",{"className":864,"code":866,"language":867},[865],"language-text","    \"env\": {\n        \"GEMINI_MODEL\": \"gemini-3.5-flash\",\n        \"GOOGLE_CLOUD_PROJECT\": \"your-gcp-project-id\"\n    }\n","text",[272,869,866],{"__ignoreMap":486},[45,871,872,873,876,877,163],{},"Al inspeccionar los registros de tareas programadas ubicados en ",[272,874,875],{},".gemini\u002Fantigravity\u002Fsidecar_data\u002F",", podemos ver ",[272,878,879],{},"[schedule] Triggering command: \"agentapi\" [new-conversation]",[45,881,882,883,888,889,892],{},"La respuesta a nuestro problema publicado en el ",[465,884,887],{"href":885,"rel":886},"https:\u002F\u002Fdiscuss.ai.google.dev\u002Ft\u002Fscheduled-tasks-in-antigravity-2-ended-with-errors\u002F168013",[469],"Foro de discusión de Build with Google AI"," sugiere que se requiere una clave de API para ",[272,890,891],{},"agentapi",". Intentamos usar la clave de API, pero aun así no tuvimos éxito.",[45,894,895,896,898,899],{},"Lo intentamos de nuevo con el comando ",[272,897,749],{}," directamente en el cuadro de conversación.\n",[125,900],{"alt":901,"src":902},"Uso del comando \u002Fschedule para programar la tarea de automatización de la hoja de horas","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fschedule-command-timesheet-prompt.webp",[45,904,905,906,908,909],{},"Las tareas programadas con el comando ",[272,907,749],{}," no aparecerán bajo la opción de menú 'Scheduled Tasks'.\n",[125,910],{"alt":911,"src":912},"Lista de tareas programadas que no muestra tareas creadas mediante el comando CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-list-missing-cli-task.webp",[45,914,915],{},"La tarea cron sí se activó.",[45,917,918],{},[125,919],{"alt":920,"src":921},"Registro del trabajo cron confirmando que fue activado","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fcron-job-triggered-log.webp",[65,923,925],{"id":924},"reflexiones-finales","Reflexiones finales",[45,927,743,928,110,930,932,933,935],{},[272,929,746],{},[272,931,749],{}," en Antigravity 2 no son solo características aisladas; combinarlos crea una herramienta muy potente. Por ejemplo, programar un agente para que use ",[272,934,746],{}," para navegar por sitios web de noticias e información todos los lunes por la mañana a las 6:00 AM, sintetice la información y entregue un informe diario completo.",[45,937,938,939,942,943,946],{},"Se pueden usar otros comandos, como ",[272,940,941],{},"\u002Fgrill-me"," (mencionado en el artículo ",[465,944,945],{"href":34},"Antigravity 2 en acción: agentes de IA, skills y MCP","), al diseñar nuevas tareas programadas. Este comando solicita al agente que pida a los usuarios aclarar ambigüedades y detectar casos extremos antes de finalizar el diseño.",{"title":486,"searchDepth":487,"depth":487,"links":948},[949,950,951],{"id":757,"depth":487,"text":758},{"id":811,"depth":487,"text":812},{"id":924,"depth":487,"text":925},"2026-06-07","Descubre cómo los comandos \u002Fbrowser y \u002Fschedule potencian Google Antigravity 2 como una plataforma líder de automatización con IA.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002FES-Use-Browser-and-Scheduler-in-Antigravity-2.webp","Google Antigravity 2: Automatización con Browser y Scheduler",{"schemaOrg":957,"robots":517,"sitemap":959},[958],{"@type":516,"headline":955,"description":953},{"lastmod":952},5,"\u002Fes\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2",{"title":955,"description":953,"ogTitle":738,"ogDescription":953,"twitterTitle":738,"twitterDescription":953},"es\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2","U08BbuMOio68KIQIiGpsqRC84n93xDCXnPsYDrp_WwE",{"id":966,"title":945,"author":486,"body":967,"category":486,"date":1302,"description":1303,"extension":504,"image":1304,"imageAlt":1305,"isPublished":507,"meta":1306,"minRead":960,"navigation":507,"path":1310,"seo":1311,"stem":1312,"__hash__":1313},"article\u002Fes\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2.md",{"type":42,"value":968,"toc":1292},[969,972,979,983,989,992,996,1002,1005,1011,1017,1023,1034,1039,1044,1052,1056,1062,1068,1074,1077,1083,1089,1094,1099,1102,1106,1116,1122,1126,1132,1138,1144,1147,1151,1154,1158,1164,1170,1176,1179,1266,1272,1283,1285,1288],[45,970,971],{},"Antigravity 2, como una aplicación de escritorio diseñada principalmente para agentes, permite a los usuarios coordinar un equipo de subagentes para generar un resumen diario a partir de correos electrónicos y calendarios, o para compilar, probar y desplegar una aplicación. Pero, ¿cómo se ve esto realmente en la práctica?",[45,973,974,975,978],{},"Exploremos lo que Antigravity 2 puede hacer por ti, desde comandos y habilidades integrados hasta cómo integraciones como los servidores de Firebase Model Context Protocol (MCP) están convirtiendo a los desarrolladores en arquitectos full-stack. Consulta este artículo, ",[465,976,977],{"href":18},"Google Antigravity 2: Instalación y Primeras Impresiones",", para la configuración de las habilidades y los servidores MCP.",[65,980,982],{"id":981},"comandos-integrados","Comandos integrados",[361,984,986],{"id":985},"goal",[272,987,988],{},"\u002Fgoal",[45,990,991],{},"Con este comando, le indicas al agente que se ejecute hasta que una tarea específica esté completamente terminada.",[45,993,994],{},[52,995,769],{},[45,997,998],{},[125,999],{"alt":1000,"src":1001},"Petición del comando goal de Antigravity 2 para crear un juego de Textris","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-goal-command-prompt.webp",[45,1003,1004],{},"Cuando solicitamos subagentes dinámicos, se generan tres agentes para completar la tarea.",[45,1006,1007],{},[125,1008],{"alt":1009,"src":1010},"Antigravity 2 generando subagentes para completar tareas de forma autónoma","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-1.webp",[45,1012,1013],{},[125,1014],{"alt":1015,"src":1016},"Progreso detallado de los subagentes de Antigravity 2 ejecutando pasos","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-2.webp",[45,1018,1019],{},[125,1020],{"alt":1021,"src":1022},"Finalización de tareas autónomas por los subagentes de Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-3.webp",[45,1024,1025,1026,135,1030],{},"Para jugar al juego Textris generado en HTML, haz clic en este ",[465,1027,1029],{"href":1028},"\u002Ftextris","enlace",[801,1031],{"alt":1032,"src":1033,"controls":507},"AI generated Textris game in HTML","https:\u002F\u002Fpub-9791558bbefc4bb59834a03ae5c44137.r2.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fai-generated-textri-game-html.webm",[45,1035,761,1036,1038],{},[272,1037,988],{}," crea un plan, lo ejecuta paso a paso y te informa del progreso en cada etapa. Además, el agente gestionará la ventana de contexto por sí mismo sin exceder los límites. Esto es ideal para tareas largas, como la optimización del rendimiento o la refactorización de módulos, que requieren múltiples rondas de iteración.",[361,1040,1042],{"id":1041},"grill-me",[272,1043,941],{},[45,1045,1046,1047,1051],{},"Este comando activa la habilidad ",[465,1048,1041],{"href":1049,"rel":1050},"https:\u002F\u002Fgithub.com\u002Fmattpocock\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fgrill-me\u002FSKILL.md",[469],", creada por Matt Pocock. Es conciso y sumamente eficaz. La idea detrás de esto es hacerte preguntas desde múltiples aspectos, aclarar casos extremos, alinear las estructuras y definir el plan antes de la implementación.",[45,1053,1054],{},[52,1055,769],{},[45,1057,1058],{},[125,1059],{"alt":1060,"src":1061},"Activando el comando grill-me para la arquitectura de Cloudflare en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-command-prompt.webp",[45,1063,1064],{},[125,1065],{"alt":1066,"src":1067},"Sesión interactiva de preguntas usando la habilidad grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-interaction-1.webp",[45,1069,1070],{},[125,1071],{"alt":1072,"src":1073},"Aclarando casos extremos y estructurando el plan con grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-interaction-2.webp",[45,1075,1076],{},"Soporta capacidades de selección múltiple:",[45,1078,1079],{},[125,1080],{"alt":1081,"src":1082},"Uso de capacidades de selección múltiple durante el proceso de grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-multi-select-1.webp",[45,1084,1085],{},[125,1086],{"alt":1087,"src":1088},"Finalizando opciones con la función de selección múltiple de grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-multi-select-2.webp",[45,1090,761,1091,1093],{},[272,1092,941],{}," es bastante impresionante. Cubre casi todos los aspectos del diseño arquitectónico para el despliegue en Cloudflare. Esto lo hace adecuado para el diseño de la arquitectura de una aplicación, la refactorización en múltiples dominios y otras tareas potencialmente complejas.",[361,1095,1096],{"id":486},[272,1097,1098],{},"@\u002F ",[45,1100,1101],{},"Este comando no aparece en la lista de disponibles, pero a veces lo necesitamos para nuestra ventana de contexto. Se utiliza para añadir una carpeta o archivos (que no sean multimedia) al cuadro de conversación.",[65,1103,1105],{"id":1104},"habilidades-skills","Habilidades (Skills)",[45,1107,1108,1109,1112,1113,163],{},"Podemos escribir ",[272,1110,1111],{},"\u002F"," para activar el cuadro emergente y seleccionar una habilidad. Probemos con ",[272,1114,1115],{},"excalidraw-diagram",[45,1117,1118],{},[125,1119],{"alt":1120,"src":1121},"Seleccionando la habilidad de diagrama Excalidraw desde la ventana emergente de Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-skill-selection-excalidraw.webp",[45,1123,1124],{},[52,1125,769],{},[45,1127,1128],{},[125,1129],{"alt":1130,"src":1131},"Proporcionando instrucciones para generar un diagrama de Excalidraw","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-excalidraw-diagram-prompt.webp",[45,1133,1134],{},[125,1135],{"alt":1136,"src":1137},"Generación exitosa de un diagrama de arquitectura de Excalidraw","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-excalidraw-diagram-generation.webp",[45,1139,1140],{},[125,1141],{"alt":1142,"src":1143},"Antigravity architecture diagram","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-architecture.webp",[45,1145,1146],{},"La habilidad se ejecutó correctamente después de un par de rondas de confirmación de permisos.",[65,1148,1150],{"id":1149},"servidores-mcp","Servidores MCP",[45,1152,1153],{},"Cuando el agente compila un backend, normalmente tienes que abrir una consola web, crear una base de datos, copiar claves API y pegarlas de vuelta. Al aprovechar los servidores MCP directamente en Antigravity, el agente obtiene \"manos\" para manipular tu infraestructura en la nube.",[45,1155,1156],{},[52,1157,769],{},[45,1159,1160],{},[125,1161],{"alt":1162,"src":1163},"Instruyendo al servidor MCP para crear una aplicación web en Firebase","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-prompt.webp",[45,1165,1166],{},[125,1167],{"alt":1168,"src":1169},"Antigravity utilizando servidores MCP para manipular la infraestructura de Firebase","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-execution-1.webp",[45,1171,1172],{},[125,1173],{"alt":1174,"src":1175},"Creación exitosa de una aplicación Firebase a través de servidores MCP de Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-execution-2.webp",[45,1177,1178],{},"El agente logró crear con éxito la aplicación web en Firebase utilizando servidores MCP. Revisemos el repositorio.",[862,1180,1184],{"className":1181,"code":1182,"language":1183,"meta":486,"style":486},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Create a new public GitHub repository called ‘to-do-app-techvoyage’. Then push all the current project files to it with the commit message ‘Initial commit — to-do-app’.\n","bash",[272,1185,1186],{"__ignoreMap":486},[1187,1188,1191,1195,1199,1202,1205,1208,1211,1214,1217,1220,1223,1226,1229,1232,1235,1238,1241,1244,1247,1249,1252,1255,1258,1260,1263],"span",{"class":1189,"line":1190},"line",1,[1187,1192,1194],{"class":1193},"sBMFI","Create",[1187,1196,1198],{"class":1197},"sfazB"," a",[1187,1200,1201],{"class":1197}," new",[1187,1203,1204],{"class":1197}," public",[1187,1206,1207],{"class":1197}," GitHub",[1187,1209,1210],{"class":1197}," repository",[1187,1212,1213],{"class":1197}," called",[1187,1215,1216],{"class":1197}," ‘to-do-app-techvoyage’.",[1187,1218,1219],{"class":1197}," Then",[1187,1221,1222],{"class":1197}," push",[1187,1224,1225],{"class":1197}," all",[1187,1227,1228],{"class":1197}," the",[1187,1230,1231],{"class":1197}," current",[1187,1233,1234],{"class":1197}," project",[1187,1236,1237],{"class":1197}," files",[1187,1239,1240],{"class":1197}," to",[1187,1242,1243],{"class":1197}," it",[1187,1245,1246],{"class":1197}," with",[1187,1248,1228],{"class":1197},[1187,1250,1251],{"class":1197}," commit",[1187,1253,1254],{"class":1197}," message",[1187,1256,1257],{"class":1197}," ‘Initial",[1187,1259,1251],{"class":1197},[1187,1261,1262],{"class":1197}," —",[1187,1264,1265],{"class":1197}," to-do-app’.\n",[45,1267,1268],{},[125,1269],{"alt":1270,"src":1271},"Agente enviando archivos de proyecto automáticamente a un nuevo repositorio de GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-github-repository-push.webp",[45,1273,1274,1275,1278,1279,163],{},"El repositorio ",[272,1276,1277],{},"to-do-app-techvoyage"," está disponible en GitHub a través de este ",[465,1280,1029],{"href":1281,"rel":1282},"https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fto-do-app-techvoyage",[469],[65,1284,925],{"id":924},[45,1286,1287],{},"Aunque MCP y las habilidades en Antigravity 2 —impulsado por Gemini 3.5 Flash— ofrecen una velocidad vertiginosa, el flujo de los agentes está actualmente limitado por las constantes interrupciones de permisos y la falta de puntos de restauración (checkpoints) para realizar rollbacks. Hasta que se introduzca la función de checkpoints, realizar commits frecuentes de Git es tu red de seguridad obligatoria.",[1289,1290,1291],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":486,"searchDepth":487,"depth":487,"links":1293},[1294,1299,1300,1301],{"id":981,"depth":487,"text":982,"children":1295},[1296,1297,1298],{"id":985,"depth":496,"text":988},{"id":1041,"depth":496,"text":941},{"id":486,"depth":496,"text":1098},{"id":1104,"depth":487,"text":1105},{"id":1149,"depth":487,"text":1150},{"id":924,"depth":487,"text":925},"2026-06-06","Explora Antigravity 2, una app de escritorio diseñada para agentes. Aprende a coordinar subagentes de IA, usar skills y conectar servidores MCP.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002FES-What-can-we-do-with-Antigravity-2.webp","Tutorial de Antigravity 2: agentes de IA, skills y servidores MCP",{"schemaOrg":1307,"robots":517,"sitemap":1309},[1308],{"@type":516,"headline":945,"description":1303},{"lastmod":1302},"\u002Fes\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2",{"title":1305,"description":1303,"ogTitle":945,"ogDescription":1303,"twitterTitle":945,"twitterDescription":1303},"es\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2","75GKLQ8N8HgFI1k2WtPoMtvymvassdJ8rkYSbtNB8fw",{"id":1315,"title":977,"author":40,"body":1316,"category":40,"date":2045,"description":2046,"extension":504,"image":2047,"imageAlt":2048,"isPublished":507,"meta":2049,"minRead":1599,"navigation":507,"path":2053,"seo":2054,"stem":2055,"__hash__":2056},"article\u002Fes\u002Farticle\u002Fsetup-antigravity-2.md",{"type":42,"value":1317,"toc":2036},[1318,1329,1333,1336,1347,1350,1354,1363,1369,1376,1382,1389,1399,1401,1405,1412,1418,1421,1427,1432,1435,1449,1463,1470,1483,1493,1507,1509,1513,1516,1531,1534,1879,1889,1895,1905,1911,1917,1923,1925,1929,1939,1952,1958,1964,1971,1990,1993,1999,2001,2005,2008,2014,2017,2023,2025,2027,2030,2033],[45,1319,1320,1321,1324,1325,1328],{},"At Google I\u002FO 2026, Google anunció ",[52,1322,1323],{},"Antigravity 2",", una aplicación de escritorio independiente que posiciona al ",[52,1326,1327],{},"agente"," como la interfaz de usuario principal. Solo tienes que describir lo que quieres conseguir y el agente generará un plan, lo dividirá en subtareas manejables y las ejecutará.",[361,1330,1332],{"id":1331},"requisitos-previos","Requisitos previos",[45,1334,1335],{},"Antes de empezar, necesitarás:",[137,1337,1338,1341,1344],{},[104,1339,1340],{},"Un ordenador (en esta guía utilizamos macOS)",[104,1342,1343],{},"Un navegador web moderno",[104,1345,1346],{},"Una cuenta de Gmail",[1348,1349],"hr",{},[65,1351,1353],{"id":1352},"_1-instalar-antigravity-2","1. Instalar Antigravity 2",[45,1355,1356,1357,1362],{},"Descarga Antigravity 2 desde ",[465,1358,1361],{"href":1359,"rel":1360},"https:\u002F\u002Fantigravity.google\u002Fdownload",[469],"antigravity.google"," e instálalo en tu ordenador. La primera vez que lo inicies, se te pedirá que inicies sesión con tu cuenta de Gmail.",[45,1364,1365],{},[125,1366],{"alt":1367,"src":1368},"Pantalla de inicio de sesión con cuenta de Google en el primer lanzamiento de Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-gmail-login.webp",[45,1370,1371,1372,1375],{},"Una vez iniciada la sesión, verás un ",[52,1373,1374],{},"botón de voz"," en el campo de texto, que te permitirá grabar comandos de voz en lugar de tener que escribirlos.",[45,1377,1378],{},[125,1379],{"alt":1380,"src":1381},"Botón de grabación de voz en el campo de texto de Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-voice-input-field.webp",[45,1383,1384,1385,1388],{},"Antigravity 2 también introduce el concepto de ",[52,1386,1387],{},"Proyecto"," (Project), que puede abarcar varias carpetas locales y funcionar con sus propios ajustes y permisos específicos del agente.",[45,1390,1391,1395],{},[125,1392],{"alt":1393,"src":1394},"Menú de selección y configuración de proyectos en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-menu.webp",[125,1396],{"alt":1397,"src":1398},"Creación de un nuevo proyecto de IA con ruta de carpeta en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-creation.webp",[1348,1400],{},[65,1402,1404],{"id":1403},"_2-configurar-servidores-mcp-y-plugins","2. Configurar servidores MCP y plugins",[45,1406,1407,1408,1411],{},"Todos los servidores del Protocolo de Contexto del Modelo (MCP), plugins y habilidades (skills) se gestionan en la sección ",[52,1409,1410],{},"Customizations"," (Personalizaciones) del menú de configuración:",[45,1413,1414],{},[125,1415],{"alt":1416,"src":1417},"Pestaña de personalizaciones en configuración para gestionar servidores MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-settings-customizations.webp",[45,1419,1420],{},"Actualmente, los únicos plugins disponibles son de Google, pero esperemos que se publiquen más en el futuro.",[45,1422,1423],{},[125,1424],{"alt":1425,"src":1426},"Lista de plugins oficiales de Google e integraciones en Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-google-plugins-list.webp",[1428,1429,1431],"h4",{"id":1430},"añadir-un-servidor-mcp-disponible","Añadir un servidor MCP disponible",[45,1433,1434],{},"Para instalar un servidor MCP preconfigurado (por ejemplo, GitHub):",[101,1436,1437,1443],{},[104,1438,1439,1440,163],{},"Haz clic en ",[52,1441,1442],{},"Add MCP+",[104,1444,1445,1446,163],{},"Selecciona ",[52,1447,1448],{},"GitHub MCP Server",[45,1450,1451,1455,1459],{},[125,1452],{"alt":1453,"src":1454},"Añadir un servidor MCP preconfigurado haciendo clic en el botón Add MCP plus","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-mcp-button.webp",[125,1456],{"alt":1457,"src":1458},"Selección de GitHub MCP Server de la lista de integraciones disponibles","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-select-github-mcp.webp",[125,1460],{"alt":1461,"src":1462},"Asistente de configuración y autorización de GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-setup.webp",[45,1464,1465,1466],{},"La configuración del servidor MCP de GitHub finalizó con un error:\n",[125,1467],{"alt":1468,"src":1469},"Error de configuración durante el proceso de instalación de GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-error.webp",[45,1471,1472,1473,1476,1477,1479,1480,1482],{},"Dado que ya tenemos ",[272,1474,1475],{},"git"," instalado en macOS, podemos solucionar esto ejecutando el comando ",[272,1478,1475],{}," directamente en la conversación. No obstante, primero debemos añadir explícitamente el comando ",[272,1481,1475],{}," a los permisos de Antigravity.",[45,1484,1485,1489],{},[125,1486],{"alt":1487,"src":1488},"Diálogo de solicitud para añadir el comando git a los permisos","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-1.webp",[125,1490],{"alt":1491,"src":1492},"Concesión de permiso de ejecución del comando git en configuración","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-2.webp",[45,1494,1495,1496,1498,1499,1503],{},"Probemos el comando para ver si ",[272,1497,1475],{}," ya funciona correctamente:\n",[125,1500],{"alt":1501,"src":1502},"Envío de solicitud de git status dentro del cuadro de chat de la IA","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-1.webp",[125,1504],{"alt":1505,"src":1506},"Ejecución exitosa del comando git status dentro del chat","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-2.webp",[1348,1508],{},[65,1510,1512],{"id":1511},"_3-añadir-servidores-mcp-personalizados","3. Añadir servidores MCP personalizados",[45,1514,1515],{},"Si el servidor MCP que buscas no está en la lista predeterminada, puedes añadirlo editando directamente el archivo de configuración de MCP. Dicha configuración se encuentra en:",[862,1517,1519],{"className":1181,"code":1518,"language":1183,"meta":486,"style":486},"~\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[272,1520,1521],{"__ignoreMap":486},[1187,1522,1523,1527],{"class":1189,"line":1190},[1187,1524,1526],{"class":1525},"sMK4o","~",[1187,1528,1530],{"class":1529},"sTEyZ","\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[45,1532,1533],{},"Como ejemplo, vamos a añadir algunos servidores MCP de Cloudflare. Dado que Cloudflare admite el registro dinámico de clientes, solo necesitamos activar OAuth. Añade lo siguiente a tu configuración JSON:",[862,1535,1539],{"className":1536,"code":1537,"language":1538,"meta":486,"style":486},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","    \"cloudflare-api\": {\n      \"serverUrl\": \"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-docs\": {\n      \"serverUrl\": \"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp\"\n    },\n    \"cloudflare-bindings\": {\n      \"serverUrl\": \"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-builds\": {\n      \"serverUrl\": \"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-observability\": {\n      \"serverUrl\": \"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    }\n","json",[272,1540,1541,1558,1583,1597,1613,1618,1625,1639,1658,1664,1678,1698,1711,1724,1729,1736,1750,1770,1783,1796,1801,1808,1822,1842,1855,1868,1873],{"__ignoreMap":486},[1187,1542,1543,1546,1549,1552,1555],{"class":1189,"line":1190},[1187,1544,1545],{"class":1525},"    \"",[1187,1547,1548],{"class":1197},"cloudflare-api",[1187,1550,1551],{"class":1525},"\"",[1187,1553,1554],{"class":1529},": ",[1187,1556,1557],{"class":1525},"{\n",[1187,1559,1560,1563,1567,1569,1572,1575,1578,1580],{"class":1189,"line":487},[1187,1561,1562],{"class":1525},"      \"",[1187,1564,1566],{"class":1565},"spNyl","serverUrl",[1187,1568,1551],{"class":1525},[1187,1570,1571],{"class":1525},":",[1187,1573,1574],{"class":1525}," \"",[1187,1576,1577],{"class":1197},"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp",[1187,1579,1551],{"class":1525},[1187,1581,1582],{"class":1525},",\n",[1187,1584,1585,1587,1590,1592,1594],{"class":1189,"line":496},[1187,1586,1562],{"class":1525},[1187,1588,1589],{"class":1565},"oauth",[1187,1591,1551],{"class":1525},[1187,1593,1571],{"class":1525},[1187,1595,1596],{"class":1525}," {\n",[1187,1598,1600,1603,1606,1608,1610],{"class":1189,"line":1599},4,[1187,1601,1602],{"class":1525},"        \"",[1187,1604,1605],{"class":1193},"enabled",[1187,1607,1551],{"class":1525},[1187,1609,1571],{"class":1525},[1187,1611,1612],{"class":1525}," true\n",[1187,1614,1615],{"class":1189,"line":960},[1187,1616,1617],{"class":1525},"      }\n",[1187,1619,1620,1623],{"class":1189,"line":731},[1187,1621,1622],{"class":1525},"    }",[1187,1624,1582],{"class":1529},[1187,1626,1628,1630,1633,1635,1637],{"class":1189,"line":1627},7,[1187,1629,1545],{"class":1525},[1187,1631,1632],{"class":1197},"cloudflare-docs",[1187,1634,1551],{"class":1525},[1187,1636,1554],{"class":1529},[1187,1638,1557],{"class":1525},[1187,1640,1642,1644,1646,1648,1650,1652,1655],{"class":1189,"line":1641},8,[1187,1643,1562],{"class":1525},[1187,1645,1566],{"class":1565},[1187,1647,1551],{"class":1525},[1187,1649,1571],{"class":1525},[1187,1651,1574],{"class":1525},[1187,1653,1654],{"class":1197},"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp",[1187,1656,1657],{"class":1525},"\"\n",[1187,1659,1660,1662],{"class":1189,"line":519},[1187,1661,1622],{"class":1525},[1187,1663,1582],{"class":1529},[1187,1665,1667,1669,1672,1674,1676],{"class":1189,"line":1666},10,[1187,1668,1545],{"class":1525},[1187,1670,1671],{"class":1197},"cloudflare-bindings",[1187,1673,1551],{"class":1525},[1187,1675,1554],{"class":1529},[1187,1677,1557],{"class":1525},[1187,1679,1681,1683,1685,1687,1689,1691,1694,1696],{"class":1189,"line":1680},11,[1187,1682,1562],{"class":1525},[1187,1684,1566],{"class":1565},[1187,1686,1551],{"class":1525},[1187,1688,1571],{"class":1525},[1187,1690,1574],{"class":1525},[1187,1692,1693],{"class":1197},"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp",[1187,1695,1551],{"class":1525},[1187,1697,1582],{"class":1525},[1187,1699,1701,1703,1705,1707,1709],{"class":1189,"line":1700},12,[1187,1702,1562],{"class":1525},[1187,1704,1589],{"class":1565},[1187,1706,1551],{"class":1525},[1187,1708,1571],{"class":1525},[1187,1710,1596],{"class":1525},[1187,1712,1714,1716,1718,1720,1722],{"class":1189,"line":1713},13,[1187,1715,1602],{"class":1525},[1187,1717,1605],{"class":1193},[1187,1719,1551],{"class":1525},[1187,1721,1571],{"class":1525},[1187,1723,1612],{"class":1525},[1187,1725,1727],{"class":1189,"line":1726},14,[1187,1728,1617],{"class":1525},[1187,1730,1732,1734],{"class":1189,"line":1731},15,[1187,1733,1622],{"class":1525},[1187,1735,1582],{"class":1529},[1187,1737,1739,1741,1744,1746,1748],{"class":1189,"line":1738},16,[1187,1740,1545],{"class":1525},[1187,1742,1743],{"class":1197},"cloudflare-builds",[1187,1745,1551],{"class":1525},[1187,1747,1554],{"class":1529},[1187,1749,1557],{"class":1525},[1187,1751,1753,1755,1757,1759,1761,1763,1766,1768],{"class":1189,"line":1752},17,[1187,1754,1562],{"class":1525},[1187,1756,1566],{"class":1565},[1187,1758,1551],{"class":1525},[1187,1760,1571],{"class":1525},[1187,1762,1574],{"class":1525},[1187,1764,1765],{"class":1197},"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp",[1187,1767,1551],{"class":1525},[1187,1769,1582],{"class":1525},[1187,1771,1773,1775,1777,1779,1781],{"class":1189,"line":1772},18,[1187,1774,1562],{"class":1525},[1187,1776,1589],{"class":1565},[1187,1778,1551],{"class":1525},[1187,1780,1571],{"class":1525},[1187,1782,1596],{"class":1525},[1187,1784,1786,1788,1790,1792,1794],{"class":1189,"line":1785},19,[1187,1787,1602],{"class":1525},[1187,1789,1605],{"class":1193},[1187,1791,1551],{"class":1525},[1187,1793,1571],{"class":1525},[1187,1795,1612],{"class":1525},[1187,1797,1799],{"class":1189,"line":1798},20,[1187,1800,1617],{"class":1525},[1187,1802,1804,1806],{"class":1189,"line":1803},21,[1187,1805,1622],{"class":1525},[1187,1807,1582],{"class":1529},[1187,1809,1811,1813,1816,1818,1820],{"class":1189,"line":1810},22,[1187,1812,1545],{"class":1525},[1187,1814,1815],{"class":1197},"cloudflare-observability",[1187,1817,1551],{"class":1525},[1187,1819,1554],{"class":1529},[1187,1821,1557],{"class":1525},[1187,1823,1825,1827,1829,1831,1833,1835,1838,1840],{"class":1189,"line":1824},23,[1187,1826,1562],{"class":1525},[1187,1828,1566],{"class":1565},[1187,1830,1551],{"class":1525},[1187,1832,1571],{"class":1525},[1187,1834,1574],{"class":1525},[1187,1836,1837],{"class":1197},"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp",[1187,1839,1551],{"class":1525},[1187,1841,1582],{"class":1525},[1187,1843,1845,1847,1849,1851,1853],{"class":1189,"line":1844},24,[1187,1846,1562],{"class":1525},[1187,1848,1589],{"class":1565},[1187,1850,1551],{"class":1525},[1187,1852,1571],{"class":1525},[1187,1854,1596],{"class":1525},[1187,1856,1858,1860,1862,1864,1866],{"class":1189,"line":1857},25,[1187,1859,1602],{"class":1525},[1187,1861,1605],{"class":1193},[1187,1863,1551],{"class":1525},[1187,1865,1571],{"class":1525},[1187,1867,1612],{"class":1525},[1187,1869,1871],{"class":1189,"line":1870},26,[1187,1872,1617],{"class":1525},[1187,1874,1876],{"class":1189,"line":1875},27,[1187,1877,1878],{"class":1525},"    }\n",[45,1880,1881,1882,1884,1885,1888],{},"Vuelve a la sección ",[52,1883,1410],{}," de la aplicación y haz clic en el botón ",[52,1886,1887],{},"Refresh"," (Actualizar). Ahora verás los servidores MCP de Cloudflare en la lista, pendientes de autorización.",[45,1890,1891],{},[125,1892],{"alt":1893,"src":1894},"Servidores MCP de Cloudflare listados pendientes de autorización","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-mcp-pending.webp",[45,1896,1439,1897,1900,1901,1904],{},[52,1898,1899],{},"Authenticate"," al lado del servidor MCP. Esto abrirá una página de autenticación en tu navegador web. Una vez autenticado, se generará un código de autorización (",[52,1902,1903],{},"auth code",").",[45,1906,1907],{},[125,1908],{"alt":1909,"src":1910},"Navegador web mostrando el código de autorización OAuth dinámico","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-code.webp",[45,1912,1913,1914,163],{},"Copia este código de autorización, pégalo en el campo de texto de Antigravity y haz clic en ",[52,1915,1916],{},"Submit",[45,1918,1919],{},[125,1920],{"alt":1921,"src":1922},"Envío del código de verificación OAuth en la interfaz de Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-submit.webp",[1348,1924],{},[65,1926,1928],{"id":1927},"_4-añadir-habilidades-personalizadas","4. Añadir habilidades personalizadas",[45,1930,1931,1932,1935,1936,163],{},"Actualmente, añadir habilidades personalizadas (skills) ",[52,1933,1934],{},"no"," se puede hacer directamente desde la interfaz de la aplicación de escritorio. En su lugar, deben añadirse directamente en la carpeta ",[272,1937,1938],{},"~\u002F.gemini\u002Fconfig\u002Fskills",[45,1940,1941,1942,1945,1946],{},"Debido a que utilizamos la CLI de ",[272,1943,1944],{},"npx skills"," para centralizar todas las habilidades de nuestros agentes, cualquier nueva habilidad añadida puede estar disponible para todos los agentes, incluido Antigravity. ",[120,1947,1948,1949,1904],{},"(Para profundizar en esto, consulta nuestro artículo: ",[465,1950,1951],{"href":6},"Evita fragmentar habilidades de agentes usando npx skills",[45,1953,1954,1955,1957],{},"Al principio, al escribir ",[272,1956,1111],{}," en el cuadro de conversación, la lista de habilidades aparece vacía:",[45,1959,1960],{},[125,1961],{"alt":1962,"src":1963},"Cuadro de comandos mostrando la lista de habilidades vacía al escribir barra","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-empty-skills-list.webp",[45,1965,1966,1967,1970],{},"Parece que Antigravity 2 no lee automáticamente de la carpeta global de habilidades (",[272,1968,1969],{},"~\u002F.agents\u002Fskills","). Para solucionarlo, debemos crear un enlace simbólico que apunte al directorio de configuración de Antigravity:",[862,1972,1974],{"className":1181,"code":1973,"language":1183,"meta":486,"style":486},"ln -s ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[272,1975,1976],{"__ignoreMap":486},[1187,1977,1978,1981,1984,1987],{"class":1189,"line":1190},[1187,1979,1980],{"class":1193},"ln",[1187,1982,1983],{"class":1197}," -s",[1187,1985,1986],{"class":1197}," ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram",[1187,1988,1989],{"class":1197}," ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[45,1991,1992],{},"¡Una vez vinculado, la habilidad estará disponible en la aplicación!",[45,1994,1995],{},[125,1996],{"alt":1997,"src":1998},"Habilidad de diagramas de Excalidraw apareciendo en la lista","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-excalidraw-skill-available.webp",[1348,2000],{},[65,2002,2004],{"id":2003},"_5-probar-una-tarea-sencilla","5. Probar una tarea sencilla",[45,2006,2007],{},"Ahora que todo está configurado, hagamos una prueba.",[45,2009,2010],{},[125,2011],{"alt":2012,"src":2013},"Envío de una tarea de prueba para listar bases de datos D1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-simple-task-prompt.webp",[45,2015,2016],{},"Como se muestra a continuación, el modelo detecta y utiliza con éxito el servidor MCP de Cloudflare que acabamos de añadir para procesar la solicitud.",[45,2018,2019],{},[125,2020],{"alt":2021,"src":2022},"Agente de IA ejecutando con éxito el listado de bases de datos D1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-task-success.webp",[1348,2024],{},[65,2026,925],{"id":924},[45,2028,2029],{},"Antigravity 2 representa un cambio radical: pasa de ser un IDE tradicional a convertirse en una aplicación de escritorio accesible, lo que permite a los usuarios de a pie actuar como directores de orquesta para cualquier tarea.",[45,2031,2032],{},"Sin embargo, Antigravity 2 necesita pulirse. Cuando algo falla, la depuración puede resultar frustrante debido a que los mensajes de error son muy vagos. Además, la documentación oficial parece poco depurada (probablemente generada por IA), ya que varias referencias y rutas de archivos son incorrectas en este momento.",[1289,2034,2035],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":486,"searchDepth":487,"depth":487,"links":2037},[2038,2039,2040,2041,2042,2043,2044],{"id":1331,"depth":496,"text":1332},{"id":1352,"depth":487,"text":1353},{"id":1403,"depth":487,"text":1404},{"id":1511,"depth":487,"text":1512},{"id":1927,"depth":487,"text":1928},{"id":2003,"depth":487,"text":2004},{"id":924,"depth":487,"text":925},"2026-06-05","Descubre las novedades de Google Antigravity 2. Lee nuestra guía práctica para instalar la aplicación, probar tareas de agentes de IA y añadir servidores MCP personalizados de forma manual.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002FES-Setup-Antigravity-2.0.webp","Análisis y Configuración de Google Antigravity 2: Agentes de IA, MCP y Plugins",{"schemaOrg":2050,"robots":517,"sitemap":2052},[2051],{"@type":516,"headline":2048,"description":2046},{"lastmod":2045},"\u002Fes\u002Farticle\u002Fsetup-antigravity-2",{"title":2048,"description":2046,"ogTitle":977,"ogDescription":2046,"twitterTitle":977,"twitterDescription":2046},"es\u002Farticle\u002Fsetup-antigravity-2","AWgmceB60AgSK4d36jj0ihbcsTCGcLt2sCzmxn1Shn4",{"id":2058,"title":1951,"author":40,"body":2059,"category":40,"date":2482,"description":2483,"extension":504,"image":2484,"imageAlt":2485,"isPublished":507,"meta":2486,"minRead":1599,"navigation":507,"path":2492,"seo":2493,"stem":2494,"__hash__":2495},"article\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents.md",{"type":42,"value":2060,"toc":2472},[2061,2072,2075,2098,2114,2118,2128,2144,2154,2161,2164,2189,2195,2206,2224,2233,2243,2247,2254,2275,2278,2284,2294,2300,2303,2323,2332,2336,2342,2417,2423,2427,2463,2469],[45,2062,2063,2064,2067,2068,2071],{},"Si ejecutas varios agentes de IA o herramientas de línea de comandos (CLIs) en tu ordenador —ya sea Hermes, Claude Code, Codex, Antigravity, Kimi u otras herramientas compatibles—, es muy probable que te hayas topado con un problema bastante frustrante: ",[52,2065,2066],{},"la fragmentación de habilidades"," (skills). Cada agente o CLI mantiene su propia carpeta ",[272,2069,2070],{},"skills"," independiente, lo que provoca duplicidad de instalaciones, desfase de versiones y una gran carga de gestión.",[45,2073,2074],{},"En nuestro trabajo diario con agentes de IA, solíamos enfrentarnos a los siguientes problemas:",[137,2076,2077,2083,2089],{},[104,2078,2079,2082],{},[52,2080,2081],{},"Múltiples instalaciones",": Instalar una nueva habilidad para un agente y luego tener que instalarla una y otra vez para los demás.",[104,2084,2085,2088],{},[52,2086,2087],{},"Desfase de versiones"," (version drift): Personalizar o corregir una habilidad para un agente, olvidarse de actualizar los demás y acabar con agentes que se comportan de forma diferente.",[104,2090,2091,2094,2095,2097],{},[52,2092,2093],{},"Gestión de habilidades",": Tener que revisar la carpeta ",[272,2096,2070],{}," de cada agente en todo el sistema para saber qué habilidades estaban realmente instaladas.",[45,2099,2100,2101,2103,2104,2106,2107,163],{},"La herramienta de línea de comandos ",[272,2102,1944],{},", un CLI de código abierto desarrollado por Vercel, soluciona este problema permitiéndote gestionar una única carpeta ",[272,2105,2070],{}," centralizada y compartirla con todos tus agentes. Puedes echar un vistazo al ",[465,2108,2111,2112],{"href":2109,"rel":2110},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills",[469],"repositorio de GitHub de ",[272,2113,1944],{},[65,2115,2117],{"id":2116},"carpeta-centralizada","Carpeta centralizada",[45,2119,2120,2121,2123,2124,2127],{},"La idea es sencilla: si apuntamos la carpeta ",[272,2122,2070],{}," de cada agente a la ",[52,2125,2126],{},"misma carpeta física",", el problema de la fragmentación desaparece por completo.",[45,2129,2130,2131,2133,2134,2136,2137,2140,2141,2143],{},"Al instalar una habilidad mediante el CLI de ",[272,2132,1944],{},", esta se descarga en la carpeta centralizada de tu equipo (",[272,2135,1969],{},"). A continuación, el CLI crea un ",[52,2138,2139],{},"enlace simbólico"," (symlink, que funciona como un puntero directo) desde la carpeta ",[272,2142,2070],{}," de cada agente hacia esa carpeta centralizada.",[45,2145,2146,2147,2150,2151,2153],{},"Por ejemplo, cuando Claude Code busca habilidades en ",[272,2148,2149],{},"~\u002F.claude\u002Fskills\u002F",", se le redirige de forma transparente a ",[272,2152,1969],{},". Si realizas cualquier ajuste en una habilidad dentro de esa carpeta centralizada, todos los agentes verán la actualización de forma instantánea. Sin copias manuales, sin scripts de sincronización y sin desperdiciar espacio en el disco.",[65,2155,2157,2158,2160],{"id":2156},"instalación-de-npx-skills-y-adición-de-una-habilidad","Instalación de ",[272,2159,1944],{}," y adición de una habilidad",[45,2162,2163],{},"Ejecuta el siguiente comando para empezar y añadir nuestra primera habilidad:",[862,2165,2167],{"className":1181,"code":2166,"language":1183,"meta":486,"style":486},"npx skills add https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill --skill excalidraw-diagram\n",[272,2168,2169],{"__ignoreMap":486},[1187,2170,2171,2174,2177,2180,2183,2186],{"class":1189,"line":1190},[1187,2172,2173],{"class":1193},"npx",[1187,2175,2176],{"class":1197}," skills",[1187,2178,2179],{"class":1197}," add",[1187,2181,2182],{"class":1197}," https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill",[1187,2184,2185],{"class":1197}," --skill",[1187,2187,2188],{"class":1197}," excalidraw-diagram\n",[45,2190,2191],{},[125,2192],{"alt":2193,"src":2194},"Uso del comando npx skills add para instalar una habilidad desde GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-add-command.webp",[45,2196,2197,2198,2201,2202],{},"El CLI te preguntará si deseas configurar esto para un proyecto específico o de forma global. Por lo general, recomendamos elegir ",[52,2199,2200],{},"global"," para que todos los agentes compatibles puedan acceder a ella:\n",[125,2203],{"alt":2204,"src":2205},"Selección de la opción de instalación global en la CLI de npx skills","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-install-global-prompt.webp",[45,2207,2208,2209,2212,2213,135,2216,2220],{},"A continuación, asegúrate de seleccionar ",[272,2210,2211],{},"Symlink"," para garantizar una ",[52,2214,2215],{},"única fuente de verdad",[125,2217],{"alt":2218,"src":2219},"Elección del método de enlace simbólico para sincronizar habilidades","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-symlink-option.webp",[125,2221],{"alt":2222,"src":2223},"Confirmación de instalación exitosa y creación de enlace simbólico en la CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-installation-completed.webp",[45,2225,2226,2227,135,2229],{},"Una vez hecho esto, podemos verificar que la habilidad se ha instalado en la carpeta centralizada en ",[272,2228,1969],{},[125,2230],{"alt":2231,"src":2232},"Verificación de habilidades instaladas en el directorio centralizado","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-directory-verification.webp",[45,2234,2235,2236,2238,2239],{},"¡Abre el CLI de Kimi (o cualquier otro agente) y la habilidad ",[272,2237,1115],{}," estará disponible y lista para usar!\n",[125,2240],{"alt":2241,"src":2242},"Kimi CLI mostrando las habilidades centralizadas cargadas y listas","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skills-integration.webp",[65,2244,2246],{"id":2245},"creación-de-una-habilidad-desde-cero","Creación de una habilidad desde cero",[45,2248,2249,2250,2253],{},"Para crear tus propias habilidades, puedes utilizar la herramienta ",[272,2251,2252],{},"skill-creator"," de Anthropic. Instálala de la siguiente manera:",[862,2255,2257],{"className":1181,"code":2256,"language":1183,"meta":486,"style":486},"npx skills add https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills --skill skill-creator\n",[272,2258,2259],{"__ignoreMap":486},[1187,2260,2261,2263,2265,2267,2270,2272],{"class":1189,"line":1190},[1187,2262,2173],{"class":1193},[1187,2264,2176],{"class":1197},[1187,2266,2179],{"class":1197},[1187,2268,2269],{"class":1197}," https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills",[1187,2271,2185],{"class":1197},[1187,2273,2274],{"class":1197}," skill-creator\n",[45,2276,2277],{},"Ahora, en Kimi o en cualquier otro agente, introduce la siguiente instrucción (prompt):",[862,2279,2282],{"className":2280,"code":2281,"language":867},[865],"Use the skill-creator to help me build a skill for creating a product landing page\n",[272,2283,2281],{"__ignoreMap":486},[45,2285,2286,2287,2289,2290],{},"¡Kimi o tu agente detectará automáticamente el ",[272,2288,2252],{}," y te guiará paso a paso por todo el proceso!\n",[125,2291],{"alt":2292,"src":2293},"Ejecución del asistente interactivo skill-creator en Kimi CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skill-creator-setup.webp",[65,2295,2297,2298],{"id":2296},"otros-comandos-útiles-de-npx-skills","Otros comandos útiles de ",[272,2299,1944],{},[45,2301,2302],{},"Aquí tienes algunos otros comandos prácticos:",[137,2304,2305,2311,2317],{},[104,2306,2307,2310],{},[272,2308,2309],{},"npx skills ls -g",": Muestra todas las habilidades instaladas globalmente",[104,2312,2313,2316],{},[272,2314,2315],{},"npx skills update",": Mantén todas tus habilidades actualizadas con un solo comando",[104,2318,2319,2322],{},[272,2320,2321],{},"npx skills remove",": Desinstala o elimina una habilidad de forma interactiva",[45,2324,2325,2326,2331],{},"Por favor, consulta el ",[465,2327,2111,2329],{"href":2109,"rel":2328},[469],[272,2330,1944],{}," para ver más comandos y referencias.",[65,2333,2335],{"id":2334},"yendo-un-paso-más-allá","Yendo un paso más allá",[45,2337,2338,2339,2341],{},"Dado que ahora todas las habilidades se encuentran en un único lugar (",[272,2340,1969],{},"), podemos inicializarlo como un repositorio Git y subirlo a GitHub o GitLab.",[862,2343,2345],{"className":1181,"code":2344,"language":1183,"meta":486,"style":486},"cd ~\u002F.agents\u002Fskills\ngit init\ngit add .\ngit commit -m \"Initial skills folder\"\ngit remote add origin https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\ngit push -u origin main\n",[272,2346,2347,2356,2363,2372,2388,2403],{"__ignoreMap":486},[1187,2348,2349,2353],{"class":1189,"line":1190},[1187,2350,2352],{"class":2351},"s2Zo4","cd",[1187,2354,2355],{"class":1197}," ~\u002F.agents\u002Fskills\n",[1187,2357,2358,2360],{"class":1189,"line":487},[1187,2359,1475],{"class":1193},[1187,2361,2362],{"class":1197}," init\n",[1187,2364,2365,2367,2369],{"class":1189,"line":496},[1187,2366,1475],{"class":1193},[1187,2368,2179],{"class":1197},[1187,2370,2371],{"class":1197}," .\n",[1187,2373,2374,2376,2378,2381,2383,2386],{"class":1189,"line":1599},[1187,2375,1475],{"class":1193},[1187,2377,1251],{"class":1197},[1187,2379,2380],{"class":1197}," -m",[1187,2382,1574],{"class":1525},[1187,2384,2385],{"class":1197},"Initial skills folder",[1187,2387,1657],{"class":1525},[1187,2389,2390,2392,2395,2397,2400],{"class":1189,"line":960},[1187,2391,1475],{"class":1193},[1187,2393,2394],{"class":1197}," remote",[1187,2396,2179],{"class":1197},[1187,2398,2399],{"class":1197}," origin",[1187,2401,2402],{"class":1197}," https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\n",[1187,2404,2405,2407,2409,2412,2414],{"class":1189,"line":731},[1187,2406,1475],{"class":1193},[1187,2408,1222],{"class":1197},[1187,2410,2411],{"class":1197}," -u",[1187,2413,2399],{"class":1197},[1187,2415,2416],{"class":1197}," main\n",[45,2418,2419,2420,163],{},"De este modo, dispondremos de un historial completo de todos los cambios en las habilidades, lo que significa que podremos revertirlos fácilmente si una actualización rompe algo. Además, podemos sincronizar las habilidades sin problemas entre varios equipos (como un portátil y un ordenador de sobremesa) ejecutando un rápido ",[272,2421,2422],{},"git pull",[65,2424,2426],{"id":2425},"aspectos-a-tener-en-cuenta-seguridad-y-riesgos","Aspectos a tener en cuenta (Seguridad y riesgos)",[137,2428,2429,2435,2441,2451,2457],{},[104,2430,2431,2434],{},[52,2432,2433],{},"La compatibilidad varía",": No todas las plataformas de agentes admiten aún todas las funciones (como hooks personalizados o herramientas permitidas específicas). Una habilidad puede funcionar de maravilla en un agente pero quedarse corta en otro.",[104,2436,2437,2440],{},[52,2438,2439],{},"Confía en la fuente",": Instala únicamente habilidades procedentes de fuentes de confianza.",[104,2442,2443,2446,2447,2450],{},[52,2444,2445],{},"Revisa antes de ejecutar",": Si utilizas una habilidad personalizada o de terceros, revisa los archivos (especialmente en la carpeta ",[272,2448,2449],{},"scripts\u002F",") antes de permitir que tu agente la ejecute.",[104,2452,2453,2456],{},[52,2454,2455],{},"Principio de mínimo privilegio",": Intenta no conceder a una habilidad más permisos de herramientas o acceso del que sea estrictamente necesario para realizar su trabajo.",[104,2458,2459,2462],{},[52,2460,2461],{},"Nunca expongas credenciales",": Mantén tus claves API y secretos fuera de los archivos de tus habilidades.",[45,2464,2465,2466,2468],{},"Configurar una \"fuente única de verdad\" centralizada con ",[272,2467,1944],{}," ha evitado frustraciones y duplicidad de trabajo a nuestro equipo. Te recomendamos encarecidamente que lo pruebes; ¡las capacidades de la IA se multiplican a medida que crecen tus habilidades!",[1289,2470,2471],{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":486,"searchDepth":487,"depth":487,"links":2473},[2474,2475,2477,2478,2480,2481],{"id":2116,"depth":487,"text":2117},{"id":2156,"depth":487,"text":2476},"Instalación de npx skills y adición de una habilidad",{"id":2245,"depth":487,"text":2246},{"id":2296,"depth":487,"text":2479},"Otros comandos útiles de npx skills",{"id":2334,"depth":487,"text":2335},{"id":2425,"depth":487,"text":2426},"2026-06-04","¿Usas varios agentes de IA como Claude Code o Kimi? Aprende a solucionar la fragmentación de habilidades con una sola carpeta centralizada usando npx skills.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002FEvita-fragmentar-habilidades-de-agentes-usando-npx-skills.webp","Cómo centralizar habilidades de agentes de IA usando npx skills CLI",{"schemaOrg":2487,"robots":517,"sitemap":2490},[2488],{"@type":516,"headline":2489,"description":2483},"Cómo solucionar la fragmentación de habilidades de agentes con npx skills",{"lastmod":2491},"2026-06-03","\u002Fes\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":2489,"description":2483,"ogTitle":1951,"ogDescription":2483,"twitterTitle":1951,"twitterDescription":2483},"es\u002Farticle\u002Fcentralised-the-skills-for-agents","VrUv-QeONpCS6-Z7scCLHRmX55DthSHm8mgJMWPTPt0",{"id":2497,"title":2498,"author":40,"body":2499,"category":40,"date":2731,"description":2732,"extension":504,"image":2733,"imageAlt":2734,"isPublished":507,"meta":2735,"minRead":1641,"navigation":507,"path":2739,"seo":2740,"stem":2741,"__hash__":2742},"article\u002Fes\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare.md","Deja de exponer tu bóveda: Protege NodeWarden con Cloudflare",{"type":42,"value":2500,"toc":2727},[2501,2504,2507,2521,2525,2532,2534,2538,2541,2545,2575,2579,2582,2649,2653,2656,2720,2724],[45,2502,2503],{},"El momento en que tu instancia de NodeWarden se expone al público en Internet, comienza a atraer a miles de bots automatizados que buscan vulnerabilidades las 24 horas del día, los 7 días de la semana. Para proteger tus datos confidenciales, necesitas aplicar el nivel máximo de bloqueo posible en tu instancia de NodeWarden.",[45,2505,2506],{},"Para asegurar tu instancia de NodeWarden, puedes usar una de estas dos funciones de Cloudflare:",[137,2508,2509,2515],{},[104,2510,2511,2514],{},[52,2512,2513],{},"Cloudflare IP Access Rules (Reglas de acceso por IP):"," Te permite bloquear, solicitar un desafío de seguridad (challenge) o permitir el tráfico en función de direcciones IP o países específicos.",[104,2516,2517,2520],{},[52,2518,2519],{},"Cloudflare Zero Trust (Recomendado):"," Actúa como una pasarela segura que hace que tu instancia de NodeWarden sea completamente invisible al público, permitiendo el acceso únicamente a los usuarios autorizados.",[1428,2522,2524],{"id":2523},"por-qué-recomendamos-cloudflare-zero-trust","Por qué recomendamos Cloudflare Zero Trust",[45,2526,2527,2528,2531],{},"Aconsejamos encarecidamente usar Cloudflare Zero Trust porque las reglas de acceso por IP están vinculadas a direcciones IP o países, lo que significa que tendrías que actualizar manualmente tus reglas cada vez que viajes o si tienes una IP dinámica. Cloudflare Zero Trust, por el contrario, se basa en tu ",[52,2529,2530],{},"identidad",", no en tu ubicación, ofreciéndote un acceso fluido y seguro a NodeWarden.",[1348,2533],{},[65,2535,2537],{"id":2536},"guía-de-configuración","Guía de Configuración",[45,2539,2540],{},"Sigue estos pasos para configurar Cloudflare Zero Trust para NodeWarden.",[1428,2542,2544],{"id":2543},"fase-1-primeros-pasos","Fase 1: Primeros pasos",[101,2546,2547,2554,2561,2568],{},[104,2548,2549,2550],{},"En tu panel de control de Cloudflare, haz clic en 'Zero Trust' en el menú de la izquierda.\n",[125,2551],{"alt":2552,"src":2553},"Barra lateral del panel de Cloudflare que muestra la opción Zero Trust seleccionada en el menú de navegación.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-dashboard-zero-trust-sidebar.webp",[104,2555,2556,2557],{},"Haz clic en 'Access controls' y luego en 'Applications'.\n",[125,2558],{"alt":2559,"src":2560},"Menú de navegación de Cloudflare Zero Trust con la sección de Controles de acceso expandida.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-access-controls-menu.webp",[104,2562,2563,2564],{},"Es posible que se te pida elegir un plan ('Choose a plan').\n",[125,2565],{"alt":2566,"src":2567},"Pantalla de configuración de la cuenta de Cloudflare Zero Trust que solicita al usuario elegir un plan de suscripción.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-choose-plan-setup.webp",[104,2569,2570,2571],{},"Haz clic en el botón 'Choose a plan' y selecciona 'Zero Trust Free'.\n",[125,2572],{"alt":2573,"src":2574},"La página de detalles del plan Zero Trust Free en Cloudflare, destacando el botón Seleccionar plan.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-free-plan-selection.webp",[1428,2576,2578],{"id":2577},"fase-2-protege-tu-interfaz-web","Fase 2: Protege tu interfaz web",[45,2580,2581],{},"Primero, crearemos una aplicación para proteger el panel de control web de NodeWarden.",[101,2583,2584,2591,2598,2605,2612,2619,2626,2629,2636,2639],{},[104,2585,2586,2587],{},"Haz clic en 'Create new application' para crear la primera aplicación.\n",[125,2588],{"alt":2589,"src":2590},"Panel de aplicaciones de Cloudflare Access con el botón Crear nueva aplicación.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-create-new-application.webp",[104,2592,2593,2594],{},"Elige 'Self-hosted and private'.\n",[125,2595],{"alt":2596,"src":2597},"El modal Añadir una aplicación en Cloudflare Access con el tipo de aplicación Autohospedada y privada seleccionado.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-add-self-hosted-application.webp",[104,2599,2600,2601],{},"Introduce el nombre de dominio de NodeWarden.\n",[125,2602],{"alt":2603,"src":2604},"Pantalla de configuración de la aplicación de Cloudflare Access que muestra el nombre de host público configurado como warden.techvoyage.dev.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-public-hostname.webp",[104,2606,2607,2608],{},"Haz clic en 'Create new policy' para crear una política.\n",[125,2609],{"alt":2610,"src":2611},"Página de políticas de Cloudflare Access que muestra que no se han añadido políticas y un botón para crear una nueva política.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-no-policies-create-button.webp",[104,2613,2614,2615],{},"Selecciona 'Emails' e introduce un correo electrónico en 'Policy rules'.\n",[125,2616],{"alt":2617,"src":2618},"Pantalla de configuración de la regla de política de Cloudflare Access con una dirección de correo electrónico especificada como criterio de inclusión.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-email.webp",[104,2620,2621,2622],{},"Introduce un nombre y selecciona 'Allow' en 'Policy details'.\n",[125,2623],{"alt":2624,"src":2625},"Pantalla de detalles de la política de Cloudflare Access que muestra el nombre de la política NodeWarden-Web y la acción configurada en Permitir.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-allow.webp",[104,2627,2628],{},"Haz clic en 'Save Policy' para guardar la política.",[104,2630,2631,2632],{},"Introduce un nombre y selecciona '1 month' en la sección 'Details'.\n",[125,2633],{"alt":2634,"src":2635},"Resumen final de la configuración para una aplicación de Cloudflare Access llamada NodeWarden-Web con una duración de sesión de un mes.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-final-details.webp",[104,2637,2638],{},"Haz clic en 'Create' para crear la aplicación.",[104,2640,2641,2644,2645],{},[52,2642,2643],{},"Pruébalo:"," Abre el dominio en el navegador web; verás que 'Cloudflare Access' te pide un correo electrónico.\n",[125,2646],{"alt":2647,"src":2648},"Una vista previa de la pantalla de inicio de sesión de Cloudflare Access para NodeWarden-Web, solicitando una dirección de correo electrónico.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-login-screen-preview.webp",[1428,2650,2652],{"id":2651},"fase-3-permitir-la-sincronización-de-clientes-bitwarden-omitir-api","Fase 3: Permitir la sincronización de clientes BitWarden (Omitir API)",[45,2654,2655],{},"Las aplicaciones móviles y de escritorio de BitWarden no pueden procesar la pantalla de inicio de sesión por correo de Cloudflare, por lo que necesitamos crear una segunda aplicación que permita al tráfico omitir (bypass) la pantalla de inicio de sesión específicamente para la sincronización de la API.",[101,2657,2658,2669,2684,2689,2696,2703,2706,2713],{},[104,2659,2660,2661,2664,2665,2668],{},"Vuelve a Applications y haz clic en ",[52,2662,2663],{},"Create new application",", eligiendo ",[52,2666,2667],{},"Self-hosted and private"," nuevamente.",[104,2670,2671,2672,2675,2676,2679,2680],{},"Introduce 'api\u002F",[120,2673,2674],{},"', 'identity\u002F","', 'notifications\u002F",[120,2677,2678],{},"' e 'icons\u002F","' en Destinations.\n",[125,2681],{"alt":2682,"src":2683},"Configuración de múltiples nombres de host públicos para omitir la API en Cloudflare Access, incluyendo las rutas api, identity, notifications e icons.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-bypass-destinations.webp",[104,2685,2686,2687],{},"Haz clic en 'Create new policy' para crear la política.\n",[125,2688],{"alt":2610,"src":2611},[104,2690,2691,2692],{},"Selecciona 'Everyone' en 'Policy rules'.\n",[125,2693],{"alt":2694,"src":2695},"Configuración de la regla de política de Cloudflare Access con Todos seleccionado para permitir un acceso amplio a rutas específicas.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-everyone.webp",[104,2697,2698,2699],{},"Introduce un nombre y selecciona 'Bypass' en 'Policy details'.\n",[125,2700],{"alt":2701,"src":2702},"Detalles de la política de Cloudflare Access para NodeWarden-API con la acción configurada en Omitir.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-bypass.webp",[104,2704,2705],{},"Haz clic en 'Save Policy' para guardarla.",[104,2707,2708,2709],{},"Introduce un nombre y selecciona '1 month' en 'Session Duration'.\n",[125,2710],{"alt":2711,"src":2712},"Pantalla de configuración final para la aplicación NodeWarden-API en Cloudflare Access.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-application-final-details.webp",[104,2714,2715,2716],{},"Ahora deberías tener 2 aplicaciones creadas.\n",[125,2717],{"alt":2718,"src":2719},"El panel de aplicaciones de Cloudflare Access que muestra las aplicaciones Web y API creadas con éxito.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-applications-list-final.webp",[65,2721,2723],{"id":2722},"consideraciones-finales","Consideraciones finales",[45,2725,2726],{},"Solo recuerda que Cloudflare es tu escudo exterior. Para mantener una bóveda (vault) verdaderamente segura, asegúrate de seguir utilizando una contraseña maestra fuerte, habilitar la Autenticación de Dos Factores (2FA) y mantener segura tu cuenta de Cloudflare.",{"title":486,"searchDepth":487,"depth":487,"links":2728},[2729,2730],{"id":2536,"depth":487,"text":2537},{"id":2722,"depth":487,"text":2723},"2026-05-27","El momento en que tu instancia de NodeWarden se expone al público en Internet, comienza a atraer a miles de bots automatizados que buscan vulnerabilidades las 24 horas del día, los 7 días de la semana.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fasegurar-nodewarden-integracion-cloudflare-guia.webp","Miniatura de una guía paso a paso para asegurar una bóveda de NodeWarden con integración de Cloudflare, que muestra una caja fuerte digital con candado y un rack de servidores protegido.",{"schemaOrg":2736,"robots":517,"sitemap":2738},[2737],{"@type":516,"headline":2498,"description":2732},{"lastmod":2731},"\u002Fes\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":2498,"description":2732,"ogTitle":2498,"ogDescription":2732,"twitterTitle":2498,"twitterDescription":2732},"es\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","MC2N3JO7U7YcBakLu6bcAT8cjo_IogYFV2UPXwCv85s",{"id":2744,"title":2745,"author":40,"body":2746,"category":40,"date":3326,"description":3327,"extension":504,"image":3328,"imageAlt":3329,"isPublished":507,"meta":3330,"minRead":1641,"navigation":507,"path":3335,"seo":3336,"stem":3337,"__hash__":3338},"article\u002Fes\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare.md","Cómo alojar tu gestor de contraseñas tipo BitWarden",{"type":42,"value":2747,"toc":3315},[2748,2755,2761,2765,2955,2959,2975,2979,3014,3018,3048,3052,3079,3083,3126,3130,3169,3173,3176,3180,3209,3213,3236,3240,3243,3260,3265,3268,3271,3285,3289,3306,3310],[45,2749,2750,2751,2754],{},"Tus contraseñas son tu propiedad digital más importante, y mantenerlas seguras significa tenerlas en tus propias manos. Al autoalojar (",[120,2752,2753],{},"self-hosting",") tu propio gestor de contraseñas, tomas el control de tu propia seguridad. ",[45,2756,2757,2760],{},[52,2758,2759],{},"BitWarden","​ es ampliamente considerado como uno de los más confiables en el ámbito de la gestión de contraseñas y su código fuente está disponible bajo la licencia AGPL-3.0. NodeWarden es un servidor no oficial compatible con BitWarden, escrito en Typescript, que se puede desplegar de forma gratuita en Cloudflare.",[65,2762,2764],{"id":2763},"comparación-de-características-con-el-servidor-oficial-de-bitwarden","Comparación de características con el servidor oficial de BitWarden",[2766,2767,2768,2786],"table",{},[2769,2770,2771],"thead",{},[2772,2773,2774,2778,2780,2783],"tr",{},[2775,2776,2777],"th",{},"Capacidad",[2775,2779,2759],{},[2775,2781,2782],{},"NodeWarden",[2775,2784,2785],{},"Notas",[2787,2788,2789,2806,2821,2833,2845,2860,2877,2892,2907,2919,2931,2944],"tbody",{},[2772,2790,2791,2795,2798,2800],{},[2792,2793,2794],"td",{},"Bóveda Web (Web Vault)",[2792,2796,2797],{},"✅",[2792,2799,2797],{},[2792,2801,2802,2805],{},[52,2803,2804],{},"Interfaz original de la Bóveda Web","​",[2772,2807,2808,2814,2816,2818],{},[2792,2809,2810,2811],{},"Sincronización completa ",[272,2812,2813],{},"\u002Fapi\u002Fsync",[2792,2815,2797],{},[2792,2817,2797],{},[2792,2819,2820],{},"Compatibilidad optimizada para clientes oficiales",[2772,2822,2823,2826,2828,2830],{},[2792,2824,2825],{},"Subir \u002F descargar archivos adjuntos",[2792,2827,2797],{},[2792,2829,2797],{},[2792,2831,2832],{},"Cloudflare R2 o KV",[2772,2834,2835,2838,2840,2842],{},[2792,2836,2837],{},"Send (Enviar)",[2792,2839,2797],{},[2792,2841,2797],{},[2792,2843,2844],{},"Soporta envíos de texto y de archivos",[2772,2846,2847,2850,2852,2854],{},[2792,2848,2849],{},"Importar \u002F Exportar",[2792,2851,2797],{},[2792,2853,2797],{},[2792,2855,2856,2857,2805],{},"Soporta importación de BitWarden JSON \u002F CSV \u002F ",[52,2858,2859],{},"ZIP con adjuntos",[2772,2861,2862,2867,2870,2872],{},[2792,2863,2864],{},[52,2865,2866],{},"Centro de copias de seguridad en la nube",[2792,2868,2869],{},"❌",[2792,2871,2797],{},[2792,2873,2874,2805],{},[52,2875,2876],{},"Copias de seguridad programadas a WebDAV \u002F S3",[2772,2878,2879,2882,2885,2887],{},[2792,2880,2881],{},"Pista de contraseña (web)",[2792,2883,2884],{},"⚠️ Limitado",[2792,2886,2797],{},[2792,2888,2889,2805],{},[52,2890,2891],{},"No requiere correo electrónico",[2772,2893,2894,2897,2899,2901],{},[2792,2895,2896],{},"TOTP \u002F Steam TOTP",[2792,2898,2797],{},[2792,2900,2797],{},[2792,2902,2903,2904],{},"Incluye soporte para ",[272,2905,2906],{},"steam:\u002F\u002F",[2772,2908,2909,2912,2914,2916],{},[2792,2910,2911],{},"Multiusuario",[2792,2913,2797],{},[2792,2915,2797],{},[2792,2917,2918],{},"Registro mediante invitación",[2772,2920,2921,2924,2926,2928],{},[2792,2922,2923],{},"Organizaciones \u002F Colecciones \u002F Roles",[2792,2925,2797],{},[2792,2927,2869],{},[2792,2929,2930],{},"No implementado",[2772,2932,2933,2936,2938,2941],{},[2792,2934,2935],{},"Inicio de sesión con 2FA",[2792,2937,2797],{},[2792,2939,2940],{},"⚠️ Parcial",[2792,2942,2943],{},"Actualmente solo TOTP a nivel de usuario",[2772,2945,2946,2949,2951,2953],{},[2792,2947,2948],{},"SSO \u002F SCIM \u002F Directorio corporativo",[2792,2950,2797],{},[2792,2952,2869],{},[2792,2954,2930],{},[65,2956,2958],{"id":2957},"lo-que-necesitamos","Lo que necesitamos:",[101,2960,2961,2966,2972],{},[104,2962,2963],{},[52,2964,2965],{},"Una cuenta de GitHub",[104,2967,2968,2971],{},[52,2969,2970],{},"Una cuenta de Cloudflare","​ (Gratuita) con el almacenamiento R2 activado.",[104,2973,2974],{},"_Opcional:_Un nombre de dominio personalizado gestionado en Cloudflare.",[361,2976,2978],{"id":2977},"fase-1-preparar-el-código","Fase 1: Preparar el código",[101,2980,2981,3001],{},[104,2982,2983,2984,2988,2989,2993,2994,2997],{},"Haz un _fork_del repositorio de NodeWarden desde ",[465,2985,2986],{"href":2986,"rel":2987},"https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fnodewarden",[469]," del repositorio original ",[465,2990,2991],{"href":2991,"rel":2992},"https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002Fnodewarden",[469]," GitHub.",[2995,2996],"br",{},[125,2998],{"alt":2999,"src":3000},"Bifurcando el repositorio de NodeWarden en GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Ffork-nodewarden-repo.webp",[104,3002,3003,3004,3007,3008,3010],{},"Habilita el ",[120,3005,3006],{},"workflow","\"Sync Upstream\".",[2995,3009],{},[125,3011],{"alt":3012,"src":3013},"Habilitando el flujo de trabajo de sincronización ascendente en GitHub Actions","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fenable-sync-upstream.webp",[361,3015,3017],{"id":3016},"fase-2-desplegar-en-cloudflare","Fase 2: Desplegar en Cloudflare",[101,3019,3020,3029,3042],{},[104,3021,3022,3023,3025],{},"Crea una aplicación Worker en Cloudflare.",[2995,3024],{},[125,3026],{"alt":3027,"src":3028},"Creando una nueva aplicación Worker en el panel de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcreate-cloudflare-worker.webp",[104,3030,3031,3032,3034,3038],{},"Selecciona 'Continue with GitHub' para desplegar la aplicación.",[2995,3033],{},[125,3035],{"alt":3036,"src":3037},"Desplegando la aplicación NodeWarden conectando con GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fdeploy-github-repo.webp",[125,3039],{"alt":3040,"src":3041},"Progreso de construcción y despliegue del Worker de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-deploy-status.webp",[104,3043,3044,3045,163],{},"Espera unos momentos a que Cloudflare construya y despliegue tu app. Te dará una URL por defecto tipo ",[272,3046,3047],{},"worker.dev",[361,3049,3051],{"id":3050},"opcional-añadir-un-dominio-personalizado","(Opcional) Añadir un dominio personalizado:",[137,3053,3054,3060,3066],{},[104,3055,3056,3057,163],{},"En la configuración de tu Cloudflare Worker, ve a la pestaña ",[52,3058,3059],{},"Settings",[104,3061,3062,3063,163],{},"Haz clic en ",[52,3064,3065],{},"+ Add",[104,3067,3068,3069,3071,3075],{},"Escribe el dominio que prefieras y sigue las instrucciones.",[2995,3070],{},[125,3072],{"alt":3073,"src":3074},"Navegando a la configuración de dominio personalizado en el Worker de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fworker-settings-custom-domain.webp",[125,3076],{"alt":3077,"src":3078},"Añadiendo un dominio personalizado al Worker de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fadd-custom-domain.webp",[361,3080,3082],{"id":3081},"fase-3-proteger-tu-servidor-el-secreto-jwt","Fase 3: Proteger tu servidor (El secreto JWT)",[101,3084,3085,3088,3100,3120],{},[104,3086,3087],{},"Ve al navegador web e ingresa tu dominio personalizado o el dominio 'worker.dev' generado.",[104,3089,3090,3091,163,3094,3096],{},"Te aparecerá el mensaje '",[52,3092,3093],{},"JWT_SECRET is missing'",[2995,3095],{},[125,3097],{"alt":3098,"src":3099},"Mensaje de error JWT_SECRET is missing en el servidor NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fjwt-secret-missing-error.webp",[104,3101,3102,3103,3105,3106,3109,3110,3112,3116],{},"Copia la clave secreta generada y vuelve a la pestaña de Settings (Configuración) de tu Worker de NodeWarden, luego haz clic en el botón '",[52,3104,3065],{},"' en la sección '",[52,3107,3108],{},"Variables and Secrets","'.",[2995,3111],{},[125,3113],{"alt":3114,"src":3115},"Sección de Variables y Secretos en la configuración del Worker de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fworker-variables-secrets.webp",[125,3117],{"alt":3118,"src":3119},"Añadiendo el secreto JWT generado a las variables del Worker de Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fadd-jwt-secret.webp",[104,3121,3122,3123,3109],{},"Pega el secreto generado y haz clic en el botón '",[52,3124,3125],{},"Deploy \u002F Save",[361,3127,3129],{"id":3128},"fase-4-crear-tu-cuenta-de-administrador","Fase 4: Crear tu cuenta de administrador",[101,3131,3132,3141,3154,3166],{},[104,3133,3134,3135,3137],{},"Vuelve al navegador web y actualiza la página; verás la siguiente página de inicio de sesión.",[2995,3136],{},[125,3138],{"alt":3139,"src":3140},"Página de inicio de sesión del servidor NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fnodewarden-login.webp",[104,3142,3143,3144,3147,3148,3150],{},"Haz clic en '",[52,3145,3146],{},"Create Account","' para crear la cuenta de administrador.",[2995,3149],{},[125,3151],{"alt":3152,"src":3153},"Haciendo clic en el botón Create Account en la página de inicio de sesión de NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcreate-account-button.webp",[104,3155,3156,3157,1904,3160,3162],{},"Inicia sesión con la cuenta de administrador que acabas de crear para acceder al panel de control (",[120,3158,3159],{},"Dashboard",[2995,3161],{},[125,3163],{"alt":3164,"src":3165},"Vista general del panel de administración de NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fnodewarden-dashboard.webp",[104,3167,3168],{},"Ahora ya tenemos el servidor desplegado y en funcionamiento. Empezaremos a configurar los clientes de BitWarden.",[361,3170,3172],{"id":3171},"fase-5-conectar-tus-dispositivos","Fase 5: Conectar tus dispositivos",[45,3174,3175],{},"Puedes usar las aplicaciones oficiales de BitWarden en todos tus dispositivos.",[1428,3177,3179],{"id":3178},"extensión-para-chrome","Extensión para Chrome",[101,3181,3182,3185,3188,3197,3206],{},[104,3183,3184],{},"Instala la extensión de Bitwarden para Chrome.",[104,3186,3187],{},"Abre la extensión.",[104,3189,3190,3191,3193],{},"Haz clic en el enlace junto a 'Accessing:' (Accediendo a:) en la parte inferior del menú emergente.",[2995,3192],{},[125,3194],{"alt":3195,"src":3196},"Seleccionando la opción de autoalojado en la extensión de Bitwarden para Chrome","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-extension-self-hosted.webp",[104,3198,3199,3200,3202],{},"Ingresa el nombre de dominio de tu servidor NodeWarden.",[2995,3201],{},[125,3203],{"alt":3204,"src":3205},"Ingresando la URL del servidor en la extensión de Bitwarden para Chrome","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-extension-domain.webp",[104,3207,3208],{},"Guarda la configuración e inicia sesión con tu cuenta.",[1428,3210,3212],{"id":3211},"app-para-ios","App para iOS",[101,3214,3215,3218,3227],{},[104,3216,3217],{},"Instala la app de BitWarden desde la App Store.",[104,3219,3220,3221,3223],{},"Abre la app y haz clic en '' junto a 'Logging in on:' (Iniciando sesión en:).",[2995,3222],{},[125,3224],{"alt":3225,"src":3226},"Accediendo a la configuración de autoalojado en la aplicación de Bitwarden para iOS","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-ios-self-hosted.webp",[104,3228,3229,3230,3232],{},"Ingresa el nombre de dominio del servidor NodeWarden y haz clic en el botón '✓'.",[2995,3231],{},[125,3233],{"alt":3234,"src":3235},"Configurando la URL del servidor en la aplicación de Bitwarden para iOS","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-ios-domain.webp",[1428,3237,3239],{"id":3238},"otros-clientes","Otros Clientes",[45,3241,3242],{},"NodeWarden ha sido probado y se ha confirmado que es compatible con estos clientes oficiales de BitWarden:",[137,3244,3245,3248,3251,3254,3257],{},[104,3246,3247],{},"✅ Windows de escritorio",[104,3249,3250],{},"✅ Apps móviles Android\u002FiOS",[104,3252,3253],{},"✅ Extensiones de navegador",[104,3255,3256],{},"✅ Linux de escritorio",[104,3258,3259],{},"⚠️ macOS de escritorio (no verificado completamente)",[3261,3262,3264],"h1",{"id":3263},"copia-de-seguridad-de-la-bóveda","Copia de seguridad de la bóveda",[45,3266,3267],{},"NodeWarden te permite hacer copias de seguridad de tu bóveda en una computadora local o en almacenamiento remoto (almacenamiento compatible con S3 o WebDAV).",[45,3269,3270],{},"Para automatizar las copias de seguridad remotas:",[137,3272,3273,3276],{},[104,3274,3275],{},"Configura los detalles del almacenamiento remoto dentro del panel de control de NodeWarden.",[104,3277,3278,3279,3281],{},"Asegúrate de que la tarea Cron esté configurada en los ajustes de Cloudflare Worker para la copia de seguridad remota automática.",[2995,3280],{},[125,3282],{"alt":3283,"src":3284},"Configurando disparadores Cron para copias de seguridad automáticas en Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-worker-cron.webp",[3261,3286,3288],{"id":3287},"consideraciones-finales-de-seguridad","Consideraciones finales de seguridad",[137,3290,3291,3298,3301],{},[104,3292,3293,3294,3297],{},"Protege el acceso a tu cuenta de Cloudflare, de lo contrario los datos podrían verse comprometidos. Habilita la autenticación de dos factores (2FA) o una ",[120,3295,3296],{},"Passkey","(Clave de acceso) en tu cuenta de Cloudflare de inmediato.",[104,3299,3300],{},"Aloja NodeWarden en una cuenta de Cloudflare dedicada. No compartas recursos con otras aplicaciones web para minimizar los riesgos de seguridad.",[104,3302,3303],{},[465,3304,3305],{"href":10},"Protege NodeWarden con Cloudflare",[3261,3307,3309],{"id":3308},"referencias","Referencias",[137,3311,3312],{},[104,3313,3314],{},"Guía de inicio oficial de NodeWarden",{"title":486,"searchDepth":487,"depth":487,"links":3316},[3317,3318],{"id":2763,"depth":487,"text":2764},{"id":2957,"depth":487,"text":2958,"children":3319},[3320,3321,3322,3323,3324,3325],{"id":2977,"depth":496,"text":2978},{"id":3016,"depth":496,"text":3017},{"id":3050,"depth":496,"text":3051},{"id":3081,"depth":496,"text":3082},{"id":3128,"depth":496,"text":3129},{"id":3171,"depth":496,"text":3172},"2026-05-25","Tus contraseñas son tu propiedad digital más importante, y mantenerlas seguras significa tenerlas en tus propias manos.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fservidor-autoalojado-bitwarden.webp","Miniatura del tutorial sobre cómo autoaloja un servidor compatible con Bitwarden, mostrando una bóveda digital y un rack de servidores.",{"schemaOrg":3331,"robots":517,"sitemap":3334},[3332],{"@type":516,"headline":3333,"description":3327},"Cómo proteger tus contraseñas en tu propia bóveda autoalojando un servidor compatible con Bitwarden",{"lastmod":3326},"\u002Fes\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare",{"title":3333,"description":3327,"ogTitle":3333,"ogDescription":3327,"twitterTitle":3333,"twitterDescription":3327},"es\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare","bcgRM3afKeKIDEhWg1JGO_uOrR0iG2q2yf91FnAci4E",1781435115135]