A Flask-based web application that provides an AI-powered assistant capable of managing scheduled jobs. The assistant can create, delete, and monitor scheduled tasks through a natural language interface.
- 🤖 AI-powered assistant using Gemini 1.5 Flash
- 📅 Job scheduling system with support for various time intervals
- 🔒 Secure login system
- 💬 Natural language interface for job management
- 📊 Real-time job execution monitoring
- Python 3.8 or higher
- pip (Python package installer)
- A Google Cloud API key for Gemini AI
- Clone the repository:
git clone https://github.com/yourusername/autonomous-research-notifier-agent.git
cd autonomous-research-notifier-agent- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install the required packages:
pip install -r requirements.txt- Set up environment variables:
Create a
.envfile in the project root with the following variables:
USERNAME=your_username
PASSWORD=your_password
GOOGLE_API_KEY=your_google_api_key- Start the Flask application:
python app.py- Open your browser and navigate to
http://localhost:5000
The application is configured to run on Heroku using the following Procfile:
web: flask run --host=0.0.0.0 --port=$PORT
- Log in using your credentials
- Navigate to the chat interface
- Use natural language to interact with the assistant. Examples:
- "Create a job that runs every 5 minutes"
- "Show me all scheduled jobs"
- "Delete job with ID abc123"
The application supports the following time units:
- seconds
- minutes
- hours
- days
- weeks
autonomous-research-notifier-agent/
├── app.py # Main Flask application
├── agent.py # AI agent implementation
├── jobs.py # Job management system
├── templates/ # HTML templates
│ ├── login.html
│ └── chat.html
├── static/ # Static files (CSS, JS)
├── requirements.txt # Python dependencies
└── Procfile # Heroku deployment configuration
- The AI agent's capabilities are defined in
agent.pyusing the@agent.tooldecorator - Job management logic is handled in
jobs.py - Web interface is managed in
app.pyand the templates directory
To test the application locally:
- Start the Flask server
- Create a test job with a short interval
- Monitor the console for job execution messages
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask web framework
- Google Gemini AI
- Schedule library for job management