Search by

dbravoan / dbcms-module-ai-assistant

dbravoan

Motor de asistencia editorial inteligente y diseño de maquetación de bloques por IA para redactores del CMS y agentes MCP externos con soporte para Google Gemini, OpenAI, DeepSeek, Anthropic, Ollama y OpenCode (Zen + Go), con catálogo de modelos dinámico.

Package info

github.com/dbravoan/dbcms-module-ai-assistant

Type:dbcms-module

pkg:composer/dbravoan/dbcms-module-ai-assistant

Statistics

Installs: 15

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-05 15:41 UTC

This package is auto-updated.

Last update: 2026-11-06 06:25:58 UTC


README

Qué hace

dbravoan/dbcms-module-ai-assistant aporta asistencia editorial, traducción y generación mediante proveedores. Instala/activa ai_assistant; los usuarios necesitan permiso AI y los de la entidad o medio editado.

Configura y verifica proveedor/modelo de texto. Imagen/vídeo requiere una modalidad compatible distinta; un catálogo de texto operativo no acredita esa capacidad. Guarda credenciales en conexiones cifradas o entorno protegido, nunca en prompts ni Git. Los adaptadores implementan Contracts/AiProviderInterface.php y se registran en config/providers.php; el catálogo de texto procede del proveedor. Imagen/vídeo usan sus contratos y endpoints verificados. Las pruebas simulan la frontera remota y no autorizan generaciones de pago.

Selecciona idioma/mercados antes de generar. Usa la asistencia de campo o Alt+A, o la acción de secciones para componer bloques. Revisa, aplica y guarda mediante el formulario normal. Generar no publica ni acredita exactitud. Si cambia el contexto editorial, vuelve a generar o revisar. La traducción conserva IDs, URLs, medios y estructura; revisa los campos traducidos antes de guardar. Puntuaciones de proveedor y heurísticas de tono/SEO no prueban autoría, veracidad ni ranking.

Bloques e imágenes compartidos con MCP

El asistente consume el catálogo activo del núcleo, también expuesto mediante cms_block_types a clientes MCP. Los esquemas y referencias de los bloques se resuelven para el idioma y los mercados de destino; no se completan estadísticas, precios o testimonios con ejemplos del editor. Si faltan datos o una referencia requiere decisión, la respuesta needs_input pide la información necesaria antes de continuar. Revisa cualquier cambio de contexto antes de aplicar el resultado.

La generación de imágenes exige modalidad/modelo de imagen y permisos use:ai y manage:media. Desde los campos de medios puedes reutilizar la biblioteca, subir un archivo o importar una imagen desde URL pública. Subir/importar requiere manage:media y utiliza los servicios del núcleo, también disponibles sin este módulo a agentes MCP. Las imágenes se validan y guardan en el almacenamiento configurado con límite de 50 MB; el resultado contiene ID y URL de biblioteca. La importación rechaza destinos privados, credenciales y redirecciones.

Aplicar una imagen a contenido exige además autorización de la entidad y respeta su revisión editorial. El medio guardado sigue disponible si falla su asociación: reutiliza su ID en vez de repetir la generación. Los resultados inciertos o errores del proveedor requieren comprobar el estado, no repetir automáticamente el cargo. Generar y almacenar imágenes no publica el contenido asociado.

Requisitos y dependencias

  • dbravoan/dbcms-core ^1.0
  • Identificador CMS: ai_assistant

Instalación y activación

Instala el paquete con Composer e instálalo/actívalo en el CMS (ai_assistant).

Configuración

Ajustes del módulo (claves por nombre):

  • is_enabled
  • default_provider
  • gemini_api_key
  • gemini_model
  • openai_api_key
  • openai_model
  • deepseek_api_key
  • deepseek_model
  • anthropic_api_key
  • anthropic_model
  • opencode_api_key
  • opencode_model
  • custom_base_url
  • custom_api_key
  • custom_model
  • ollama_base_url
  • ollama_api_key
  • ollama_model
  • default_temperature
  • enforce_anti_ai_guardrails
  • brand_archetype
  • brand_treatment
  • brand_target_audience
  • brand_value_proposition
  • brand_preferred_terms
  • brand_taboo_terms
  • brand_cta_goals
  • brand_custom_directives
  • gemini_base_url
  • openai_base_url
  • deepseek_base_url
  • anthropic_base_url
  • opencode_base_url
  • vllm_api_key
  • vllm_base_url
  • vllm_model
  • higgsfield_api_key_id
  • higgsfield_api_key_secret
  • higgsfield_base_url
  • higgsfield_model
  • magnific_api_key
  • magnific_base_url
  • magnific_model
  • default_text_provider
  • default_image_provider
  • default_video_provider
  • gemini_text_model
  • gemini_image_model
  • gemini_video_model
  • openai_text_model
  • openai_image_model
  • openai_video_model
  • deepseek_text_model
  • deepseek_image_model
  • deepseek_video_model
  • anthropic_text_model
  • anthropic_image_model
  • anthropic_video_model
  • opencode_text_model
  • opencode_image_model
  • opencode_video_model
  • vllm_text_model
  • vllm_image_model
  • vllm_video_model
  • ollama_text_model
  • ollama_image_model
  • ollama_video_model
  • custom_text_model
  • custom_image_model
  • custom_video_model
  • higgsfield_text_model
  • higgsfield_image_model
  • higgsfield_video_model
  • magnific_text_model
  • magnific_image_model
  • magnific_video_model

Rutas

Rutas de panel del módulo bajo el prefijo admin de módulos (asistente/campo). Detalle fino de nombres de ruta: gap si no se enumeran aquí; el código está en Http/ y el ServiceProvider.

Comandos Artisan

  • ai:privacy — firma: ai:privacy {action : export, erase or prune} {kind=tasks : tasks or logs} {--id=*} {--verified : Identity, scope and third-party rights were checked} {--retention-released : Documented retention review permits release}

Permisos

  • use:ai
  • manage:ai
  • manage:media
  • access:admin

Privacidad y datos

Configura legal.processing revisado para ai_assistant antes de encolar/enviar. Describe prompts, borradores, actor, destinatarios/transferencias del proveedor (incluido DuckDuckGo en investigación web) y plazo finito o criterio concreto de revisión manual. Los workers lo comprueban de nuevo. Los logs diagnósticos guardan uso técnico y actor, sin copias adicionales de prompts, briefs, títulos o temas; los payloads/resultados de tareas sí contienen el trabajo solicitado.

Usa Sail para exportar JSON privado: ./vendor/bin/sail artisan ai:privacy export tasks --id=UUID --verified, o logs con IDs numéricos. Revisa identidad, alcance y datos de terceros antes de entregar y elimina el export después. erase usa la misma selección; programa ai:privacy prune para retención finita.

Solo se retiran tareas/logs vencidos terminados/fallidos. Estados pendientes, procesando, remotos, inciertos, de aprobación o entrada se conservan. Un fallo con recibo remoto exige reconciliación; un timeout tras reclamar trabajo permanece incierto. La retención manual requiere --retention-released, sin omitir plazos finitos vigentes. Los comandos funcionan estando instalado aunque desactivado. Borradores, medios y copias del proveedor tienen otros propietarios y no se borran implícitamente con la tarea. Consulta el contrato de extensiones.

Enlaces