Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

distrack

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/)

Yet To Be Done

  • 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


Cost & Efficiency

Average run data with qwen/qwen3.7-flash and qwen/qwen3-embedding-8b:

  • Hourly Scan & Processing: ~$0.0015 per active hour. Idle hours incur no API cost.
  • Daily Agent Briefing: ~$0.001 per synthesized day.

Status & Issues

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.


Privacy

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.


Setup & Usage

Prerequisites

  • Python 3.10+
  • ripgrep (rg) installed and available on system PATH
  • A Discord user-bot token with access to mutual channels

Installation

git clone https://github.com/debxylen/distrack.git
cd distrack
pip install -r requirements.txt

Configuration

  1. Copy .env.example to .env:

    cp .env.example .env

    and fill in your keys.

  2. Copy config.example.json to config.json:

    cp config.example.json config.json

    and fill it in.

Run it

For the automated scanning and daily briefing loop:

python main.py

Manual CLI usage is also there per-script:

python -m src.<whatever>

License

Licensed under GNU GPLv3. See LICENSE.

About

Conversation indexing and analysis pipeline for Discord

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages