Modern .NET AI framework for building agents, tools, workflows, and enterprise AI applications.
Built on top of Microsoft.Extensions.AI, PulseStackAI provides a clean, extensible architecture for integrating AI into real-world .NET systems.
PulseStackAI helps developers build production-ready AI systems without dealing with provider complexity, fragmented SDKs, or orchestration boilerplate.
Use it to create:
- AI copilots
- Multi-agent workflows
- Tool-calling assistants
- ERP / CRM AI integrations
- Enterprise knowledge assistants
- AI-powered automation systems
PulseStackAI is designed to let developers focus on business orchestration rather than AI infrastructure.
The framework should abstract away:
- provider complexity
- orchestration coordination
- runtime execution concerns
- retries and resilience
- shared state management
- tool execution infrastructure
- execution diagnostics
while exposing clean, explicit orchestration primitives.
The goal is to allow developers to compose reliable AI workflows using deterministic runtime infrastructure.
- OpenAI provider
- Unified
IChatClientabstraction
AgentBuilderfluent API- Configurable instructions and temperature
- Streaming responses
- Structured tool calling
- Tool registry
- Dependency Injection integration
- Built-in tool support
- JSON-based tool execution loop
- Sequential multi-agent pipelines
git clone https://github.com/abilgaiyan/PulseStackAI.git
cd PulseStackAIservices.AddPulseStack()
.UseOpenAI(apiKey, "gpt-4o-mini");var client = sp.GetRequiredService<IChatClient>();
var response = await client.AskAsync(
"Explain dependency injection.");
Console.WriteLine(response);var agent = new AgentBuilder("Assistant", client)
.WithInstructions("You are concise and helpful.")
.WithTemperature(0.3f)
.Build();
var result = await agent.RunAsync(
"Explain async/await.");
Console.WriteLine(result.Text);services.AddPulseStack()
.UseOpenAI(apiKey, "gpt-4o-mini")
.AddTool<CalculatorTool>();var registry = sp.GetRequiredService<IToolRegistry>();
var agent = new AgentBuilder("Assistant", client)
.WithInstructions("Use tools when required.")
.WithTools(registry)
.Build();
var result = await agent.RunAsync(
"What is 250 * 45?");
Console.WriteLine(result.Text);var researcher = new AgentBuilder("Researcher", client)
.WithInstructions("Research the topic and provide key findings.")
.Build();
var writer = new AgentBuilder("Writer", client)
.WithInstructions("Convert findings into an executive summary.")
.Build();
var pipeline = new AgentPipeline("ResearchPipeline")
.AddAgent(researcher)
.AddAgent(writer);
var result = await pipeline.RunAsync(
"AI adoption in enterprise ERP systems.");
Console.WriteLine(result.FinalOutput);await foreach (var chunk in agent.StreamAsync(
"Explain dependency injection in simple terms."))
{
Console.Write(chunk);
}src/
PulseStack.Abstractions
PulseStack.Core
PulseStack.Agents
PulseStack.Tools
PulseStack.Providers.OpenAI
samples/
BasicChat
BasicAgent
MultiAgentPipeline
StreamingChat
tests/
PulseStack.Tests
Providers
↓
IChatClient
↓
Agents
↓
Tools
↓
Pipelines
dotnet run --project samples/BasicChatdotnet run --project samples/BasicAgentdotnet run --project samples/MultiAgentPipelinedotnet run --project samples/StreamingChat- Azure OpenAI provider
- Ollama provider
- Conversation memory
- Improved tool metadata
- Structured tool schemas
- Vector storage
- RAG support
- Document indexing
- Semantic search
- Enterprise workflow engine
- MCP integration
- Document intelligence
- AI governance / audit logging
- Plugin ecosystem
PulseStackAI is currently in active early development.
The framework is stable enough for experimentation and prototyping while core architecture and APIs continue to evolve.
PulseStackAI focuses on:
- Clean Architecture
- Extensibility
- Provider abstraction
- Enterprise AI integration
- Developer productivity
- Incremental complexity
MIT License