
ShunyaNet Sentinel은 RSS 피드를 모니터링하고, 이를 LLM에 보내 분석하며, 요약이나 알림을 GUI와 Slack으로 직접 전달하는 경량 프로그램입니다.
ShunyaNet Sentinel은 가볍고 사이버펑크 테마의 프로그램으로, RSS 피드(예: 속보, 소셜 미디어)를 수집하여 LLM에 전송하고, 분석 결과를 GUI와 Slack으로 정기 간격으로 알림 및 요약 보고서를 제공합니다.
이 프로젝트는 LMStudio 또는 Ollama (02/23 업데이트) 를 사용하여 로컬 머신이나 동일 네트워크(예: Tailscale 사용)에서 호스팅되는 LLM을 활용하도록 설계되었습니다. 또한 OpenAI API 키 (02/23 업데이트) 와도 작동합니다.
알림을 위해 프로그램은 Slack Webhook을 사용하여 모바일 장치로 푸시 알림을 보낼 수 있습니다.
ShunyaNet Sentinel은 최신 버전의 Linux, macOS 및 Windows*와 호환됩니다.
보고 및 분석의 품질은 프롬프트, 컨텍스트 크기, RSS 피드 및 선택한 LLM에 따라 영향을 받습니다. 생각(thinking) 기능은 끄는 것이 좋습니다. 일반적으로 지침을 잘 따르고 성능이 좋은 모델은 다음과 같습니다:
*macOS 또는 Linux를 강력히 권장합니다. 아래 알려진 문제 참조.
중요 사항은 마지막의 팁, 요령 및 알려진 문제 섹션을 참조하세요!
/v1/chat/completions 엔드포인트와 작동하며 LMStudio용으로 설계됨requirements.txt에 나열된 종속성:
LLM 호스팅 방식:
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
default_prompt.txt를 로드합니다.Default_test RSS 목록을 로드합니다.관심 주제를 입력하거나 제공된 기본 목록 중 하나를 로드합니다. 각 목록에 최대 10개의 주제를 추가할 수 있습니다.
"Load Prompt File"을 클릭하여 프롬프트 파일을 로드합니다. 기본 프롬프트가 제공됩니다(default_prompt.txt).
experimental 폴더에 'default_prompt-always-reply.txt'가 포함되어 있습니다. 오래되었지만 LLM 분석을 디버깅/테스트하고 올바른 형식으로 응답을 보내는지 확인하는 데 사용할 수 있습니다."Load Data Source File"을 클릭하여 RSS 목록을 로드합니다. 두 개의 기본 목록이 제공됩니다. 짧은 "Default_test" 목록과 전 세계 뉴스와 속보에 중점을 둔 긴 "Default_long" 목록입니다.
"Additional Settings"에서 다음 필드를 설정합니다. 이 설정은 프로그램을 종료하고 다시 시작해도 저장됩니다. 기본 설정은 대부분의 구성에서 작동하지만, 필드 #1은 직접 입력해야 합니다:
LLM_PROVIDER = lmstudioLLM_BASE_URL = <LMStudio 서버 URL, 예: http://localhost:1234/v1>LLM_MODEL = <선택 사항. 비워 두고 LMStudio에서 직접 모델을 로드하는 것을 권장합니다. 꼭 필요한 경우 형식은 다음과 같습니다: lmstudio-community/mistral-7b-instruct>LLM_API_KEY = <인증 키를 사용하지 않는 경우 비워 둡니다>LLM_PROVIDER = ollamaLLM_BASE_URL = <LMStudio 서버 URL, 예: http://localhost:11434/v1>LLM_MODEL = llama3LLM_API_KEY = <비워 둡니다>LLM_PROVIDER = openaiLLM_BASE_URL = (상관없음: 이 필드는 무시됨)LLM_MODEL = gpt-4o-miniLLM_API_KEY = sk-xxxx참고: 첫 번째 실행은 간단하게 유지하는 것이 좋습니다. 기본 설정을 사용하고 작동하는지 확인합니다. 그런 다음 컨텍스트 및 RSS 피드를 조정합니다. 그런 다음 프롬프트를 조정합니다. 개선된 프롬프트를 보게 되어 궁금할 것입니다....
문제/경고:
제안:
알파
이 프로젝트는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다.
저작자 표시: ShunyaNet / EverythingsComputer
보증 없음: 이 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다.
이 프로젝트는 다음 타사 라이브러리를 사용합니다. 이 프로젝트를 사용, 배포 및/또는 수정할 때 해당 라이선스를 검토하십시오:
제 고양이 이름입니다.
| 설정 | 설명 | 기본값 | 예제 / 참고 |
|---|
| LLM_PROVIDER | 다음 단계 참조 | — | — |
| LLM_BASE_URL | 다음 단계 참조 | — | — |
| LLM_MODEL | 다음 단계 참조 | — | — |
| LLM_API_KEY | 다음 단계 참조 | — | — |
| SLACK_WEBHOOK_URL | Slack에 알림을 보내기 위한 선택적 Slack webhook URL입니다. | 선택 사항 | https://hooks.slack.com/services/... |
| MAX_INPUT_TOKENS | RSS 가져오기당 LLM으로 전송되는 최대 토큰 수입니다. 경험적 규칙: 1토큰 ≈ 4자. 모델 컨텍스트 크기를 초과하는 경우 Chunked Mode를 활성화합니다. | 4000 | LLM의 컨텍스트 창에 따라 신중하게 증가시키세요. |
| MAX_OUTPUT_TOKENS | LLM이 응답에서 보낼 최대 토큰 수입니다. (참고: 최대/상한이며 목표값이 아닙니다!) | 4000 | 변경하지 않는 것이 좋습니다. 4000은 아마도 여유가 너무 많을 수 있습니다. |
| MAX_INPUT_TOKENS_BULK | 대량 처리 보고를 위해 LLM으로 전송되는 RSS 피드의 최대 토큰 길이입니다. 대량 처리가 활성화되면 RSS 피드가 저장되고 특별한 트렌드 분석 프롬프트(현재 하드코딩된 프롬프트)와 함께 전송됩니다. 청크는 사용되지 않으므로 컨텍스트 한도를 초과하지 않도록 주의하세요. | 4000 | 의미 있는 대량 보고를 위해 증가가 필요할 수 있습니다. VRAM 및 컨텍스트 한도에 부담을 줄 수 있습니다. 처음에는 대량 모드를 비활성화하는 것이 좋습니다. |
| MAX_OUTPUT_TOKENS_BULK | 대량 처리 보고서 자체의 최대 토큰 길이입니다. | 4000 | 의미 있는 대량 보고를 위해 증가가 필요할 수 있습니다. VRAM 및 컨텍스트 한도에 부담을 줄 수 있습니다. 처음에는 대량 모드를 비활성화하는 것이 좋습니다. |
| FETCH_INTERVAL | RSS 가져오기와 LLM 분석 사이의 시간(초)입니다. | 600 (초, 즉 10분) | 총 처리 시간보다 낮게 설정하지 마십시오. 그렇지 않으면 백로그가 발생할 수 있습니다. |
| ITEMS_PER_FEED | 사이클당 피드당 가져오는 최대 RSS 항목 수입니다. 이전에 가져온 항목은 무시됩니다. | 50 | 값이 높을수록 첫 번째 가져오기가 커집니다. 대부분의 RSS 피드는 10분마다 20개 이상의 새 항목을 생성하지 않으며, 일부는 훨씬 적습니다. |
| USE_CHUNKED_MODE | RSS 콘텐츠가 토큰 허용량을 초과하는 경우 자동 분할을 활성화합니다. 1 = On, 0 = Off. | 1 | 컨텍스트 오버플로를 방지하지만 청크 간에 이벤트 보고가 중복될 수 있습니다. |
| CHUNK_SIZE | 각 청크의 크기(토큰이 아닌 문자 단위)입니다. | 8000 | 대략적 변환: 4자 ≈ 1토큰. 반복합니다: 이는 문자 단위입니다. 토큰이어야 할까요? 아마도 그렇습니다! 하지만 그렇지 않습니다. |
| WRITE_TO_FILE | 선택 사항. 가져온 모든 RSS 콘텐츠를 외부 벤치마킹, 프롬프트 테스트 또는 모델 비교를 위해 롤링 파일에 기록합니다. 핵심 Sentinel 기능에는 영향을 미치지 않습니다. 1 = On, 0 = Off. | 0 | 오프라인 LLM 테스트 및 평가에 유용합니다. |
| ANALYSIS_WINDOW | 각 대량 처리 보고서에 사용되는 시간 간격입니다. | 3600 (초, 즉 1시간) | 대량 처리가 활성화된 경우에만 사용됩니다. |
| BULK_ANALYSIS | 주기적인 대량 RSS 트렌드 보고서를 활성화합니다. 1 = On, 0 = Off. 일반 보고에 비해 매우 실험적입니다. 특수 프롬프트는 현재 하드코딩되어 있습니다. | 0 | 누적된 RSS 피드를 단일 트렌드 분석 보고서를 위해 LLM으로 전송합니다. 처리 부하가 크게 증가할 수 있습니다. |