Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Turn meeting recordings into clean summaries and actionable to-do lists β€” entirely on your own machine πŸ”’


πŸ”Ή About

KhulasaAI is a privacy-first Telegram bot that turns meeting recordings into clean summaries and actionable to-do lists β€” entirely on your own machine. No paid APIs, no cloud transcription, no data ever leaves your computer.

Send a voice note or audio file to the bot, and get back:

  • A concise, adaptive-length summary of the meeting
  • A clean list of Action Items, with owners identified when mentioned
  • A saved record of every meeting in a local SQLite database

✨ Features

πŸ”’ 100% local processing β€” speech-to-text and summarization both run on your machine
🎀 Accurate Arabic transcription via faster-whisper
🧠 Local LLM summarization via Ollama β€” works with any chat model you have pulled locally
πŸ“ Adaptive summary length β€” short meetings get tight summaries; long meetings get organized bullet lists
🧩 Map-reduce chunking for long meetings β€” avoids context-window truncation issues
πŸ—ƒοΈ Local archive β€” every transcript, summary, and action item list is saved to SQLite
πŸ€– Simple Telegram UX β€” just send a voice note or audio file, no commands needed

πŸ› οΈ Tech Stack

Python Aiogram Ollama SQLite FFmpeg


πŸ“‹ Requirements

  • Python 3.10+
  • FFmpeg installed and available on your system PATH
  • Ollama installed and running locally
  • A Telegram bot token from @BotFather

πŸš€ Getting Started

1. Clone the repo

git clone [https://github.com/RamiDevX/KhulasaAI.git](https://github.com/RamiDevX/KhulasaAI.git)
cd KhulasaAI

2. Create and activate a virtual environment

python -m venv .venv

# Windows
.venv\Scripts\activate

# macOS/Linux
source .venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. Configure environment variables Create a .env file in the project root:

BOT_TOKEN=your_telegram_bot_token_here
WHISPER_MODEL_SIZE=small
OLLAMA_MODEL=llama3.2
OLLAMA_URL=http://localhost:11434/api/chat

5. Run the bot

python bot.py

πŸ“‚ Project Structure

KhulasaAI/
β”œβ”€β”€ bot.py             # Telegram bot entry point & message handlers
β”œβ”€β”€ transcription.py   # Local speech-to-text via faster-whisper
β”œβ”€β”€ summarizer.py      # Local LLM summarization via Ollama
β”œβ”€β”€ database.py        # SQLite persistence layer
β”œβ”€β”€ config.py          # Environment-based configuration
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .env.example
└── README.md

πŸ“ Notes

Note

The first run downloads the faster-whisper model weights, so the first request takes longer than usual.

[!NOTE] For better Arabic output quality, consider using an Arabic-tuned model like command-r7b-arabic.

[!WARNING] Never commit your .env file or bot token to version control.

πŸ‘¨β€πŸ’» Developer

Rami Bitar

KhulasaAI Β© 2026

About

πŸŽ™οΈ Privacy-first Telegram bot that turns meeting recordings into summaries + Action Items β€” 100% local (faster-whisper + Ollama), no cloud APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages