elismasilva commited on
Commit
8423bed
Β·
1 Parent(s): 3672b42

README.md first version

Browse files
Files changed (2) hide show
  1. README.md +224 -6
  2. teste.html +8 -0
README.md CHANGED
@@ -6,13 +6,231 @@ colorTo: indigo
6
  sdk: docker
7
  short_description: GitRepo Inspector Application Dashboard
8
  pinned: true
 
9
  tags:
10
- - mcp-in-action-track-enterprise
11
- - mcp-client
12
- - agents
13
- - blaxel
14
- - issue-tracker
15
  - gradio
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  ---
17
 
18
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
6
  sdk: docker
7
  short_description: GitRepo Inspector Application Dashboard
8
  pinned: true
9
+ license: apache-2.0
10
  tags:
11
+ - mcp-in-action-track-enterprise
12
+ - mcp
 
 
 
13
  - gradio
14
+ - smolagents
15
+ - dashboard
16
+ - issue-tracker
17
+ - github
18
+ - gemini
19
+ ---
20
+
21
+ <p align="center">
22
+ <img src="https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/gitrepo_inspector_dashboard_logo.PNG" alt="GitRepo Inspector Logo" width="400"/>
23
+ </p>
24
+
25
+ # πŸ“Š GitRepo Inspector: Dashboard & AI Assistant
26
+
27
+ **An interactive dashboard and AI assistant for GitHub issue triage & management**
28
+
29
+ [![MCP's 1st Birthday Hackathon](https://img.shields.io/badge/MCP%27s%201st%20Birthday-Hackathon-blue)](https://huggingface.co/MCP-1st-Birthday)
30
+ [![Powered by Gradio](https://img.shields.io/badge/Powered%20by-Gradio-orange)](https://gradio.app/)
31
+
32
+ > **🎯 Track 2 Submission**: MCP in Action (Enterprise)
33
+
34
+ ---
35
+
36
+ ## πŸ€” The Problem: From Insight to Action
37
+
38
+ The **GitRepo Inspector MCP Server** (our Track 1 app) provides a powerful suite of AI tools for repository analysis. However, back-end tools alone don't solve the problem for project managers and maintainers who need a way to:
39
+
40
+ 1. **Visualize** the health of their repository at a glance.
41
+ 2. **Interact** with AI-driven suggestions and take action (approve, reject).
42
+ 3. **Explore** the data and ask complex questions using natural language.
43
+
44
+ ## ✨ Our Solution: The Intelligent Dashboard
45
+
46
+ This Dashboard is the **command center** for the GitRepo Inspector ecosystem. It consumes the tools from our MCP server to transform raw data into actionable intelligence. It's an enterprise application that puts the "human-in-the-loop," enabling teams to collaborate with AI agents.
47
+
48
+ - πŸ“Š **Visual Analytics**: Interactive charts showing issue distribution and triage efficiency.
49
+ - πŸ•ΉοΈ **Action Console**: Review AI analyses and approve issue closures with a single click.
50
+ - πŸ€– **Conversational AI Assistant**: An agent built with **smolagents** that uses MCP tools to answer complex questions in real-time.
51
+
52
+ ---
53
+
54
+ ## πŸ”— Quick Links & Social Media
55
+
56
+ - **🧠 Live Demo (Dashboard & Agent)**: [GitRepo-Inspector-Dashboard Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_dashboard)
57
+ - **πŸ› οΈ MCP Server (Track 1)**: [GitRepo-Inspector-MCP Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_mcp)
58
+ - **🎬 Video Demo**: [Watch on YouTube](https://www.youtube.com/playlist?list=PLnDveGBcP8C5A_37nhr0oNUxVPlgmhZaa)
59
+
60
+ ### Join the Conversation
61
+ - **[LinkedIn post]**: [View on LinkedIn](https://www.linkedin.com/posts/elismasilva_mcpsfirstbirthdayhackathon-gradiohackathon-activity-7396911353602400256-PEk6?utm_source=share&utm_medium=member_desktop&rcm=ACoAAARdvBoBOi8NC3UXuKIGEUImbEK50Lgwp6E)
62
+ - **[LinkedIn announcement]**: [View on LinkedIn](https://www.linkedin.com/posts/elismasilva_mcp-modelcontextprotocol-aiagents-activity-7400313069454733312-cm5v?utm_source=share&utm_medium=member_desktop&rcm=ACoAAARdvBoBOi8NC3UXuKIGEUImbEK50Lgwp6E)
63
+ - **[Twitter/X post]** : [View on X](https://x.com/pelolisu/status/1991152303777149115)
64
+ - **[HuggingFace Discord announcement]**: [Read on Discord](https://discord.com/channels/879548962464493619/1439001549492719726/1444098108181970954)
65
+
66
+ ---
67
+
68
+ ## πŸ›οΈ The GitRepo Inspector Ecosystem
69
+
70
+ This project is a complete, end-to-end agentic system composed of multiple interconnected applications.
71
+
72
+ ```
73
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
74
+ β”‚ MCP Server (App 1) β”‚ β”‚ Workflow Agent (App 2) β”‚ β”‚ Dashboard & Chat (App 3) β”‚
75
+ β”‚ (Track 1 - Tools) β”‚ ───> β”‚ (Blaxel - Autonomous) β”‚ ───> β”‚ (This App - UI/Agent) β”‚
76
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
77
+ β–² β”‚ β”‚
78
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
79
+ β”‚
80
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
81
+ β”‚ PostgreSQL DB β”‚
82
+ β”‚ (Shared State) β”‚
83
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
84
+ ```
85
+
86
+ | Component | Description | Links |
87
+ |-----------|-------------|-------|
88
+ | **MCP Server** | **Track 1**: Provides AI tools for analysis via MCP. | [HF Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_mcp) |
89
+ | **Workflow Agent** | Backend agent that runs analysis autonomously. | [GitHub](https://github.com/DEVAIEXP/gitrepo_inspector_agent) |
90
+ | **Cron Trigger** | Schedules the Workflow Agent to run periodically. | [GitHub](https://github.com/DEVAIEXP/gitrepo_inspector_agent_cron) |
91
+ | **Dashboard** | **Track 2**: The UI to view data and chat with an AI assistant. | This Repository |
92
+
93
+
94
+ ---
95
+
96
+ ## ✨ Key Features
97
+
98
+ ### 🎯 MCP Integration (Track 2 Compliance)
99
+
100
+ This application demonstrates enterprise-grade MCP client usage in two primary ways:
101
+
102
+ **1. Direct UI Actions via MCP Client**
103
+ - The Gradio interface uses `gradio_client` to call MCP server tools for actions like:
104
+ - `sync_repository`: To fetch and cache the latest issues from a repository.
105
+ - `reply_and_close_issue`: To approve and execute an AI-proposed action.
106
+ - `prioritize_open_issues`: To generate a strategic prioritization report.
107
+
108
+ **2. Autonomous Agent with MCP Tools**
109
+ - A conversational AI assistant built with the `smolagents` framework.
110
+ - The agent has direct access to the MCP server's tools to answer natural language questions.
111
+ - It consumes tools like `get_issue_status`, `search_issues`, and `trigger_live_analysis` to fetch information and execute tasks.
112
+ - **Example**: *"Are there any duplicate issues related to 'audio'?"* β†’ The agent uses the `search_issues` tool with the verdict filter.
113
+
114
+ ### πŸ“Š Dashboard Features
115
+
116
+ - **Interactive Issues Overview**: A rich, selectable table that lets users filter for "Action Required" and sort by any column.
117
+ - **Visual Data Analysis**:
118
+ - **Donut Chart**: Shows the distribution of AI verdicts (Resolved, Duplicate, etc.).
119
+ - **Efficiency Funnel**: Visualizes how the AI filters the total backlog down to actionable findings.
120
+ - **Activity Timeline**: An area chart showing analysis activity over time.
121
+ - **Detailed Action Console**: Selecting an issue loads a panel with the full AI report, the agent's thought process, and buttons to approve the action or trigger a re-analysis.
122
+ - **Real-time Agent Activity Log**: A live-updating feed showing the thoughts and tool calls of the background Workflow Agent.
123
+
124
+ ---
125
+
126
+ ## πŸš€ How to Use
127
+
128
+ ### Option 1: Use the Live Demo (Recommended)
129
+
130
+ 1. **Visit**: [GitRepo-Inspector-Dashboard Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_dashboard)
131
+ 2. **Select a Repository**: Use the dropdown or enter the URL of a public GitHub repository.
132
+ 3. **Explore**: Browse the issues table, view the analytics charts, and chat with the AI assistant.
133
+
134
+ ### Option 2: Run Locally
135
+
136
+ ```bash
137
+ # Clone the repository
138
+ git clone <YOUR_REPO_URL>
139
+ cd gitrepo-inspector-dashboard
140
+
141
+ # Install dependencies
142
+ pip install -r requirements.txt
143
+
144
+ # Configure your environment (create a .env file if needed)
145
+ # DATABASE_URL=...
146
+ # MCP_SERVER_URL=...
147
+
148
+ # Run the app
149
+ python app.py
150
+ ```
151
+
152
+ Visit `http://localhost:7860` in your browser.
153
+
154
+ ---
155
+
156
+ ## βš™οΈ Configuration
157
+
158
+ To use the full feature set, you will need a few API keys, which can be entered in the UI sidebar:
159
+
160
+ - **GitHub Personal Token**: **Required** for actions that modify the repository, such as `Approve Action` (closing an issue) and `Sync Repository`. It needs `repo` scope permissions.
161
+ - **LLM API Key** (Gemini, OpenAI, etc.): **Required** for manual AI actions like `Re-Analyze Issue` or generating the `Prioritization Report`. This may not be needed if server-side keys are enabled.
162
+
163
+ ---
164
+
165
+ ## For Hackathon Judges
166
+
167
+ ### βœ… Track 2 Compliance
168
+
169
+ - **MCP Client Integration**: The application acts as a robust client to our Track 1 MCP server, using both `gradio_client` and the `smolagents` MCP Client.
170
+ - **Autonomous Agent**: Demonstrates a `smolagents` agent that leverages MCP tools to interact with the user and the system.
171
+ - **Enterprise Focus**: The solution tackles a real-world software project management problem (backlog triage), focusing on efficiency, data visualization, and human-AI collaboration.
172
+ - **Real-World Data**: The application operates on live, public GitHub repositories, demonstrating real-world utility.
173
+
174
+ ### 🎯 Key Innovations
175
+
176
+ 1. **Hybrid Agent System**: Combines a background **Workflow Agent** (deterministic) with a front-end **Planning Agent** (conversational), creating a complete ecosystem.
177
+ 2. **Human-in-the-Loop Interface**: This is not just an autonomous agent; it's a collaborative tool where humans can supervise, guide, and approve the AI's actions.
178
+ 3. **Conversational Data Exploration**: The `smolagents` assistant allows non-technical users to query the database and the AI's knowledge base using natural language.
179
+ 4. **Comprehensive Visualization**: The dashboard doesn't just show data; it tells a story about repository health and the efficiency of the AI process.
180
+
181
+ ### πŸ§ͺ Testing Suggestions
182
+
183
+ **1. Chat with the AI Assistant** (in the right-hand sidebar):
184
+ - *"What's up with issue #12021?"*
185
+ - *"List 3 open issues about 'chatbot'."*
186
+ - *"Are there any issues marked as 'duplicate' by the AI?"*
187
+ - *"Please analyze issue #12264 again right now"* (This will trigger a live analysis).
188
+
189
+ **2. Use the Interactive Dashboard**:
190
+ - Change the view filter from "Action Required" to "All Issues" to see the difference.
191
+ - Click an issue in the table to load its detailed report and the agent's thought process.
192
+ - Use the **"Approve Action"** button on an issue (requires a GitHub token).
193
+
194
+ **3. Test Strategic Prioritization**:
195
+ - Go to the **"πŸ₯‡ Prioritize"** tab.
196
+ - Click **"Generate Strategy Report 🧠"** to have the AI analyze the entire open backlog and suggest priorities.
197
+
198
+ ---
199
+
200
+ ## πŸ’» Technology Stack
201
+
202
+ - **UI Framework**: Gradio
203
+ - **Agent Framework**: smolagents
204
+ - **Communication Protocol**: Model Context Protocol (MCP)
205
+ - **Data Visualization**: Plotly
206
+ - **Database**: PostgreSQL (via SQLAlchemy & Psycopg2)
207
+ - **LLM Providers (via MCP)**: Google Gemini, SambaNova, OpenAI, Nebius
208
+
209
+ ---
210
+
211
+ ## πŸ–ΌοΈ Screenshots
212
+
213
+ Here is a visual overview of the key features of the GitRepo Inspector Dashboard.
214
+
215
+ ---
216
+
217
+ | Main Dashboard & Analytics | AI Assistant in Action |
218
+ | :---: | :---: |
219
+ | ![Dashboard Overview](https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/dashboard_1.PNG) | ![AI Assistant Chat](https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/dashboard_3.PNG) |
220
+ | The main dashboard view, showing the **visual analytics** (Distribution, Efficiency Funnel, Activity Timeline) and the interactive **issues table**. | The **conversational AI Assistant** (powered by smolagents) answering a user's query and preparing to trigger an action. |
221
+
222
+ | Issue Detail & Action Console | Strategic Prioritization Report |
223
+ | :---: | :---: |
224
+ | ![Issue Detail & Action Console](https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/dashboard_2.PNG) | ![Prioritization Report](https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/dashboard_4.PNG) |
225
+ | The **detailed analysis view** for a single issue, showing the AI-generated report, the agent's thought process, and the **"Approve Action" console**. | The **AI-generated Strategy Report**, which analyzes the entire backlog to suggest priorities for the development team. |
226
+
227
+
228
  ---
229
 
230
+ ## πŸ™ Credits & Sponsors
231
+
232
+ - **Author**: Eliseu Silva
233
+ - **Built for**: MCP's 1st Birthday Hackathon
234
+
235
+ ## Special thanks to the sponsors who made this event possible:
236
+ ### HuggingFace β€’ Gradio β€’ Anthropic β€’ Blaxel β€’ Modal β€’ Google Gemini β€’ Nebius β€’ OpenAI β€’ SambaNova β€’ Hyperbolic β€’ ElevenLabs
teste.html ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <html>
2
+ <body>
3
+
4
+ <div>
5
+ <span style="width: 18px;height: 18px;">πŸ“Š</span>
6
+ </div>
7
+ </body>
8
+ </html>