An AI-powered task manager that uses Google's Gemini to extract tasks from text, URLs, and screenshots. The application proactively scans content for events, deadlines, and actionable items, suggesting them as tasks for you to manage.
This is a learning project built to practice and demonstrate the implementation of agentic AI systems, showcasing how AI agents can interact with tools and manage tasks autonomously.
- Natural Language Interface: Chat with the AI assistant to manage your tasks
- URL Processing: Provide URLs and the system will scan for actionable items
- Screenshot Analysis: Upload screenshots and the system will extract text to find tasks
- Task Management: Add, list, and complete tasks
- AI-Powered Extraction: Automatically detects deadlines, events, and actions from provided content
- Persistent Storage: Tasks are stored in a local SQLite database
- Streamlit (UI Framework)
- LangChain (AI Agent Framework)
- Google's Gemini 2.5 Flash (AI Model)
- EasyOCR (Text extraction from images)
- Trafilatura (Web content extraction)
- SQLite (Task storage)
- Python
- Clone the repository:
git clone https://github.com/SriviharReddy/Agentic-Taskmanager.git
cd Agentic-Taskmanager- Create a virtual environment (optional but recommended):
python -m venv venv
venv\Scripts\activate # On Windows
source venv/bin/activate # On macOS/Linux- Install the required dependencies:
pip install -r requirements.txt- Set up your Google API key:
- Get an API key from Google AI Studio
- Create a
.envfile in the project root - Add your API key to the
.envfile:
GOOGLE_API_KEY="your_api_key_here"
- Run the application:
streamlit run app.py-
The application will open in your browser at
http://localhost:8501 -
Use the chat interface to:
- Add tasks manually
- Provide URLs for automatic task extraction
- Upload screenshots for task extraction
- List and complete existing tasks
The Agentic Task Manager uses a LangChain agent with Google's Gemini model to understand user requests and automatically extract tasks from various sources. The agent has several tools:
add_task: Adds new tasks to the databaselist_pending_tasks: Shows all pending taskscomplete_task: Marks tasks as completedread_text_from_screenshot: Extracts text from uploaded imagesscrape_text_from_url: Extracts text from web pages
app.py: Main Streamlit application with the UI and agent integrationdatabase.py: SQLite-based task management system.env: Environment variables (not included in repository for security)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.