The X Trends Agent is an AI-powered conversational system designed to analyze trending topics on X (formerly Twitter). Built using the CrewAI framework for multi-agent orchestration and the Agent Stack SDK, it specializes in identifying trending topics by country, researching the context behind each trend, and providing friendly, engaging summaries with emojis and source citations.
The agent is designed to run entirely locally using Ollama and the IBM Granite 4 model.
- Python: Version 3.11 or higher.
- Dependency Management:
uvis recommended for managing Python packages. - Ollama: Required for running the local LLM (
granite4:tiny-h).
crewai: For agent-based orchestration of reasoning and tool use.agentstack-sdk: For A2A protocol and server management.requests: For direct web extraction.duckduckgo-search: For context research.
-
Clone the repository:
git clone <repository-url> cd x_trends_agent_CrewAI
-
Install dependencies:
uv sync
-
Install Ollama and the model:
# Pull the required model ollama pull granite4:tiny-h
- Start the agent server:
The agent will start and register with the Agent Stack platform on
uv run server
http://127.0.0.1:8003(default).
The agent leverages a CrewAI Agent & Task system to process queries:
- Trend Extraction: The agent visits
trends24.in/[country]to retrieve the top 5 trending topics. - Context Research: For each of the top 5 trends, the agent performs specific searches (e.g., "Why is [Trend] trending?") using the XTrends Tool.
- Multi-Step Search: It uses the same tool to either fetch direct URL content or perform DuckDuckGo searches to find the "why" behind the trend.
- Friendly Synthesis: Generates a coherent report with emojis (💡, 📰, 🚀) and, most importantly, includes the source URLs of the context found.
- "What's trending in Mexico?"
- "Show me trends in Spain"
- "What is happening on X today?"
src/crewai_agents/agent.py: Main logic of the agent using CrewAI (Agent, Task, Crew) and Agent Stack.pyproject.toml: Project configuration and dependencies.
This agent is built for demonstration purposes. Ensure you have Ollama running locally at http://localhost:11434 for the LLM to function properly.