An OSINT conversation indexing and analysis pipeline for Discord. It continuously scans, structures, vector-indexes, and synthesizes daily briefings for configured users across mutual servers.
[ Discord ]
│
▼
[ scan.py ] ──► JSON scan data (data/)
│
├───────────────────────┬────────────────────────┐
▼ ▼ ▼
[ retrieval.py ] [ hourly.py ] [ facts.py ]
Vector database Annotated hourly notes Long-term memory facts
(sqlite-vec) (reports/hourly/) (sqlite-vec)
│ │ │
└───────────────────────┼────────────────────────┘
▼
[ daily.py ]
Agentic synthesis loop
│
┌─────────┴─────────┐
▼ ▼
Markdown report Discord Webhook
(reports/daily/) (reports/briefs/)
- an interactive agent for querying collected information
- richer data sources, such as Rich Presence, Activity, and Status
- hourly execution summaries
- possibly but less likely, a web dashboard
am lazy
Average run data with qwen/qwen3.7-flash and qwen/qwen3-embedding-8b:
- Hourly Scan & Processing:
~$0.0015per active hour. Idle hours incur no API cost. - Daily Agent Briefing:
~$0.001per synthesized day.
This project is relatively fresh and thus hasn't gone through months of heavy multi-server community stress tests yet.
If something inevitably explodes after running for months, open an Issue or DM me.
distrack is intended for analyzing Discord data where the operator has appropriate authorization. It does not:
- bypass Discord permissions
- scrape unavailable content
- defeat server privacy controls
I am not responsible for any stupid shit you do.
- Python 3.10+
- ripgrep (
rg) installed and available on systemPATH - A Discord user-bot token with access to mutual channels
git clone https://github.com/debxylen/distrack.git
cd distrack
pip install -r requirements.txt-
Copy
.env.exampleto.env:cp .env.example .env
and fill in your keys.
-
Copy
config.example.jsontoconfig.json:cp config.example.json config.json
and fill it in.
For the automated scanning and daily briefing loop:
python main.pyManual CLI usage is also there per-script:
python -m src.<whatever>Licensed under GNU GPLv3. See LICENSE.