Skip to content

hemeda3/nubian-ai-agent-framework

Repository files navigation

🏺👁️‍🗨️ Nubian AI Autonomous Agent Framework full SAAS including Billing/Subscription/Payment 👁️‍🗨️🏺

Java-based Autonomous AI Assistant SDK
Open-source generalist agent for real-world tasks via natural language and secure

┌───────────────────────────────────────────────────────────────────┐
│                            Client Layer                           │
└─────────────────────────────────┬─────────────────────────────────┘
                                  │
                                  ▼
┌───────────────────────────────────────────────────────────────────┐
│                         Controller Layer                          │
│  ┌─────────────────┐  ┌────────────────┐  ┌────────────────────┐  │
│  │ AgentController │  │ AuthController │  │ BillingController  │  │
│  └─────────────────┘  └────────────────┘  └────────────────────┘  │
└─────────────────────────────┬─────────────────────────────────────┘
                              │
                              ▼
┌───────────────────────────────────────────────────────────────────┐
│                        Service Layer (Agent)                      │
│  ┌─────────────────┐  ┌──────────────────┐  ┌──────────────────┐  │
│  │ AgentRunManager │  │ BackgroundService │  │ ToolOrchestrator │  │
│  └─────────────────┘  └──────────────────┘  └──────────────────┘  │
└─────────────────────────────┬─────────────────────────────────────┘
                              │
                              ▼
┌───────────────────────────────────────────────────────────────────┐
│                    Service Layer (AgentPress)                     │
│  ┌────────────────┐  ┌───────────────┐  ┌─────────────────────┐   │
│  │ ThreadManager  │  │ ToolRegistry  │  │ ResponseProcessor   │   │
│  └────────────────┘  └───────────────┘  └─────────────────────┘   │
│  ┌────────────────┐  ┌───────────────┐  ┌─────────────────────┐   │
│  │ ContextManager │  │ LlmService    │  │ StorageService      │   │
│  └────────────────┘  └───────────────┘  └─────────────────────┘   │
└─────────────────────────────┬─────────────────────────────────────┘
                              │
                              ▼
┌───────────────────────────────────────────────────────────────────┐
│                      Infrastructure Layer                         │
│  ┌────────────────┐  ┌───────────────┐  ┌─────────────────────┐   │
│  │ DBConnection   │  │ RedisService  │  │ RabbitMQ Client     │   │
│  └────────────────┘  └───────────────┘  └─────────────────────┘   │
└───────────────────────────────────────────────────────────────────┘
Client                               AgentController                    AgentRunnerService                   OpenAILlmService                     Tools
  |                                        |                                   |                                   |                                  |
  |-- POST /api/agent/runs --------------->|                                   |                                   |                                  |
  |                                        |                                   |                                   |                                  |
  |                                        |-- Auth & validate ---------------+|                                   |                                  |
  |                                        |-- Create account/project --------+|                                   |                                  |
  |                                        |-- Provision sandbox -------------+|                                   |                                  |
  |                                        |-- Create thread -----------------+|                                   |                                  |
  |                                        |-- Upload files ------------------->|                                   |                                  |
  |                                        |                                   |                                   |                                  |
  |<-- 200 OK (agentRunId, threadId) ------|                                   |                                   |                                  |
  |                                        |                                   |                                   |                                  |
  |-- GET /runs/{id}/stream -------------->|                                   |                                   |                                  |
  |                                        |-- Setup SSE emitter ------------->|                                   |                                  |
  |                                        |                                   |                                   |                                  |
  |                                        |-- submitAgentRun --------------->+|                                   |                                  |
  |                                        |                                   |-- executeAgentRun() ------------->|                                   |
  |                                        |                                   |-- Register tools ---------------->|                                   |
  |                                        |                                   |                                   |                                  |
  |                                        |                                   |-- Execute iteration ------------->|                                   |
  |                                        |                                   |                                   |-- LLM API call ----------------->|
  |                                        |                                   |                                   |<-- LLM Response -----------------|
  |                                        |                                   |                                   |                                  |
  |                                        |                                   |                                   |-- Parse tool calls ------------->|
  |                                        |                                   |                                   |                                  |-- Execute tool call ----+
  |                                        |                                   |                                   |                                  |<- Tool result ----------+
  |                                        |                                   |                                   |<-- Tool execution result --------|
  |                                        |                                   |<-- AgentLoopResult ---------------|                                   |
  |                                        |                                   |                                   |                                  |
  |                                        |                                   |-- Publish to Redis ------------->+|                                   |
  |<-- SSE Event (message) ---------------|                                   |                                   |                                  |
  |                                        |                                   |                                   |                                  |
  |                                        |                                   |-- [Repeat loop until complete] -->|                                   |
  |                                        |                                   |                                   |                                  |
  |<-- SSE Event (completion) ------------|                                   |                                   |                                  |
  |                                        |                                   |                                   |                                  |
  +----------------------------------------+-----------------------------------+-----------------------------------+----------------------------------+

MIT License Java Spring Boot Docker PRs Welcome

🚀 Quick Start📖 Documentation🎯 Examples💬 Community

Nubian AI Demo

✨ What is Nubian AI?

Nubian AI is an intelligent agent that acts on your behalf to accomplish complex tasks through natural conversation. Unlike traditional chatbots, Nubian can:

  • 🌐 Browse the web and extract real-time information
  • 📁 Manage files and create documents
  • 💻 Execute code safely in isolated environments
  • ⚖️ Handle legal workflows with specialized tools
  • 🔄 Stream responses in real-time

Perfect for: Researchers, legal professionals, developers, and anyone who needs an AI assistant that can actually do things, not just talk about them.

🎯 Key Features

🛡️ Secure Sandbox Execution

  • Isolated Docker environments
  • Safe code execution
  • File system access
  • Browser automation

Real-time Streaming

  • Server-Sent Events (SSE)
  • Redis pub/sub messaging
  • Live task progress updates
  • Responsive interactions

🔧 Powerful Tool Integration

  • Web search & crawling
  • Document processing
  • API integrations
  • Command-line execution

⚖️ Legal AI Specialization

  • Case law research
  • Contract drafting
  • Meeting transcription
  • Compliance automation

🚀 Quick Start

Get Nubian AI running in under 5 minutes:

Thanks

Suna.so for the inspiration (https://github.com/kortix-ai/suna)

The end goal is to port Suna.so 100% from Python to Java now we are 80% close

For full doc: https://github.com/suevip1/nubian-ai-agent-framework/tree/main/docs

About

Nubian AI - Advanced Java-based Agent Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published