Skip to content

DevPulseAI v3 is a cloud-native intelligence platform that autonomously aggregates signals from high-value developer sources, processes them through a multi-agent LLM pipeline, and delivers curated, actionable intelligence β€” via a real-time chat interface, REST API, or scheduled digest.

Notifications You must be signed in to change notification settings

STiFLeR7/DevPulseAIv3

Repository files navigation

DevPulseAI v3 β€” Autonomous Signal Intelligence Platform

Ingest. Analyze. Deliver. Real-time technical intelligence powered by multi-agent AI, cost-aware model routing, and Model Context Protocol (MCP).

Live UI Live API


🎯 Approach

The Problem

Developers drown in fragmented signals β€” GitHub trending, ArXiv papers, HackerNews threads, Medium posts, HuggingFace models β€” scattered across platforms with no unified relevance layer. Critical updates (CVEs in your dependencies, breaking changes in your stack) get buried under noise.

The Solution

DevPulseAI is an autonomous intelligence pipeline that:

  1. Ingests signals from 5+ sources on autopilot (~25 signals/cycle)
  2. Analyzes each signal through a multi-agent LLM swarm (7 specialized workers)
  3. Scores relevance against your actual codebase β€” not generic rankings
  4. Delivers actionable intelligence via real-time chat, REST API, or proactive alerts

Design Philosophy

  • MCP-First β€” Model Context Protocol servers replace brittle REST scrapers. Structured tool calls, not fragile HTML parsing.
  • Cost-Aware by Default β€” Every LLM call is routed through a tiered model selector (fast β†’ mid β†’ strong) with per-call cost tracking.
  • Codebase-Aware β€” Signals are scored against your requirements.txt / package.json dependency graph. A CVE in a package you use ranks higher than a trending repo you don't.
  • Ephemeral Workers β€” Agents are spawned per-task and destroyed after. No persistent agent state leaking across queries.

πŸ› System Design

Deployment Topology

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     PRODUCTION INFRASTRUCTURE                    β”‚
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚      VERCEL       β”‚   HTTPS   β”‚         RENDER             β”‚  β”‚
β”‚  β”‚                   β”‚ ────────▢ β”‚                            β”‚  β”‚
β”‚  β”‚  React + Vite     β”‚   API +   β”‚  FastAPI + Uvicorn         β”‚  β”‚
β”‚  β”‚  SPA (CDN Edge)   β”‚   WS      β”‚  Docker (Python 3.11)     β”‚  β”‚
β”‚  β”‚                   β”‚           β”‚                            β”‚  β”‚
β”‚  β”‚  devpulseaiv3     β”‚           β”‚  devpulse-ai-v2            β”‚  β”‚
β”‚  β”‚  .vercel.app      β”‚           β”‚  .onrender.com             β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                              β”‚                   β”‚
β”‚                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚                          β”‚                   β”‚               β”‚   β”‚
β”‚                          β–Ό                   β–Ό               β–Ό   β”‚
β”‚                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚                   β”‚ Supabase   β”‚     β”‚ Pinecone   β”‚  β”‚ Gemini  β”‚β”‚
β”‚                   β”‚ PostgreSQL β”‚     β”‚ Vector DB  β”‚  β”‚ LLM API β”‚β”‚
β”‚                   β”‚ (8 tables) β”‚     β”‚ (1024-dim) β”‚  β”‚         β”‚β”‚
β”‚                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Layer Technology Purpose
Frontend React 18, Vite, TypeScript, Tailwind CSS SPA with real-time WebSocket chat
Backend FastAPI, Uvicorn, Python 3.11 17 REST endpoints + WebSocket
LLM Google Gemini (google-genai) Agent reasoning + synthesis
Vector DB Pinecone (multilingual-e5-large) Semantic search, knowledge embeddings
Database Supabase (PostgreSQL + RLS) 8 tables β€” signals, intelligence, conversations, feedback, KG edges
MCP Layer GitHub, HuggingFace, Supabase, Pinecone MCPs Structured tool calls for data access
Hosting Vercel (UI) + Render (API, Docker) Split deploy β€” CDN frontend, containerized backend
Alerts Discord (webhooks), Slack (Block Kit), Resend (email) Proactive CVE/breaking-change notifications

Data Flow

  Signal Sources          Ingestion              Agent Swarm              Delivery
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ GitHub   │────┐    β”‚              β”‚       β”‚  Researcher    β”‚     β”‚ WebSocket    β”‚
 β”‚ ArXiv    │─────    β”‚  Dedup +     β”‚       β”‚  Analyst       β”‚     β”‚ Chat (React) β”‚
 β”‚ HN       │────┼───▢│  Score +     │──────▢│  Explorer      │────▢│ REST API     β”‚
 β”‚ Medium   │─────    β”‚  Extract     β”‚       β”‚  CommunityVibe β”‚     β”‚ Alerts       β”‚
 β”‚ HF       β”‚β”€β”€β”€β”€β”˜    β”‚  Entities    β”‚       β”‚  RiskAnalyst   β”‚     β”‚ Digest       β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β–Ό                 β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚ Pinecone β”‚     β”‚ Supabase β”‚
              β”‚ Vectors  β”‚     β”‚ Postgres β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ— Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       SIGNAL SOURCES                             β”‚
β”‚  GitHub Β· ArXiv Β· HackerNews Β· Medium Β· HuggingFace              β”‚
β”‚   (5 adapters, ~25 signals per cycle)                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               MCP LAYER (Model Context Protocol)                 β”‚
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ GitHub   β”‚  β”‚ HuggingFace  β”‚  β”‚ Supabase β”‚  β”‚  Pinecone   β”‚  β”‚
β”‚  β”‚ MCP      β”‚  β”‚ MCP          β”‚  β”‚ MCP      β”‚  β”‚  MCP        β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                INGESTION PIPELINE (server.py)                     β”‚
β”‚                                                                  β”‚
β”‚  Ingest β†’ Deduplicate β†’ Relevance Score β†’ Pinecone Index         β”‚
β”‚                          β†’ KG Entity Extract β†’ Alert Dispatch    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           MULTI-SWARM AGENT PIPELINE (7 workers)                 β”‚
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚  β”‚ Researcher  β”‚  β”‚   Analyst   β”‚  β”‚ ProjectExplorer  β”‚         β”‚
β”‚  β”‚(Repo Search)β”‚  β”‚(Paper/Data) β”‚  β”‚ (Local Context)  β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚  β”‚ Community   β”‚  β”‚    Risk     β”‚  β”‚   Dependency     β”‚         β”‚
β”‚  β”‚ VibeAgent   β”‚  β”‚   Analyst   β”‚  β”‚ ImpactAnalyzer   β”‚         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                                                  β”‚
β”‚  Cost-Aware Router: fast(gpt-4.1-mini) β†’ strong(gpt-4.1)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     DELIVERY LAYER                                β”‚
β”‚                                                                  β”‚
β”‚  React SPA (Vercel) Β· WebSocket Β· REST API (Render)               β”‚
β”‚  Discord/Slack Alerts Β· Email Digest Β· 17 API Endpoints           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🧠 v3 Intelligence Features

Codebase-Aware Intelligence (SOW Β§5)

Parses your project's requirements.txt, package.json, and pyproject.toml to build a dependency graph. Every ingested signal is scored against your stack β€” CVEs in packages you use get boosted to the top.

# Scan your project
POST /api/context {"project_path": "/path/to/project"}

# Signals now carry codebase_relevance scores (0.0 - 1.0)

Vector Knowledge Graph (SOW Β§4.1)

Regex-based entity extraction identifies 5 entity types from every signal:

Entity Type Example Detection
Repository huggingface/transformers GitHub URL regex
Paper arxiv:2401.12345 ArXiv ID / DOI patterns
Library pytorch, fastapi Known library names
Concept RAG, LoRA, Fine-Tuning AI/ML keyword map
Author β€” Placeholder (future)

Entities β†’ Pinecone (semantic search), Edges β†’ Supabase (knowledge_edges table).

Ephemeral Worker Agents (SOW Β§3)

Worker Trigger Keywords What It Does
CommunityVibeAgent "community vibe", "sentiment", "hype" Lexicon-based sentiment analysis from HN + internal signals
RiskAnalyst "risk", "cve", "security", "vulnerability" CVE/breaking change scanner with ProjectContext cross-reference
DependencyImpactAnalyzer "dependency impact", "impact of updating" Traces update impact through dependency chain

Cost-Aware Model Routing (SOW Β§7)

Tier Model Use Case Cost/M Tokens
fast gpt-4.1-mini Intent classification, cleanup $0.40
mid gpt-4.1-mini Worker reasoning (default) $0.40
strong gpt-4.1 Final synthesis, complex analysis $2.00

Override via env vars: MODEL_FAST, MODEL_MID, MODEL_STRONG

Proactive Alerts (SOW Β§6.2)

Automatically dispatched during ingestion when critical signals are detected:

  • 🚨 CVE_DETECTED β†’ CRITICAL severity
  • πŸ”΄ BREAKING_CHANGE β†’ HIGH severity

Channels: Discord (webhook embeds), Slack (Block Kit), Email (Resend)


πŸ”Œ MCP Server Integration

Server Purpose Key Tools
GitHub MCP Trending repos, code search, deep-dive analysis search_repositories, get_file_contents
HuggingFace MCP Models, papers, datasets, Spaces discovery hub_repo_search, paper_search
Supabase MCP Persistent storage (8 tables + RLS policies) execute_sql, apply_migration
Pinecone MCP Semantic vector search + knowledge embeddings search-records, upsert-records

πŸ“‘ Signal Sources & Adapters

Source Adapter Data Fetched Signals/Cycle
GitHub adapters/github.py Trending repos (24h), stars, languages, topics ~5-10
ArXiv adapters/arxiv.py Latest AI/ML papers, abstracts, authors ~5-10
HackerNews adapters/hackernews.py Top stories, points, comment counts ~5-10
Medium adapters/medium.py AI/ML engineering blogs (RSS feeds) ~3-5
HuggingFace adapters/huggingface.py Trending models, daily papers, popular Spaces ~9-15

πŸš€ FastAPI Backend β€” 17 Endpoints

Endpoint Method Description
/ws/chat WebSocket Real-time streaming chat with MultiSwarm agents
/api/chat POST REST fallback for chat (non-streaming)
/api/feedback POST Submit πŸ‘/πŸ‘Ž feedback β†’ Supabase
/api/signals GET Query raw signals from Supabase
/api/intelligence GET Query processed intelligence
/api/conversations/{id} GET Retrieve conversation history
/api/recommendations GET Pinecone-powered proactive recommendations
/api/context POST Scan project dependencies β†’ build context graph
/api/model-router/status GET Model routing config + accumulated cost
/api/alerts/status GET Alert system config + recent dispatch history
/ingest POST Trigger signal ingestion from a specific source
/daily-pulse POST Run full pipeline: ingest β†’ process β†’ store β†’ alert
/ping GET Health check for Render keep-alive
/openapi.json GET OpenAPI spec
/docs GET Swagger UI
/redoc GET ReDoc UI
/ GET Static frontend

πŸ“‹ v3 Phase Tracker

βœ… Completed

Phase Features
Phase 1 β€” Foundation Streamlit UI, MultiSwarm agents, Conversation pipeline, Signal/Intelligence models
Phase 2 β€” MCP Integration Supabase (8 tables), GitHub MCP, Pinecone MCP, ArXiv fixes, Persistence client
Phase 3 β€” Backend FastAPI (17 endpoints), WebSocket chat, HuggingFace adapter, Recommendation engine
Phase 4 β€” Intelligence Codebase-Aware scoring, Vector Knowledge Graph, Ephemeral workers, Model routing, Proactive alerts
Phase 5 β€” Deployment Vercel (React UI) + Render (FastAPI Docker), CI/CD auto-deploy on push to master
Phase 5 β€” Frontend React + Vite + Tailwind SPA, WebSocket chat, Signal feed, model cost dashboard

πŸ”² Upcoming

Phase Features Priority
Phase 6 β€” Polish User auth + sessions, email digest, trend detection 🟑 Medium

πŸ›  Local Development

# Clone
git clone https://github.com/STiFLeR7/DevPulseAIv2.git
cd DevPulseAIv2

# Backend
pip install -r requirements.txt
uvicorn app.api.server:app --reload --port 8000

# Frontend (separate terminal)
cd ui/devpulseai-ui-main
npm install && npm run dev

# Configure (.env)
GEMINI_API_KEY=...
SUPABASE_URL=https://xxx.supabase.co
SUPABASE_KEY=eyJ...
PINECONE_API_KEY=pcsk_...

# Optional
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_...
HUGGINGFACE_TOKEN=hf_...
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...

# Run tests
python -m scripts.test_codebase_context
python -m scripts.test_knowledge_graph
python -m scripts.test_workers

πŸ“‚ Project Structure

DevPulseAIv2/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ adapters/              # Signal source adapters
β”‚   β”‚   β”œβ”€β”€ github.py          # GitHub trending repos
β”‚   β”‚   β”œβ”€β”€ arxiv.py           # ArXiv AI/ML papers
β”‚   β”‚   β”œβ”€β”€ hackernews.py      # HackerNews top stories
β”‚   β”‚   β”œβ”€β”€ medium.py          # Medium RSS blogs
β”‚   β”‚   └── huggingface.py     # HuggingFace models/papers/spaces
β”‚   β”œβ”€β”€ agents/                # LLM agent workers
β”‚   β”‚   β”œβ”€β”€ researcher.py      # RepoResearcher (GitHub deep-dive)
β”‚   β”‚   β”œβ”€β”€ analyst.py         # PaperAnalyst (research papers)
β”‚   β”‚   β”œβ”€β”€ explorer.py        # ProjectExplorer (local context)
β”‚   β”‚   β”œβ”€β”€ community_vibe.py  # CommunityVibeAgent (sentiment) β˜…
β”‚   β”‚   β”œβ”€β”€ risk_analyst.py    # RiskAnalyst (CVE/risk scan) β˜…
β”‚   β”‚   └── dependency_impact.py # DependencyImpactAnalyzer β˜…
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ server.py          # v3 FastAPI + WebSocket (17 endpoints)
β”‚   β”‚   └── main.py            # v2 legacy
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ swarm.py           # MultiSwarm orchestration engine
β”‚   β”‚   β”œβ”€β”€ conversation.py    # Conversation pipeline + intent routing
β”‚   β”‚   β”œβ”€β”€ codebase_context.py # Dependency parser + relevance scorer β˜…
β”‚   β”‚   β”œβ”€β”€ model_router.py    # Cost-aware tiered model selection β˜…
β”‚   β”‚   β”œβ”€β”€ alerts.py          # Proactive alert dispatcher β˜…
β”‚   β”‚   β”œβ”€β”€ recommendations.py # Pinecone + Supabase recommendations
β”‚   β”‚   └── logger.py          # Structured logging
β”‚   β”œβ”€β”€ memory/
β”‚   β”‚   β”œβ”€β”€ graph.py           # Vector Knowledge Graph β˜…
β”‚   β”‚   └── vector_store.py    # Pinecone vector ops
β”‚   β”œβ”€β”€ models/                # Pydantic data models
β”‚   β”œβ”€β”€ persistence/           # Supabase client + schema
β”‚   β”œβ”€β”€ reports/               # HTML email generation
β”‚   └── ui/
β”‚       └── chat.py            # Premium Streamlit chat interface
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ test_codebase_context.py    # Tests: dep parsing + scoring
β”‚   β”œβ”€β”€ test_knowledge_graph.py     # Tests: entity extraction + KG
β”‚   β”œβ”€β”€ test_workers.py             # Tests: workers + router + alerts
β”‚   β”œβ”€β”€ migrate_project_context.py  # Supabase migration
β”‚   └── migrate_knowledge_edges.py  # Supabase migration
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ requirements.txt
└── README.md

β˜… = New in v3


πŸ”‘ Environment Variables

Variable Required Description
GEMINI_API_KEY βœ… Gemini LLM for agent pipeline
SUPABASE_URL βœ… Supabase project URL
SUPABASE_KEY βœ… Supabase service role key
PINECONE_API_KEY βœ… Pinecone vector search
GITHUB_PERSONAL_ACCESS_TOKEN Optional Higher rate limits for GitHub API
HUGGINGFACE_TOKEN Optional Higher rate limits for HuggingFace API
DISCORD_WEBHOOK_URL Optional Discord alert channel
SLACK_WEBHOOK_URL Optional Slack alert channel
ALERT_EMAIL Optional Email alerts (via Resend)
MODEL_FAST Optional Override fast-tier model (default: gpt-4.1-mini)
MODEL_MID Optional Override mid-tier model (default: gpt-4.1-mini)
MODEL_STRONG Optional Override strong-tier model (default: gpt-4.1)

Built with ❀️ by Hill Patel. Powered by Gemini · Supabase · Pinecone · MCP

About

DevPulseAI v3 is a cloud-native intelligence platform that autonomously aggregates signals from high-value developer sources, processes them through a multi-agent LLM pipeline, and delivers curated, actionable intelligence β€” via a real-time chat interface, REST API, or scheduled digest.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors