Agente de seguimiento de competidores
Agente que se ejecuta localmente con Python 3.11+ y SQLite, no necesita servicios de pago. La configuración predeterminada está en config/monitor.toml; los datos y el historial residen en work/. La habilidad incluye un recolector automático y un paso de verificación social manual: el informe final no debe elevar las señales de búsqueda a la categoría de publicaciones leídas directamente.
Primera vez después de instalar la habilidad
En la primera llamada a la habilidad, ejecuta python monitor.py preview para obtener la ruta, ábrela y muestra al usuario el informe de ejemplo del 05–11/10/2026. Este es un ejemplo histórico del formato, no un informe actualizado ni los datos predeterminados del instalador. Luego pregunta en una sola interacción:
- Los nombres de los competidores a monitorear; la URL de la página de Facebook, canal de TikTok, YouTube de cada competidor (puede indicar "no sé" para que el agente ayude a verificar); la URL del sitio web/blog es opcional.
- Información de la empresa del usuario: nombre de la empresa, productos/servicios principales, clientes objetivo y mercado/industria; sitio web de la empresa si lo tiene. Usa este contexto para seleccionar temas, ángulos de contenido e ideas adecuadas; no publiques información sensible sin permiso.
Solo después de obtener las respuestas, crea la configuración personalizada del usuario en work/ según la guía de configuración; no uses por defecto perfiles ERP/CRM de ejemplo como sus datos. Si faltan URLs de redes sociales, márcalas como no verificadas, busca canales oficiales públicos y pide confirmación al usuario si hay ambigüedad. No crees horarios ni inicies la recolección antes de que el alcance esté definido. La instalación de la habilidad no se ejecuta automáticamente ni tiene eventos posteriores a la instalación: los pasos de ver el ejemplo y preguntar la información ocurren cuando el usuario llama a la habilidad por primera vez.
Perfil ERP/CRM Vietnam
config/erp-crm-vn.toml monitorea específicamente Base.vn, MISA AMIS, 1Office, ECOUNT, FastWork, CloudGO y Odoo. No uses la misma SQLite que el perfil de IA predeterminado. Ejecuta dentro del directorio de la habilidad:
python .\monitor.py --config .\config\erp-crm-vn.toml --db .\work\erp-crm-vn\monitor-market.db --runs .\work\erp-crm-vn\runs run
Obtén la ruta JSON de la ejecución y luego genera HTML editado con:
python .\market_profile_report.py <ruta-json-de-la-ejecucion> <directorio-de-salida>
Este perfil prioriza Facebook, TikTok y YouTube en el orden de revisión y presentación; el sitio web/noticias del sector solo se usan para cotejar y complementar cuando los canales sociales no tienen suficiente evidencia. Prioriza canales que no cambian el nivel de confianza: las señales de índice siempre están separadas de las publicaciones originales verificadas; no se usan para calcular interacciones ni para afirmar que se ha escaneado la plataforma. El archivo Excel estándar lo exporta monitor.py automáticamente. Cuando se necesite una versión HTML editada breve, lee el proceso social-first y estándar de informes antes de concluir o publicar. market_profile_report.py es un informe de exploración de datos, no un boletín social verificado.
Proceso
- Si no está inicializado, ejecuta
setup.cmdopython monitor.py setup. - Verifica la configuración con
python monitor.py validate-configy revisa los permisos de API disponibles conpython monitor.py doctor. El comando doctor solo indica si hay o no, no imprime secretos. Al cambiar de industria, competidores o fuentes, lee la guía de configuración. - Ejecuta manualmente con
run.cmdopython monitor.py run. - Lee la ruta del resultado desde el JSON impreso al final del comando. Cada informe de ejecución incluye Markdown, página HTML de aterrizaje según el sistema de diseño de la plantilla y Excel; la tabla de estado de fuentes tiene la razón y la solución cuando no se pudo acceder directamente. Abre el archivo HTML para que el usuario lo vea. No modifiques el historial de ejecuciones anteriores. El informe automático solo presenta evidencia y sugerencias preliminares; si se necesita un boletín ejecutivo como el contenido de la plantilla, verifica las publicaciones originales y edita por separado según el estándar de informes, manteniendo el mismo sistema de diseño.
- Si el usuario desea automatización en Windows, usa
scripts/install-schedule.ps1 -Installdespués de que confirme el horario. No crees horarios del sistema por tu cuenta.
Principios obligatorios
- Monitorea exactamente el período de tiempo solicitado por el usuario; para "la semana pasada", toma el lunes–domingo anterior a la fecha de ejecución según la zona horaria de la configuración, no una ventana deslizante de 7 o 30 días.
- Con el perfil ERP/CRM, revisa los canales sociales primero y luego usa el sitio web/noticias del sector para verificar o complementar datos. Prueba en orden: API gratuita válida → RSS si la plataforma lo ofrece → busca y lee publicaciones públicas en la web → navegador integrado Codex solo si se ha confirmado una sesión iniciada con una cuenta secundaria permitida → Chrome/navegador externo solo si el usuario da su consentimiento explícito para esa ejecución. Solo pasa al siguiente nivel cuando el anterior no haya obtenido suficiente información necesaria; no consideres los resultados de búsqueda como publicaciones originales leídas.
- Cuando uses un navegador, ve directamente a la página/canal oficial verificado; recorre cada publicación/video nuevo del período, abre la publicación/video original para verificar la fecha, el contenido y las métricas de interacción si están visibles. No uses la búsqueda por palabras clave dentro de la plataforma en lugar de revisar el canal directamente. Para videos largos, si solo lees el título/descripción, indícalo correctamente, no afirmes haberlo visto completo.
- Específicamente Facebook: si el navegador integrado no ha iniciado sesión con una cuenta secundaria permitida, omite el paso de ver la página de Facebook en el navegador integrado, pero aún busca y analiza los resultados que los motores de búsqueda hayan indexado, etiquetándolos como
SEARCH_INDEX_ONLY. El informe debe indicar claramente que no se pudo usar el navegador integrado por falta de inicio de sesión; sugiere al usuario que inicie sesión con su cuenta secundaria para verificar las publicaciones originales en la próxima ejecución. Si solo no se ha confirmado el estado de inicio de sesión, indica "sesión no confirmada", no afirmes que se ha cerrado sesión. No solicites contraseñas. - Si la página de búsqueda de TikTok muestra un error temporal junto con el botón Reintentar, haz clic en ese botón en la pantalla y vuelve a verificar los resultados antes de marcar la fuente como limitada. No repitas indefinidamente; si el error persiste, registra el error y el nivel de datos realmente obtenidos. Cuando hayas verificado la URL del canal, accede directamente al perfil y a cada video nuevo en lugar de depender solo de la búsqueda.
- Para sitios web, utiliza detección de feeds, sitemaps, JSON-LD, ETag/Last-Modified y hash de contenido; no accedas a URLs denegadas por
robots.txt. - YouTube usa la API de Data con la lista de reproducción de subidas cuando hay clave, luego RSS. Facebook usa la API de Graph. TikTok usa la API de Display, la API de Research aprobada o feeds autorizados.
- Cuando falten permisos de Facebook/TikTok/YouTube, se pueden detectar URLs a través de Brave, Google Custom Search o Google News RSS, pero deben etiquetarse obligatoriamente como
SEARCH_INDEX_ONLY. - Registra
LIMITED,MANUAL_REVIEWoERRORcuando no se pueda acceder.SEARCH_INDEX_ONLYno debe interpretarse como un escaneo directo de la plataforma. - Mantén los eventos con fuente separados de las inferencias basadas en datos. Cada línea de datos debe tener URL, fecha de publicación si la fuente la proporciona, método de recolección y estado de la evidencia.
- Usa URLs normalizadas y claves de contenido en SQLite para evitar duplicados entre ejecuciones. No elimines el historial al cambiar la configuración.
- En todos los niveles, solo observa y toma notas: no des like, comentes, sigas, envíes mensajes ni publiques. No uses sesiones de inicio de sesión personales si el usuario solo permite cuentas secundarias.
- Cada afirmación necesita una fuente directa cuando sea posible, fecha de publicación, método de recolección y nivel de evidencia. Si la plataforma bloquea, el canal no está verificado o no hay publicaciones en el período, indica la razón y la solución; no conviertas "no se pudo obtener" en "no hay actividad".
- Boletín HTML predeterminado: título "Informe de análisis de competidores", fuente K2D, diseño de página de aterrizaje de una columna, resumen breve antes de 5 temas, seguido de actividad de competidores, 3 ángulos de contenido vacíos, 5 ideas para la próxima semana y fuentes al final. Los números de los temas enlazan directamente a la publicación/video original, no a un apéndice. Poco texto explicativo, lectura de aproximadamente 3 minutos. Los números 5/3/5 son los valores predeterminados para este boletín, no los impongas si el usuario solicita otro formato.
- Si el usuario necesita Excel/Markdown, expórtalo con los mismos datos verificados y las URLs de las fuentes. Solo envía correos electrónicos o programa tareas cuando el usuario lo solicite explícitamente; confirma la dirección/horario para esa tarea, no lo infieras de ejecuciones anteriores.
PEAS
- P: número de noticias nuevas, tasa de fuentes accesibles, tasa de evidencia completa, número de elementos duplicados descartados, cobertura de competidores/temas y limitaciones restantes.
- E: sitio web, RSS, Google News, Brave/Google Search, YouTube Data API/RSS, Facebook Graph API, TikTok Display/Research API y feeds sociales autorizados.
- A: recolección → normalización → desduplicación → filtrado de relevancia → asignación a competidores/temas → análisis de tendencias → informe y recomendaciones.
- S:
monitor.toml, contenido de la fuente, fecha de publicación, URL, metadatos y métricas de interacción reales.
Lee arquitectura al ampliar recolectores o esquemas. Lee análisis del repositorio de referencia cuando necesites saber qué componentes se han heredado y cuáles se han excluido del alcance. Al actualizar los tres competidores de IA predeterminados, consulta canales verificados y no verificados. Con el perfil ERP/CRM, consulta la lista de canales revisados antes de abrir el navegador directamente.