1
0
Fork
You've already forked reddigest
0
A easy-to-use Reddit summarizer, with AI features through BYOK.
  • Python 100%
medenor 26ec6e57b8 Disclaimer – Vibe coding & AI assistance
Transparency matters: this project reflects a human–AI collaborative workflow.
2025年12月28日 16:55:11 +01:00
.forgejo feat: implement comprehensive README, licenses, code of conduct, contributing & security guidelines, screenshots and automation for issue and PR management, based on https://github.com/dec0dOS/amazing-github-template 2025年08月12日 17:16:49 +02:00
docs Screenshots added to README.md 2025年08月12日 17:24:48 +02:00
images Implement QComboBox down arrow icons and styling 2025年08月17日 10:16:41 +02:00
themes Implement QComboBox down arrow icons and styling 2025年08月17日 10:16:41 +02:00
.gitignore feat: implement comprehensive README, licenses, code of conduct, contributing & security guidelines, screenshots and automation for issue and PR management, based on https://github.com/dec0dOS/amazing-github-template 2025年08月12日 17:16:49 +02:00
digest_history.py feat: Implement AI-driven text analysis and history clear functionality 2025年08月11日 09:49:18 +02:00
LICENSE feat: Change project license to GNU AGPLv3 2025年09月13日 10:32:35 +02:00
main.py feat: Add About dialog and Codeberg repository link 2025年08月17日 13:27:19 +02:00
model_preferences.json feat: Implement AI model preferences and defaults 2025年08月08日 21:05:10 +02:00
praw-example.ini feat: Implement environment variable support for API credentials 2025年08月06日 16:03:14 +02:00
README.md Disclaimer – Vibe coding & AI assistance 2025年12月28日 16:55:11 +01:00
reddigest_logo.png Reddigest logo upload 2025年08月03日 19:17:35 +02:00
reddit_digest.py Fix: NameError for 'report_conclusion_part' in Gemini summarization 2025年08月17日 17:58:47 +02:00
reddit_digest_gui.py feat: Enhance digest history and summarization templates 2025年08月10日 20:44:29 +02:00
requirements.txt feat: Enhance digest history and summarization templates 2025年08月10日 20:44:29 +02:00
theme_manager.py Feat: Add theme switching functionality 2025年08月12日 20:35:46 +02:00

Reddigest Logo

Table of Contents

About

Reddigest is a Python application designed to generate digests from Reddit posts. It allows users to link a thread from a subreddit, and then generate a summary in Markdown format. The application also features a graphical user interface (GUI) for ease of use.

It offers two summarizing approaches: Top 5 comments or AI summary (OpenAI or Gemini) with configurable detail levels (Concise, Standard, Detailed). Users can bring their own keys (BYOK) for AI features. Digests can be output in Markdown format and saved to the clipboard. It also includes a Digest History to view and manage previously generated digests, and optional sentiment analysis for AI-generated summaries.

Screenshots
Home Page AI Summary Example Top 5 Summary Example History Window

Built With

  • Python
  • PRAW (Python Reddit API Wrapper)
  • OpenAI API
  • Google Gemini API

Getting Started

Prerequisites

  • Python 3.x
  • pip
  • Reddit API credentials
  • OpenAI API Key and/or Google Gemini API Key (optional, for AI summarization)

Installation

To set up and run Reddigest, follow these steps:

  1. Clone the repository:

    git clone https://codeberg.org/medenor/reddigest.git
    cd reddigest
    
  2. Create a virtual environment (recommended):

    python3 -m venv .venv
    source .venv/bin/activate # On Windows, use `venv\Scripts\activate`
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Configure API Credentials (Reddit & AI): This application interacts with the Reddit API (via PRAW) and optionally with OpenAI or Google Gemini for AI summarization. You need to set up your API credentials.

    Recommended Method: Environment Variables (for security and flexibility) It is highly recommended to use environment variables to store your sensitive API keys. The application will prioritize these variables over praw.ini.

    Create a file named .env in the root directory of the project (the same directory as main.py and reddit_digest.py). Add your credentials to this file in the format KEY=VALUE. This file should be added to the .gitignore (it already is by default).

    Example .env file:

    REDDIT_CLIENT_ID="your_reddit_client_id"
    REDDIT_CLIENT_SECRET="your_reddit_client_secret"
    REDDIT_USER_AGENT="Reddit Digest App by u/YourRedditUsername"
    # Optional, if using password-based authentication:
    # REDDIT_USERNAME="your_reddit_username"
    # REDDIT_PASSWORD="your_reddit_password"
    OPENAI_API_KEY="your_openai_api_key"
    GOOGLE_GEMINI_API_KEY="your_google_gemini_api_key"
    

    You can create a Reddit API application here.

    Alternative Method: praw.ini file If you prefer not to use environment variables, you can still use the praw.ini file.

    • Rename praw-example.ini to praw.ini.
    • Edit praw.ini and fill in your Reddit API credentials (client ID, client secret, user agent, username, password) and AI API keys.
    • Note: Values in environment variables will override values in praw.ini.

    AI features are available on a bring-your-own-key (BYOK) basis, meaning you are responsible for any associated costs with enabling and using these features.

Usage

To run the application, ensure your virtual environment is activated and execute the main GUI script:

source .venv/bin/activate
python main.py

This will launch the graphical interface where you can configure your digest generation options.

Summary Methods

This project offers two main approaches for generating summaries:

  • Top 5 Comments
    Displays the five most relevant or insightful comments to quickly gain community-based insight.

  • AI Summary (OpenAI or Gemini)
    Utilizes an advanced language model (OpenAI or Gemini) to produce an overall summary, synthesizing the key points of the content. By default, "gpt-4.1-nano" (OpenAI) and "gemini-2.5-flash" (Google Gemini) are set as default summarization models in model_preferences.json. These are low costs models from both providers, with high context windows suitable for Reddit threads.

When to use each method:

  • Prefer Top 5 Comments for a quick, community-driven overview.
  • Use the AI Summary for a comprehensive, automatically generated synthesis.

Roadmap

See the open issues for a list of proposed features (and known issues).

Support

Reach out to the maintainer at one of the following places:

Project assistance

If you want to say thank you or/and support active development of Reddigest:

  • Add a GitHub Star to the project.
  • Tweet about the Reddigest.
  • Write interesting articles about the project on Dev.to, Medium or your personal blog.

Together, we can make Reddigest better!

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Authors & contributors

The original setup of this repository is by Medenor.

For a full list of all authors and contributors, see the contributors page.

Security

Reddigest follows good practices of security, but 100% security cannot be assured. Reddigest is provided "as is" without any warranty. Use at your own risk.

For more information and to report security issues, please refer to our security documentation.

License

This project is licensed under the GNU AGPLv3 license.

See LICENSE for more information.

Disclaimer – Vibe coding & AI assistance

This repository was developed using a vibe coding approach, with assistance from AI tools.

The code was written iteratively, with human review, testing, and decision-making at each step.
AI assistance was used to accelerate ideation, refactoring, and documentation, but responsibility for the design choices, validation, and final output remains entirely human.

Transparency matters: this project reflects a human–AI collaborative workflow.

Acknowledgements

  • Reddit and all related trademarks, logos, and other proprietary elements are owned by Reddit. This project is not affiliated with or endorsed by Reddit.
  • Repository files templates provided by dec0dOS/amazing-github-template