freshcrate
Skin:/
Home > Frameworks > BotSharp

BotSharp

AI Multi-Agent Framework in .NET

Why this rank:Strong adoptionHealthy release cadenceRelease freshness

Description

AI Multi-Agent Framework in .NET

README

The Open Source AI Agent Application Framework

Connect LLMs to your existing application focused on your business

Discord QQįž¤čŠ Apache 2.0 NuGet build Documentation Status

"Conversation as a platform (CaaP) is the future, so it's perfect that we're already offering the whole toolkits to our .NET developers using the BotSharp AI BOT Platform Builder to build a CaaP. It opens up as much learning power as possible for your own robots and precisely control every step of the AI processing pipeline."

BotSharp is an open source machine learning framework for AI Bot platform builder. This project involves natural language understanding, computer vision and audio processing technologies, and aims to promote the development and application of intelligent robot assistants in information systems. Out-of-the-box machine learning algorithms allow ordinary programmers to develop artificial intelligence applications faster and easier.

It's written in C# running on .Net Core that is full cross-platform framework, the plug-in and pipeline flow execution design is adopted to completely decouple the plug-ins. C# is a enterprise grade programming language which is widely used to code business logic in information management related system. More friendly to corporate developers. BotSharp adopts machine learning algorithm in C# directly. That will facilitate the feature of the typed language C#, and be more easier when refactoring code in system scope.

BotSharp is in accordance with components principle strictly, decouples every part that is needed in the platform builder. So you can choose different UI/UX, or pick up a different LLM providers. They are all modularized based on unified interfaces. BotSharp provides an advanced Agent abstraction layer to efficiently manage complex application scenarios in enterprises, allowing enterprise developers to efficiently integrate AI into business systems.

Some Features

  • Built-in multi-agents and conversation with state management.
  • Support multiple LLM Planning approaches to handle different tasks from simple to complex.
  • Built-in RAG related interfaces, Memory based vector searching.
  • Support multiple AI platforms (ChatGPT 3.5/ 4o/ o1, Gemini 2, LLaMA 3, Claude Sonnet 3.5,DeepSeek V3, HuggingFace).
  • Allow multiple agents with different responsibilities cooperate to complete complex tasks.
  • Build, test, evaluate and audit your LLM agent in one place.
  • Build-in BotSharp UI written in SvelteKit.
  • Abstract standard Rich Content data structure. Integrate with popular message channels like Facebook Messenger, Slack and Telegram.
  • Provide RESTful Open API and WebSocket real-time communication.
  • Built-in MCP Integration: Visual management of MCP, enabling large model calls to Tools. Supports mainstream services like mcp.so

Quick Started

  1. Run backend service
 PS D:\> git clone https://github.com/dotnetcore/BotSharp
 PS D:\> cd BotSharp
 # For Windows
 PS D:\BotSharp\> dotnet run --project .\src\WebStarter\WebStarter.csproj -p SolutionName=BotSharp
 # For Linux
 $ dotnet run --project ./src/WebStarter/WebStarter.csproj -p SolutionName=BotSharp
  1. Run Admin UI project, reference to BotSharp UI.
PS D:\> git clone https://github.com/SciSharp/BotSharp-UI
PS D:\> cd BotSharp-UI
PS D:\> npm install
PS D:\> npm run dev

Access http://localhost:5015/

Online Demo with UI

Core Modules

The core module is mainly composed of abstraction and framework function implementation, combined with some common tools.

  • Plugin Loader
  • Hooking
  • Authentication
  • Agent Profile
  • Conversation & State
  • Routing & Planning
  • Templating
  • File Repository
  • Caching
  • Rich Content
  • LLM Provider

Plugins

BotSharp uses component design, the kernel is kept to a minimum, and business functions are implemented by external components. The modular design also allows contributors to better participate. Below are the built-in plugins:

Data Storages

LLMs

  • BotSharp.Plugin.Planner
  • BotSharp.Plugin.AzureOpenAI
  • BotSharp.Plugin.OpenAI
  • BotSharp.Plugin.AnthropicAI
  • BotSharp.Plugin.DeepSeekAI
  • BotSharp.Plugin.GoogleAI
  • BotSharp.Plugin.MetaAI
  • BotSharp.Plugin.HuggingFace
  • BotSharp.Plugin.LLamaSharp
  • BotSharp.Plugin.SemanticKernel
  • BotSharp.Plugin.SparkDesk

Messaging / Channel

  • BotSharp.OpenAPI
  • BotSharp.Plugin.ChatHub
  • BotSharp.Plugin.MetaMessenger
  • BotSharp.Plugin.Twilio
  • BotSharp.Plugin.TelegramBots
  • BotSharp.Plugin.WeChat

RAGs

  • BotSharp.Plugin.KnowledgeBase
  • BotSharp.Plugin.Qdrant

Visions

  • BotSharp.Plugin.PaddleSharp

Tools

  • BotSharp.Plugin.Dashboard
  • BotSharp.Plugin.RoutingSpeeder
  • BotSharp.Plugin.AudioHandler
  • BotSharp.Plugin.ChartHandler
  • BotSharp.Plugin.EmailHandler
  • BotSharp.Plugin.ExcelHandler
  • BotSharp.Plugin.FileHandler
  • BotSharp.Plugin.ImageHandler
  • BotSharp.Plugin.HttpHandler
  • BotSharp.Plugin.SqlDriver
  • BotSharp.Plugin.WebDriver
  • BotSharp.Plugin.PythonInterpreter

UIs

  • BotSharp.Plugin.ChatbotUI

Roadmap

  • A2A
  • MCP
  • Realtime
  • Computer Use
  • Browser Use
  • Database Assistant
  • Code Interpreter
  • Conversation Management
  • Multi-Agent Routing
  • Knowledge Base

Documents

Read the docs: https://botsharp.readthedocs.io?wt.mc_id=AI-MVP-5005183

New documentation website: https://botsharp.verdure-hiro.cn

If you feel that this project is helpful to you, please Star the project, we would be very grateful.

Member project of SciSharp STACK which is the .NET based ecosystem of open-source software for mathematics, science, and engineering.

Release History

VersionChangesUrgencyDate
r5.2-image-composition## What's Changed * fix fork conversation by @iceljc in https://github.com/SciSharp/BotSharp/pull/1082 * fix realtime toolcall by @iceljc in https://github.com/SciSharp/BotSharp/pull/1087 * refine side car states by @iceljc in https://github.com/SciSharp/BotSharp/pull/1089 * temp revert by @iceljc in https://github.com/SciSharp/BotSharp/pull/1090 * revert by @iceljc in https://github.com/SciSharp/BotSharp/pull/1091 * optimize twilio by @yileicn in https://github.com/SciSharp/BotSharp/pull/Low10/17/2025
r5.1-utility-improment## What's Changed * feat: Added Google Multimodal Live APIs by @gunpal5 in https://github.com/SciSharp/BotSharp/pull/993 * Clean code for GeminiLive by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/997 * realtime-hub-refactor by @Oceania2018 in https://github.com/SciSharp/BotSharp/pull/999 * Add InterruptResponse in RealtimeModelSettings by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/1000 * InputAudioTranscribe by @hchen2020 in https://github.com/SciSharp/BotSharp/pullLow6/27/2025
r5.0-mcp## What's Changed * util-twilio-transfer_phone_call by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/948 * hotfix twilio stream conversationId is null by @yileicn in https://github.com/SciSharp/BotSharp/pull/950 * add missing template by @iceljc in https://github.com/SciSharp/BotSharp/pull/951 * Hang up phone with audio by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/952 * Update web driver functionalities by @visagang in https://github.com/SciSharp/BotSharp/pull/953 *Low4/5/2025
r4.1-realtime## What's Changed * revert open ai client by @iceljc in https://github.com/SciSharp/BotSharp/pull/812 * Update README.md Add LiteDBStorage Link by @GreenShadeZhang in https://github.com/SciSharp/BotSharp/pull/813 * add agent event rule by @iceljc in https://github.com/SciSharp/BotSharp/pull/814 * add http request hook by @iceljc in https://github.com/SciSharp/BotSharp/pull/815 * rename by @iceljc in https://github.com/SciSharp/BotSharp/pull/817 * add criteria by @iceljc in https://github.cLow3/16/2025
r4.0-sidecar## What's Changed * fix vector db by @iceljc in https://github.com/SciSharp/BotSharp/pull/672 * Features/add notification by @iceljc in https://github.com/SciSharp/BotSharp/pull/673 * remove params by @iceljc in https://github.com/SciSharp/BotSharp/pull/674 * minor fix by @Joannall in https://github.com/SciSharp/BotSharp/pull/675 * Upgrade Anthropic.SDK to v4 by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/676 * add processor by @iceljc in https://github.com/SciSharp/BotSharp/puLow1/2/2025
r3.0-two-staging-planning## What's Changed * fix db name by @iceljc in https://github.com/SciSharp/BotSharp/pull/560 * refine json format in log by @iceljc in https://github.com/SciSharp/BotSharp/pull/559 * fix text-completion by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/561 * Features/refine json format by @iceljc in https://github.com/SciSharp/BotSharp/pull/562 * refine file selection prompt by @iceljc in https://github.com/SciSharp/BotSharp/pull/563 * support xhr response. by @Oceania2018 in httpsLow10/5/2024
r2.0-agent-utility## What's Changed * merge latest code by @geffzhang in https://github.com/SciSharp/BotSharp/pull/370 * merge latest code by @geffzhang in https://github.com/SciSharp/BotSharp/pull/389 * user avatar by @iceljc in https://github.com/SciSharp/BotSharp/pull/466 * Features/add conversation summary by @iceljc in https://github.com/SciSharp/BotSharp/pull/471 * Features/add agent user role by @iceljc in https://github.com/SciSharp/BotSharp/pull/457 * summarize multiple conversations by @iceljc in Low7/22/2024
r1.5-sse## What's Changed * add chat files by @iceljc in https://github.com/SciSharp/BotSharp/pull/454 * Features/add conversation user by @iceljc in https://github.com/SciSharp/BotSharp/pull/456 * prevent send event if it is not conversation by @iceljc in https://github.com/SciSharp/BotSharp/pull/458 * Fix llm selection bug. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/459 * add default model by @iceljc in https://github.com/SciSharp/BotSharp/pull/460 * refine log in by @iceljc in hLow5/28/2024
r1.4-mutl-languages## What's Changed * Update args definition for router agent by @jli238 in https://github.com/SciSharp/BotSharp/pull/404 * add visible property by @iceljc in https://github.com/SciSharp/BotSharp/pull/403 * refine agent refresh by @iceljc in https://github.com/SciSharp/BotSharp/pull/405 * add log in agent refresh by @iceljc in https://github.com/SciSharp/BotSharp/pull/406 * fix "talk to ppl" issue by @sylviachency in https://github.com/SciSharp/BotSharp/pull/408 * add repository enum by @iceLow5/15/2024
v1.3.2-release## What's Changed * Update args definition for router agent by @jli238 in https://github.com/SciSharp/BotSharp/pull/404 * add visible property by @iceljc in https://github.com/SciSharp/BotSharp/pull/403 * refine agent refresh by @iceljc in https://github.com/SciSharp/BotSharp/pull/405 * add log in agent refresh by @iceljc in https://github.com/SciSharp/BotSharp/pull/406 * fix "talk to ppl" issue by @sylviachency in https://github.com/SciSharp/BotSharp/pull/408 * add repository enum by @iceLow4/13/2024
v1.3-stable-tag## What's Changed * refine rich type and template type by @iceljc in https://github.com/SciSharp/BotSharp/pull/317 * Resolved issue related to convertPdfToText by @wilson-dixon in https://github.com/SciSharp/BotSharp/pull/319 * Auto restore function name in InvokeFunction. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/320 * Add required flag. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/321 * add function name by @iceljc in https://github.com/SciSharp/BotSharp/pulLow4/9/2024
tag-v1.0.1-web-driver## What's Changed * add paged plugins by @iceljc in https://github.com/SciSharp/BotSharp/pull/260 * add agent pagination by @iceljc in https://github.com/SciSharp/BotSharp/pull/261 * change to get by @iceljc in https://github.com/SciSharp/BotSharp/pull/262 * Add attributes to user view model by @visagang in https://github.com/SciSharp/BotSharp/pull/263 * SequentialPlanner draft. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/264 * Standarderize agent type. by @hchen2020 in httpLow2/24/2024
tag-v0.22-logging## What's Changed * refine conversation states by @iceljc in https://github.com/SciSharp/BotSharp/pull/245 * WebDriver Playwright. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/246 * Add Input User Text in WebPage. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/247 * Fix click element in WebDriver. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/248 * Fix SPA refresh bug. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/249 * add mongo plugin Low1/22/2024
v0.21-2023-12## What's Changed * fix typo and delete logs by @iceljc in https://github.com/SciSharp/BotSharp/pull/229 * sequential log. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/230 * Bump vite from 4.5.0 to 4.5.1 in /src/web-live-chat by @dependabot in https://github.com/SciSharp/BotSharp/pull/231 * add invoke function in routing service by @iceljc in https://github.com/SciSharp/BotSharp/pull/232 * rename mongo collection and use exe log flag by @iceljc in https://github.com/SciSharp/BLow12/31/2023
v0.20-palm2-function## What's Changed * add user role and editable by @iceljc in https://github.com/SciSharp/BotSharp/pull/208 * Update next action agent's name by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/209 * add ConversationTimeoutService by @seplz in https://github.com/SciSharp/BotSharp/pull/205 * sync conversation status by @iceljc in https://github.com/SciSharp/BotSharp/pull/210 * add update conversation status by @iceljc in https://github.com/SciSharp/BotSharp/pull/211 * Fix ExecuteOnce Low12/3/2023
v0.19-semantic-kernel## What's Changed * Clean code. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/196 * Fix RichContent pass alway bug. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/197 * Add states to chat message result by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/198 * Fix current agent id. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/199 * Add MultiSelectTemplate by @ywang1110 in https://github.com/SciSharp/BotSharp/pull/200 * Adjust rich content data Low11/13/2023
v0.18-llm-planner## What's Changed * Add user_goal_agent to track user's original task. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/168 * Move next step prompt to liquid template. by @Deep-Blue-2013 in https://github.com/SciSharp/BotSharp/pull/169 * Features/relocate agent templates by @iceljc in https://github.com/SciSharp/BotSharp/pull/170 * Add IContentGeneratingHook. by @Deep-Blue-2013 in https://github.com/SciSharp/BotSharp/pull/171 * refine agent data fetching by @iceljc in https://githLow10/30/2023
v0.16-google-palm2## What's Changed * decouple mongo element with domain element by @iceljc in https://github.com/SciSharp/BotSharp/pull/160 * Add timer to ITokenStatistics and update docs by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/161 * Fix PizzaBot build issue. by @Deep-Blue-2013 in https://github.com/SciSharp/BotSharp/pull/162 * Add RoutingContext to manage redirection stack automatically. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/163 * Allow retry 3 times for format respoLow10/11/2023
v0.15-routing-handler## What's Changed * Re-define FunctionCallFromLlm. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/151 * Add Execute Once. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/152 * Add TokenStatistics for cost control. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/153 * Change RoutingArgs. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/154 * Improve TokenStatistics. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/155 * Add GetChatCompleLow9/28/2023
v0.14-router-reasoning## What's Changed * Rename PackageVersion to BotSharpVersion; by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/147 * Fix instruction mode. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/148 * Features/update agent structure by @iceljc in https://github.com/SciSharp/BotSharp/pull/149 * RoutingSettings.Provider and Model. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/150 **Full Changelog**: https://github.com/SciSharp/BotSharp/compare/v0.13-hugging-faceLow9/21/2023
v0.13-hugging-face## What's Changed * Set default ModelName as null. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/143 * Features/add update agent by @iceljc in https://github.com/SciSharp/BotSharp/pull/145 * Eliminate route file configuration. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/146 **Full Changelog**: https://github.com/SciSharp/BotSharp/compare/v0.12-mongodb...v0.13-hugging-faceLow9/18/2023
v0.12-mongodb## What's Changed * fix-local-file-loading-issue by @evan-cao-wb in https://github.com/SciSharp/BotSharp/pull/134 * Define new InstructMessageModel. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/135 * Add IInstructHook. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/136 * Support model switch in request level. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/137 * Features/add mongo implementation by @iceljc in https://github.com/SciSharp/BotSharp/pull/119Low9/16/2023
v0.11-routing-speeder## What's Changed * v Render router instruction by route record dynamically. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/116 * MR for PdfToTextConverter by @evan-cao-wb in https://github.com/SciSharp/BotSharp/pull/109 * Draft of Reasoning by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/118 * Fix send message directly to agent without routing. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/120 * Add intent classifier in routing speeder. by @evan-cao-wb Low9/6/2023
v0.9-routing## What's Changed * Seperate UserAgent. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/87 * LLM Functions by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/88 * Load function from conversation history. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/89 * IFunctionCallback by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/90 * Messenger platform. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/92 * Adjust conversation history format. by @hLow8/25/2023
v0.6## What's Changed * Wechat plugin by @xbotter in https://github.com/SciSharp/BotSharp/pull/80 * Enable knowledge in chatbot. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/82 * update Wechat plugin by @xbotter in https://github.com/SciSharp/BotSharp/pull/83 * Fix IConversationCompletionHook by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/85 * Some fixes. by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/86 ## New Contributors * @xbotter made their first cLow7/22/2023
v0.5BotSharp ushered in the first major update in 3 years, rewriting the entire software architecture, in order to better integrate with the current large language model.Low6/19/2023
v0.3Release v0.3Low12/30/2018

Dependencies & License Audit

Loading dependencies...

Similar Packages

mateclaw🤖 MateClaw — Java + Vue 3 AI Assistant with Multi-Agent Orchestration, MCP Protocol, Skills & Memory, and Multi-Channel Support. Built on Spring AI Alibaba.v1.5.0
openmatrixAI Agent task orchestration system with Claude Code Skills integrationmain@2026-06-03
project-golemOS-level autonomous AI agent with long-term memory, multi-agent coordination, Titan Chronos scheduler & Moltbot Social Corev9.6.14
Wee-Orchestrator🍀 Self-hosted multi-agent AI orchestrator — chat with Claude, Gemini & Copilot CLI from Telegram, WebEx, or browser. 5 runtimes, 17+ models, task scheduling, skill plugins.main@2026-05-08
EJClawTribunal multi-agent Discord bot framework — autonomous paired review with configurable agent rolesv0.2.3

More in Frameworks

langchainThe agent engineering platform
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.