explaingit

lyrics-nju/nan-sentinel

24PythonAudience · generalComplexity · 3/5Setup · hard

TLDR

Windows desktop app that monitors QQ group chats in the background, uses AI to sort incoming messages into four categories, notices, chatter, listings, and junk, and shows them in a real-time dashboard.

Mindmap

mindmap
  root((nan-sentinel))
    What it does
      Monitors QQ chats
      AI message sorting
      Weekly summaries
    Categories
      Notices
      Chatter
      Listings
      Junk
    Tech Stack
      Python FastAPI
      React TypeScript
      SQLite NapCat
    Use Cases
      Students
      Team forwarding
      Keyword search
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Monitor dozens of university QQ group chats without missing official exam or deadline announcements.

USE CASE 2

Forward only the relevant classified messages from your QQ groups to a Feishu team channel via webhook automatically.

USE CASE 3

Generate a weekly AI summary of everything that happened across all your group chats in under a minute.

USE CASE 4

Search back through accumulated group messages by keyword or sender name using the built-in dashboard.

Tech stack

PythonFastAPIReactTypeScriptSQLiteNapCat

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a running NapCat QQ client connection and an AI API key, Windows-only with no Linux or macOS support.

In plain English

This is a Windows desktop application designed for students who belong to many QQ group chats and find it impossible to keep up with the flood of messages. QQ is a popular Chinese messaging platform, and university group chats tend to fill up quickly with a mix of official announcements, casual conversation, and people selling second-hand items. This tool monitors those groups in the background and uses an AI language model to automatically sort every incoming message into one of four buckets: important notices (exam schedules, deadlines, school announcements), campus chatter (discussions, opinions, humor), second-hand listings (items for sale, ride-shares, tutoring offers), or junk (emoji-only messages and meaningless filler). The classified messages appear in a dashboard with live counters and a real-time feed. You can browse by category, search by keyword or sender, save messages to custom folders, and generate a weekly AI summary of what happened across all three main categories. The app also supports forwarding newly classified messages to a Feishu (Lark) group chat via webhook, which is useful if your team wants to share a single stream of relevant intelligence. On the processing side, the tool offers two modes. Real-time mode sends each message to the language model immediately as it arrives, giving results within seconds. Batch mode stores messages in a buffer first and lets you trigger classification manually, which costs less in API calls and gives the model more conversational context to work with. The backend is built with Python and FastAPI, the frontend with React and TypeScript, and the QQ connection is handled through NapCat, an open protocol client for QQ. The whole thing is packaged into a Windows installer so no Python or Node.js installation is required. User data stays local in a SQLite database. An optional Vercel cloud component lets multiple users pool their collected data.

Copy-paste prompts

Prompt 1
Help me configure nan-sentinel to connect to my university QQ groups via NapCat and start classifying incoming messages into notices, chatter, and listings.
Prompt 2
Show me how to set up the Feishu webhook in nan-sentinel so my team automatically receives only the important university announcements.
Prompt 3
How do I switch nan-sentinel from real-time classification mode to batch mode to reduce the number of AI API calls I make?
Prompt 4
Generate a weekly digest in nan-sentinel using the built-in AI summary feature covering all three main message categories.
Prompt 5
Walk me through the nan-sentinel Windows installer setup so I can run it without installing Python or Node.js manually.
Open on GitHub → Explain another repo

← lyrics-nju on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.