ShunyaNet Sentinel (ATUALIZADO: 03/02/2026)
O ShunyaNet Sentinel é um programa leve, com tema cyberpunk, que ingere feeds RSS (ex.: notícias de última hora, redes sociais), os envia para um LLM para análise e entrega alertas e relatórios resumidos diretamente na GUI e no Slack em intervalos regulares.
O projeto foi construído para utilizar um LLM hospedado localmente na mesma máquina ou rede (ex.: com Tailscale) usando LMStudio ou Ollama (atualização 23/02). Também funcionará com uma chave de API da OpenAI (atualização 23/02).
Para alertas, o programa utiliza Webhooks do Slack, permitindo o envio de notificações push para um dispositivo móvel.
O ShunyaNet Sentinel é compatível com as versões mais recentes do Linux, MacOS e Windows*
A qualidade dos relatórios e análises é influenciada pelo prompt, tamanho do contexto, feeds RSS e LLM escolhidos. Recomenda-se desligar os recursos de pensamento. Modelos que parecem ter um bom desempenho e geralmente seguem instruções incluem:
- GPT OSS 20b (pensamento definido como BAIXO no LMStudio)
- GPT OSS 120b (provavelmente exagero)
- Hermes 4 70b (meu preferido)
- Gemma 3 27b it abliterated (versão do mlabonne)
- Qwen3 32b e/ou VL 30b (esqueci qual...)
*Recomenda-se fortemente macOS ou Linux. Veja Problemas Conhecidos abaixo.
Veja Dicas, Truques e Problemas Conhecidos no final para informações importantes!
Fluxo de Trabalho de Alto Nível
- O usuário insere tópicos de interesse
- O usuário fornece uma lista de feeds RSS
- O Sentinel obtém os feeds RSS em intervalos configurados pelo usuário
- O conteúdo RSS é enviado para o servidor LLM fornecido pelo usuário
- O LLM revisa os feeds e reporta ao Sentinel sobre tópicos de interesse relevantes
- Se o webhook do Slack estiver configurado, os alertas são encaminhados e as notificações podem ser acessadas no iOS/Android (frequentemente com links ao vivo para o conteúdo RSS referenciado)
- Análise em massa opcional identifica tendências ao longo do tempo
Capacidades Principais
- Consulta periódica de feeds RSS
- Deduplicação e rastreamento de carimbo de data/hora
- Lida com feeds lentos ou malformados (...mais trabalho a ser feito aqui)
Análise Baseada em LLM (Opcional)
- Envia itens de feed RSS para o endpoint LLM local/API
- Classificação, sumarização e filtragem baseadas em prompt
- Funciona com qualquer endpoint
/v1/chat/completions compatível com OpenAI, projetado para LMStudio
Alertas / Geração de Sinal
Local e Auto-Hospedado
- Além da consulta de feeds RSS ou envio de respostas para o Slack (opcional), todas as informações permanecem no hardware que você controla
Requisitos
- Python 3.10+
- Dependências listadas em
requirements.txt:
- PySide6==6.10.0
- feedparser==6.0.12
- requests==2.31.0
- python-dateutil==2.9.0.post0
LLM hospedado via:
- LMStudio (recomendado)
- Ollama
- Chave de API da OpenAI
- (mais alguns em breve)
Instalação
1. Clonar o Repositório (...Ou Baixar o Zip) & Navegar até a Pasta
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
2. (Fortemente Recomendado) Criar Ambiente Virtual
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
3. Instalar os Requisitos
pip install -r requirements.txt
4. Executar
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
- Clique em "Carregar Arquivo de Prompt" e carregue
default_prompt.txt
- Clique em "Carregar Arquivo de Fonte de Dados" e carregue a lista RSS
Default_test
- Abra "Configurações Adicionais" e insira:
- LM_PROVIDER = lmstudio
- LLM_BASE_URL = <SEU IP DO SERVIDOR LMSTUDIO, ex.: http://x.x.x.x:port/v1>
- LLM_MODEL = <Recomendo deixar em branco. Siga o Passo 4>
- API_KEY = <deixe em branco, a menos que você tenha configurado uma para o seu servidor>
- Carregue o modelo no LM Studio. Ative "Servir na Rede Local" nas Configurações do Servidor. Dicas:
- Na janela "Carregar Modelo"/seleção de modelo, ative "Escolher manualmente os parâmetros de carregamento do modelo"
- Na janela de parâmetros de carregamento do seu modelo, defina Previsões Concorrentes Máximas como 1 (por enquanto)
- Na guia de inferência, desligue ou minimize o pensamento, se essa configuração estiver disponível.
- Um modelo de tamanho moderado que funciona bem: gpt-oss-20b. Pensamento definido como "baixo"
- Clique no gato! (...ou apenas pressione Fetch / Send)
Instruções Completas e Configuração (ATUALIZADO 03/02/2026)
-
Insira tópicos de interesse ou carregue uma das listas padrão fornecidas. Até 10 tópicos podem ser adicionados a cada lista.
-
Clique em "Carregar Arquivo de Prompt" para carregar um arquivo de prompt. Um prompt padrão é fornecido (default_prompt.txt).
- Você é incentivado a ajustar e revisar este prompt - ele pode melhorar substancialmente a qualidade dos relatórios e a capacidade do LLM de identificar um sinal em meio ao ruído. Há MUITO espaço para personalização aqui.
- Há um 'default_prompt-always-reply.txt' incluído na pasta experimental. Está desatualizado, mas você pode usá-lo para depurar/testar a análise do LLM e garantir que ele está reportando algo de volta no formato correto.
- ATUALIZADO 03/02/2026 Um prompt 'default_Summary-Report-Only_prompt.txt' também é fornecido. Esta versão não busca extrair um sinal do ruído, mas sim resumir um volume maior de feeds relevantes quando o espaço de informação está rico em dados sobre o tópico. Portanto, é mais útil depois que o "evento" que você está procurando ocorreu. Também é melhor usado com menos frequência (ex.: a cada meia hora para um evento de rápida evolução e amplamente noticiado, ou a cada poucas horas para algo com menos dados relatados) e com uma grande margem de tokens para o prompt e a resposta.
-
Clique em "Carregar Arquivo de Fonte de Dados" para carregar uma lista RSS. Duas listas padrão são fornecidas. Uma lista curta "Default_test" e uma lista mais longa "Default_long", que foca em notícias mundiais e de última hora.
- Personalizar suas próprias listas para sua região ou tópicos de interesse afetará significativamente a saída de informações. Um exemplo de lista focada em região que usei para uma viagem recente é fornecido ('India_regional_example-v1.txt'). Um exemplo sobre conflito no Irã também está incluído.
- Reddit e BlueSky podem ser facilmente convertidos em feeds RSS. Programas como RSSBridge também podem gerar feeds RSS a partir de sites e redes sociais (ex.: Telegram) que não possuem um.
- A lista "Default_test" é uma lista curta de vários feeds RSS. O objetivo é manter a primeira obtenção RSS rápida e curta, para que você possa diagnosticar se todas as peças estão funcionando como deveriam.