CreaRack-SL

Help Widget + Wiki EN

Funcionalidadactiveverificado 2026-04-21#ux#help#wiki#translation#gemini

Help Widget + Wiki EN

User value

Usuario de CreaRack Pro tiene ayuda contextual sin salir de la app. Desde las 8 páginas principales (Dashboard, Rack Editor, Observatory, Wireless, UPS, Signage, Terminal, Maps) abre panel lateral con 2 modos:

  • Ask: pregunta en lenguaje natural → respuesta sintetizada por Gemini con fuentes.
  • Browse: artículos de la wiki por categoría mediante popovers.

Panel redimensionable (ancho persistido en localStorage). Wiki completa en inglés: elimina barrera de idioma para usuarios no hispanohablantes.

Cómo usarla

Botones Guide y Help en el header persistente de cada módulo. Al pulsar Help se abre panel lateral desde la derecha. Pestaña Ask: pregunta, fuentes son enlaces que abren el artículo en el panel. Pestaña Browse: categorías; clic despliega popover con artículos. Ancho se ajusta arrastrando borde izquierdo.

Implementación

Widget como componente Alpine.js (helpWidget) en static/js/alpine-components.js. Toda interacción usa data-action y eventos custom (no expresiones Alpine inline) para cumplir política CSP del build production. toggleHelpPanel() en static/js/base.js expuesto en window.

Backend: 3 endpoints en core/api_help.py bajo /api/help/:

  • POST /api/help/ask — reenvía a tool bib_ask del workspace MCP.
  • GET /api/help/wiki — listado de artículos por categoría.
  • GET /api/help/article — contenido vía read_guide MCP + conversor Markdown→HTML ligero.

Wiki en inglés (wiki-en/): 52 artículos pre-traducidos por Gemini Flash mediante script de build translate-wiki.mjs. Mapeo de títulos desde GET /api/biblioteca/wiki-titles en workspace. Ruta wiki/ se sustituye por wiki-en/ en cliente. Acceso server-to-server vía CF Access bypass para prefijo /api/biblioteca/*.

Decisiones

  • Traducción runtime descartada (commit 628365d) en favor de archivos pre-traducidos en build. Razón: latencia y coste; traducir on-the-fly era lento e impredecible. Archivos estáticos wiki-en/ se generan una vez y se sirven directamente.
  • Expresiones Alpine inline eliminadas (@click, x-html) tras detectar que build CSP las bloqueaba silenciosamente (2407efa, 59b2ec3). Todo migró a data-action + custom events, patrón ya establecido.
  • Conversor Markdown→HTML en servidor (no librería frontend) para mantener bundle pequeño.

Commits relacionados

HashDescripción
a2ae06ffeat: Help Widget — native help system with Gemini
2407efafix: Help Widget fully CSP-safe
76115f9fix: Help Wiki muestra contenido inline — /api/help/article
628365dfeat: remove runtime Gemini translation — pre-translated
5c10c8bdocs: v1.0.56 — Help Widget + Wiki EN (commit raíz)

Véase también

  • [[concept—biblioteca—supercontexto]]