ShunyaNet Sentinel (ACTUALIZADO: 03/02/2026)
ShunyaNet Sentinel es un programa ligero con temática cyberpunk que ingiere fuentes RSS (por ejemplo, noticias de última hora, redes sociales), las envía a un LLM para su análisis y entrega alertas e informes resumidos directamente a la interfaz gráfica y a Slack en intervalos regulares.
El proyecto está diseñado para utilizar un LLM alojado localmente en la misma máquina o red (por ejemplo, con Tailscale) usando LMStudio u Ollama (Actualización 02/23). También funcionará con una clave API de OpenAI (Actualización 02/23).
Para las alertas, el programa utiliza Webhooks de Slack, lo que permite enviar notificaciones push a un dispositivo móvil.
ShunyaNet Sentinel es compatible con las últimas versiones de Linux, MacOS y Windows*
La calidad de los informes y análisis está influenciada por el prompt, el tamaño del contexto, las fuentes RSS y el LLM elegido. Se recomienda desactivar las funciones de razonamiento. Los modelos que parecen haber funcionado bien y generalmente siguen las instrucciones incluyen:
- GPT OSS 20b (razonamiento configurado en BAJO en LMStudio)
- GPT OSS 120b (probablemente excesivo)
- Hermes 4 70b (mi referencia)
- Gemma 3 27b it abliterated (versión de mlabonne)
- Qwen3 32b y/o VL 30b (no recuerdo cuál...)
*Se recomienda encarecidamente macOS o Linux. Consulte Problemas conocidos a continuación.
¡Consulte Consejos, trucos y problemas conocidos al final para obtener información importante!
Flujo de trabajo de alto nivel
- El usuario ingresa temas de interés
- El usuario proporciona una lista de fuentes RSS
- Sentinel extrae las fuentes RSS en intervalos de tiempo configurados por el usuario
- El contenido RSS se envía al servidor LLM proporcionado por el usuario
- El LLM revisa las fuentes e informa a Sentinel sobre los temas de interés relevantes
- Si el webhook de Slack está configurado, las alertas se reenvían y las notificaciones se pueden acceder en iOS/Android (a menudo con enlaces activos al contenido RSS de referencia)
- El análisis masivo opcional identifica tendencias a lo largo del tiempo
Capacidades principales
- Sondeo periódico de fuentes RSS
- Deduplicación y seguimiento de marcas de tiempo
- Maneja fuentes lentas o mal formadas (...queda más trabajo por hacer aquí)
Análisis basado en LLM (Opcional)
- Envía elementos de fuentes RSS al endpoint LLM local/API
- Clasificación, resumen y filtrado basados en prompts
- Funciona con cualquier endpoint
/v1/chat/completions compatible con OpenAI, diseñado para LMStudio
Alertas / Generación de señales
Local y autoalojado
- Aparte de sondear fuentes RSS o enviar respuestas a Slack (opcional), toda la información permanece en el hardware que usted controla
Requisitos
- Python 3.10+
- Dependencias listadas en
requirements.txt:
- PySide6==6.10.0
- feedparser==6.0.12
- requests==2.31.0
- python-dateutil==2.9.0.post0
LLM alojado a través de:
- LM Studio (recomendado)
- Ollama
- Clave API de OpenAI
- (próximamente algunos más)
Instalación
1. Clonar el repositorio (...O descargar el Zip) y navegar a la carpeta
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
2. (Muy recomendado) Crear un entorno virtual
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
3. Instalar requisitos
pip install -r requirements.txt
4. Ejecutar
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
Inicio rápido (con LMStudio) (ACTUALIZADO 02/23)
- Haga clic en "Load Prompt File" y cargue
default_prompt.txt
- Haga clic en "Load Data Source File" y cargue la lista RSS
Default_test
- Abra "Additional Settings" e ingrese:
- LM_PROVIDER = lmstudio
- LLM_BASE_URL = <SU IP DEL SERVIDOR LMSTUDIO, ej.: http://x.x.x.x:port/v1>
- LLM_MODEL = <Recomiendo dejarlo en blanco. Simplemente siga el Paso 4>
- API_KEY = <déjelo en blanco, a menos que haya configurado una para su servidor>
- Cargue el modelo en LM Studio. Active "Serve on Local Network" en Configuración del servidor. Consejos:
- En la ventana "Load Model"/selección de modelo, active "Manually choose model load parameters"
- En la ventana de parámetros de carga de su modelo, establezca Max Concurrent Predictions en 1 (por ahora)
- En la pestaña de inferencia, desactive o minimice el pensamiento, si esa configuración está disponible.
- Un modelo de tamaño moderado que funciona bien: gpt-oss-20b. Pensamiento configurado en "bajo"
- ¡Haga clic en el gato! (...o simplemente presione Fetch / Send)
Instrucciones completas y configuración (ACTUALIZADO 03/02/2026)
-
Ingrese temas de interés, o cargue una de las listas predeterminadas proporcionadas. Se pueden agregar hasta 10 temas por lista.
-
Haga clic en "Load Prompt File" para cargar un archivo de prompt. Se proporciona un prompt predeterminado (default_prompt.txt).
- Se le anima a modificar y revisar este prompt; puede mejorar sustancialmente la calidad de los informes y la capacidad del LLM para identificar una señal en medio del ruido. Hay MUCHO espacio para la personalización aquí.
- Se incluye un 'default_prompt-always-reply.txt' en la carpeta experimental. Está desactualizado, pero puede usarlo para depurar/probar el análisis del LLM y asegurarse de que informe algo en el formato correcto.
- ACTUALIZADO 03/02/2026 También se proporciona un prompt 'default_Summary-Report-Only_prompt.txt'. Esta versión no busca seleccionar una señal del ruido, sino resumir un mayor volumen de fuentes relevantes cuando el espacio de información es rico en datos sobre el tema. Por lo tanto, es más útil después de que haya ocurrido el "evento" que está buscando. También se usa mejor con menos frecuencia (por ejemplo, cada media hora para un evento de rápido movimiento y ampliamente reportado, o cada pocas horas para algo con menos datos reportados) y con una gran asignación de tokens para el prompt y la respuesta.