A powerful AI agent application.
Still under development; pull requests are welcome.
- MCP-Plugin architecture for extensibility
- Integration with OpenAI and other AI services
- Support for Multi-Agent Orchestration
- Expand plugin ecosystem for third-party integrations
- Optimize performance for large-scale AI tasks
- agentic workflows and collaboration features
- STT-TTS support
- Ensure you have
.NET 10 SDKinstalled. You can download it from the .NET website.
-
Clone the repository, and open it in your IDE
git clone https://github.com/tse-wei-chen/NeroiStack.git
-
If you use Visual Studio Code, just Press
F5hard. -
Build the project using
.NET CLIdotnet build
-
Run the application
dotnet run --project NeroiStack/NeroiStack.csproj
NeroiStack supports various multi-agent orchestration strategies to enable complex AI workflows. Below are some of the key strategies illustrated with diagrams:
- Concurrent
Loading
graph TD Input[Input] --> Agent1[Agent 1] Input[Input] --> Agent2[Agent 2] Input[Input] --> Agent3[Agent 3] Agent1[Agent 1] --> C[Collector] Agent2[Agent 2] --> C[Collector] Agent3[Agent 3] --> C[Collector] C[Collector] --> Output[Output]
- Sequential
Loading
graph TD Input[Input] --> Agent1[Agent 1] Agent1[Agent 1] --> Agent2[Agent 2] Agent2[Agent 2] --> Agent3[Agent 3] Agent3[Agent 3] --> Output[Output]
- Group Chat
Loading
graph TD Input[Input] --> GroupChatManager[GroupChatManager] GroupChatManager[GroupChatManager] <--> Agent1[Agent 1] GroupChatManager[GroupChatManager] <--> Agent2[Agent 2] GroupChatManager[GroupChatManager] <--> Agent3[Agent 3] GroupChatManager[GroupChatManager] --> Output[Output]
- Handoff
Loading
graph TD Input[Input] --> A1[Entry Agent] A1 -- Transfer --> A2[Specialized Agent A] A1 -- Transfer --> A3[Specialized Agent B] A2 -- Complete --> Output[Output] A3 -- Complete --> Output[Output]
- Magentic
Loading
graph TD Input[Input] --> M[Magentic Manager] M -- Select & Call --> A1[Agent 1] A1 -- Observation --> M M -- Select & Call --> A2[Agent 2] A2 -- Observation --> M M -- "Satisfied (Done)" --> Output[Output]