# OneShotAiPanel > Componente React de código abierto que se conecta al LLM que configures (opencode, shadcn, fallback) y ejecuta tus tareas en una sola pasada: streaming de JSON, esquema validado, revisión de diffs y plug directo en tu stack. ## ¿Qué es OneShotAiPanel? Un componente React que se conecta al LLM de tu elección y convierte una petición en entregables validados, sin copiar y pegar manualmente. ## Características - **Conexión al LLM configurado** : el componente llama al provider que configures (opencode, shadcn, fallback o un onSend personalizado) - **Streaming JSON en tiempo real** : la respuesta del modelo llega en streaming y se valida contra esquemas (zod) - **Esquemas JSON validados** : cada ticket espera una estructura precisa, controlada por esquema - **Validación automática** : en caso de desviación, se devuelve un feedback específico para una segunda pasada - **Diff y revisión** : si ya existe contenido, un diff línea a línea te muestra qué cambia antes de integrar - **Plug directo** : recupera los contenidos seleccionados mediante onPlug y conéctalos a tu código, adaptador o SDK ## Cómo funciona - **1. Describe la tarea** — Un prompt de usuario, un prompt de sistema y los archivos de contexto. El componente ensambla el prompt final. - **2. Configura la conexión al modelo** — El componente se conecta al provider que configures mediante el adapter (opencode, shadcn, fallback) o tu propio onSend. Sin esta conexión, nada funciona. - **3. Un solo envío** — El modelo responde con streaming de JSON. Cada ticket espera una estructura precisa, controlada por esquema. - **4. Validación automática** — La respuesta se valida contra los esquemas. En caso de desviación, se devuelve un feedback específico para una segunda pasada. - **5. Diff y revisión** — Si ya existe contenido, un diff línea a línea te muestra qué cambia antes de integrar. - **6. Plug** — Recupera los contenidos seleccionados mediante onPlug y conéctalos a tu código, adaptador o SDK. ## Configuración (props principales) ### Contenido - `title` — Título mostrado en el encabezado del componente. - `systemPrompt` — El rol y las reglas dadas al modelo. - `initialUserPrompt` — La petición inicial pre-rellenada en el campo de usuario. ### Contexto - `files` — Archivos del proyecto proporcionados como contexto al modelo. - `tickets` — División de la tarea, cada ticket con su esquema JSON. ### Contrato - `parser` — Personaliza el parseo y la validación de la respuesta. - `invalidMode` — Avisar o bloquear cuando la respuesta no valida los esquemas. ### Adapter - `adapter` — Provider (opencode, shadcn, fallback), modelo y clave de API. - `onSend` — Reemplaza el envío con tu propia lógica (SDK, proxy…). ### Eventos - `onPlug` — Se llama cuando el usuario integra los contenidos seleccionados. ### i18n - `language` — Idioma de la interfaz. - `labels` — Sobrescritura fina de cualquier etiqueta. ### UI - `actionLabel` — Etiqueta del botón principal de ejecución. - `showInfoButton` — Muestra el botón de ayuda / integración / créditos. - `showSettingsButton` — Muestra el botón de configuración. - `showInfoIntegration` — Muestra el punto de integración en el panel de ayuda. - `showInfoCredits` — Muestra los créditos en el panel de ayuda. ## Instalación El código fuente y la demo viven en GitHub: - Repositorio : https://github.com/bn-dev-19/one-shot-ai-panel - Versión actual : v1.1.3 (archivo : https://github.com/bn-dev-19/one-shot-ai-panel/archive/refs/tags/v1.1.3.zip) ## Playground El componente se ejecuta de verdad en el sitio: : https://oneshot-ai-panel.asistem19.com/es#playground ## Enlaces - Inicio : https://oneshot-ai-panel.asistem19.com/es - GitHub : https://github.com/bn-dev-19/one-shot-ai-panel - Licencia : https://oneshot-ai-panel.asistem19.com/es/license - Condiciones de uso : https://oneshot-ai-panel.asistem19.com/es/terms - Política de privacidad : https://oneshot-ai-panel.asistem19.com/es/privacy - Créditos : https://oneshot-ai-panel.asistem19.com/es/credits