A multi-agent research assistant built with Agno and powered by OpenAI models.
This project coordinates a team of specialist AI agentsโeach with dedicated toolsโto perform tasks such as web searches, website crawling, YouTube analysis, GitHub exploration, Hacker News monitoring, email drafting, and general Q&A synthesis.
The agents collaborate under a Team Coordinator that delegates tasks, manages memory, and synthesizes results into clear, well-formatted answers.
-
Specialist Agents
- ๐ InternetSearcher โ Web searches with DuckDuckGo
- ๐ธ WebCrawler โ Extracts and summarizes website content
- ๐บ YouTubeAnalyst โ Analyzes YouTube videos and captions
- ๐ง EmailAssistant โ Drafts and sends professional emails via Resend
- ๐ป GitHubResearcher โ Explores repositories, pull requests, and issues
- ๐ฐ HackerNewsMonitor โ Tracks trending Hacker News stories
- ๐ค GeneralAssistant โ Synthesizes information and handles broad queries
-
Team Coordinator
- Delegates tasks intelligently to relevant agents
- Synthesizes multi-agent outputs into a coherent final answer
- Maintains session memory for contextual follow-ups
- Handles retries with exponential backoff
-
Streamlit UI
- Chat interface for interacting with the assistant
- Sidebar with debugging options (team memory & tool logs)
- Session reset for fresh conversations
.gitignore
.python-version
all_agents.py # Defines specialist agents
create_team.py # Builds the team of agents
main.py # Streamlit app entry point
pyproject.toml # Dependencies and project metadata
git clone https://github.com/your-username/my-agents-crew.git
cd my-agents-crewpython -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windowspip install -e .Dependencies include:
- agno โ Multi-agent framework
- streamlit โ Frontend for chat UI
- duckduckgo-search โ Web search
- crawl4ai โ Website crawling
- youtube-transcript-api โ Video transcript extraction
- resend โ Email sending
- PyGithub โ GitHub API
- hackernews โ Hacker News API
- python-dotenv โ Environment variable management
Create a .env file in the root directory:
OPENAI_API_KEY=your_openai_key
MODEL_NAME=gpt-4.1
RESEND_API_KEY=your_resend_key
EMAIL_FROM=your_email@example.com
EMAIL_TO=default_recipient@example.com
GITHUB_ACCESS_TOKEN=your_github_tokenstreamlit run main.py- Web Search:
โWhat are the latest AI breakthroughs?โ โ Uses InternetSearcher - Crawl a Website:
โCrawl https://example.com and summarize the homepage.โ โ Uses WebCrawler - YouTube Analysis:
โSummarize this video: https://youtu.be/dQw4w9WgXcQโ โ Uses YouTubeAnalyst - Send Email:
โDraft an email to bob@example.com about our project.โ โ Uses EmailAssistant - GitHub Research:
โFind trending Python repositories this week.โ โ Uses GitHubResearcher - Hacker News Trends:
โWhatโs trending on Hacker News today?โ โ Uses HackerNewsMonitor - Memory Check:
โWhat was my first question to you?โ โ Tests memory persistence
- Team Memory: Agents remember past interactions during a session.
- Sidebar Controls: Toggle memory view, enable tool logs, and reset the session.
- Python version: 3.13 (see
.python-version) - Use
pyproject.tomlfor dependency management - Memory is session-based and resets when the Streamlit app restarts or via the sidebar button
MIT License โ feel free to use, modify, and distribute.