Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

demo

AI Newsletter Agent with Agno, Firecrawl & Nebius AI

A powerful AI-powered newsletter generator that researches, analyzes, and creates professional newsletters on any topic using Nebius AI, Agno, and Firecrawl. This application leverages advanced AI models to deliver well-structured, up-to-date newsletters with the latest information from the web.

Features

  • Real-time web research using Firecrawl
  • AI-powered content generation with Nebius AI (Llama-3.1-70B-Instruct)
  • Professional newsletter formatting in markdown
  • Customizable search parameters (number of articles, time range)
  • Download newsletters in markdown format
  • Secure API key management
  • Example topics for quick starts
  • Streamlit-based modern web interface

How it Works

  1. Topic Research: The agent uses Firecrawl to search for recent, authoritative articles and sources on the chosen topic.
  2. Content Analysis: Extracts key insights, trends, and expert opinions from the gathered articles.
  3. Newsletter Generation: Synthesizes the information into a well-structured newsletter using Nebius AI, following a professional template.
  4. Download & Share: Users can download the generated newsletter in markdown format for easy sharing or publishing.

Prerequisites

Project Structure

newsletter_agent/
├── app.py              # Streamlit web interface
├── main.py             # Core agent workflow and newsletter generation logic
├── requirements.txt    # Python dependencies
├── demo.gif            # Demo animation
├── tmp/
│   └── newsletter_agent.db  # Local database for agent storage
└── README.md           # This file

Installation

  1. Clone the repository:
git clone https://github.com/Arindam200/awesome-ai-apps.git
cd simple_ai_agents/newsletter_agent
  1. Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate  # On Windows, use: venv\Scripts\activate
  1. Install dependencies:
# Using pip
pip install -r requirements.txt

# Or using uv (recommended)
uv sync
  1. Create a .env file in the project root with your API keys:
FIRECRAWL_API_KEY=your_firecrawl_api_key
NEBIUS_API_KEY=your_nebius_api_key

Usage

  1. Start the application:
streamlit run app.py
  1. Open your browser at http://localhost:8501

  2. Enter your API keys in the sidebar (or set them in the .env file)

  3. Enter a topic or select from example topics

  4. Configure search parameters (number of articles, time range)

  5. Click "Generate Newsletter" and wait for results

  6. Download the generated newsletter in markdown format

How It Works

  1. Initial Research: The agent uses Firecrawl to find recent, relevant articles and sources on the chosen topic.
  2. Content Analysis: Extracts key insights, trends, and expert opinions from the gathered articles.
  3. Newsletter Generation: Synthesizes the information into a well-structured newsletter using Nebius AI, following a professional template.
  4. Download & Share: Users can download the generated newsletter in markdown format for easy sharing or publishing.

Technical Details

  • Uses Streamlit for the web interface
  • Implements Agno agent framework for workflow orchestration
  • Integrates Firecrawl for real-time web research
  • Utilizes Nebius AI (Llama-3.1-70B-Instruct) for content generation
  • Stores agent data in a local SQLite database (tmp/newsletter_agent.db)
  • Supports secure API key management via .env or sidebar input
  • Implements proper error handling and logging

Newsletter Structure

The generated newsletters follow this structure:

  • Compelling Subject Line
  • Welcome section with context
  • Main Story with key insights
  • Featured Content
  • Quick Updates
  • This Week's Highlights
  • Sources & Further Reading

API Keys

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with Streamlit
  • Powered by Nebius AI
  • Web research powered by Firecrawl
  • Agent framework by Agno