Skip to content

Turn your long Miniflux articles into clear, concise summaries ✍️⚡

License

Notifications You must be signed in to change notification settings

eikendev/minigist

Repository files navigation

minigist

AI-powered summaries for your Miniflux feeds.

Turn your long Miniflux articles into clear, concise summaries.

Build status  License  PyPI 

🤘 Features

  • Automatic summarization of unread Miniflux entries
  • Configurable filters to target specific feeds
  • Notification support via Apprise for various messaging services
  • Dry-run mode to preview changes without modifying entries
  • Structured logging for better debugging and monitoring

🚀 Installation

Install minigist using pip:

pip install minigist

Install minigist using uv:

uv tool install minigist

📄 Usage

Configuration

Create a configuration file at ~/.config/minigist/config.yaml:

miniflux:
  url: "https://your-miniflux-instance.com"
  api_key: "your-miniflux-api-key"

llm:
  api_key: "your-ai-service-api-key"
  base_url: "https://openrouter.ai/api/v1"   # Default
  model: "google/gemini-2.0-flash-lite-001"  # Default

prompts:
  - id: "default"
    system_prompt: "Generate an executive summary of the provided article."
  - id: "deep-dive"
    system_prompt: "Extract the nuanced arguments and counterpoints."

# Optional: when no targets are defined, this prompt is used for all unread entries
# If omitted, the first prompt in the list is used.
default_prompt_id: "default"

targets:
  # When targets are defined, only these feeds/categories are processed; overlaps across targets are errors.
  - prompt_id: "default"
    feed_ids: [1, 2]
  - prompt_id: "deep-dive"
    category_ids: [5]
    use_pure: true  # Prefer pure.md for this target

scraping:
  pure_api_token: "optional-pure-md-token"
  # Always route matching URLs through pure.md.
  pure_base_urls:
    - "https://text.npr.org/"

fetch:
  limit: 50     # Default

notifications:
  urls:                # Apprise notification URLs (optional)
    - "discord://webhook_id/webhook_token"
    - "telegram://bot_token/chat_id"

See Apprise documentation for all supported notification services.

Basic Commands

Run minigist to process unread entries:

minigist run

Run in dry-run mode to see what would happen without making changes:

minigist run --dry-run

Increase logging verbosity:

minigist run --log-level DEBUG

Use a different configuration file:

minigist run --config-file /path/to/config.yaml

About

Turn your long Miniflux articles into clear, concise summaries ✍️⚡

Topics

Resources

License

Stars

Watchers

Forks