Here's a summary of what we planned initially:
- We'll be structuring our system using LangGraph. In the first phase, the focus will be on the GitHub agent integrated with the DevRel agent.
- The agent interactions will follow a hybrid model. We'll integrate CodeRabbit with GitHub through webhooks to handle PRs and issues, while using role-based Discord users to enable the DevRel agent to interact with CodeRabbit via comments.
- The interaction between the DevRel agent and the GitHub agent will be hybrid, combining event-driven practices (for user interactions with GitHub data) and webhook-based mechanisms to capture and broadcast events to the community.
- We will adopt a multi-database architecture using Supabase, Weaviate, and Falkor DB:
- Generic user-specific information will be stored in Supabase.
- All vectorized data to profile out and index a user will be stored in Weaviate.
- Falkor DB will be utilized with their codegraph to index repositories as an AST to which users can query.
- We're currently favoring the Gemini API due to its extended token support, which benefits both context handling and generation.
Current System:

Finalized orchestration and workflow:
1. High-Level System Workflow
The entire system operates as a robust pipeline, ensuring that every user interaction is processed systematically, from initial triage to task execution and resolution.
- Interfacing & Initial Triage: User interactions originate from various community platforms such as Discord, Slack, GitHub, and Discourse. Dedicated bots on these platforms serve as the first line of defense and classification. Their primary responsibilities include:
- Classification: Determining whether a message is relevant to the Devr.AI agentic system or if it's a general chat. This classification is based on the user's message content and intent.
- Intent Detailing: For messages identified as relevant, the bots extract and detail the user's specific needs, populating a proper internal state that will guide subsequent processing.
- Moderation: Identifying and flagging any inappropriate or harmful messages for immediate human or automated moderation, ensuring a safe community environment.
|Only Moderation is needed to be introduced| REST, ABOVE PART IS ALREADY DONE AS CLASSIFICATION ROUTER AND INTERNAL BOTS TO BE CONFIGURED SO NO CHANGES REQUIRED. MIGHT NEED ENHANCEMENTS.
- Prioritized Task Queuing:
The triaged task, now enriched with priority and routing metadata, is pushed into a RabbitMQ message queue. This component is vital for:
- Resilience
- Prioritization
- Decoupling
ABOVE PART IS ALSO FINALIZED AND WORKING. MIGHT NEED ENHANCEMENTS
- LangGraph Processing Core: This is the brain of the operation. A LangGraph application consumes tasks from the RabbitMQ queue and initiates the main workflow.
2. Core LangGraph Architecture
The architecture is built around a single, intelligent agent that acts as a supervisor, orchestrating a toolkit of specialized nodes. This design provides a highly robust and flexible model for handling diverse DevRel tasks.
gather_context_node
(Entry Point): This node serves a single, clear purpose:
- It runs only once at the beginning of a new session. It consumes a task from the queue and populates the initial state with the user's conversation history from the database. After this, it passes control directly to the
DevRel Agent
.