BotSharp .NET 智能体框架
面向企业系统的 .NET 多智能体、RAG 与模型集成框架。
- Star 数
- ★ 3.1k
- 最近更新
- 3 天前
- License
- Apache-2.0
- 主语言
- C#
- FA 评分
- 40/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 C# 维护企业信息系统的团队,需要把多个职责不同的智能体接入现有业务流程时。
- 不适合
- 不想安装 .NET 6+ SDK 并自行编译后端服务的团队
- 希望开箱即用、无需另装 SvelteKit 管理界面的用户
这个 Agent 能做什么,适合哪些场景?
BotSharp 是一个用 C# 和 .NET Core 构建的开源 AI Bot 应用框架,定位为将大语言模型接入既有业务应用。它以插件和管线流执行设计解耦组件,核心模块包括 Agent Profile、Conversation & State、Routing & Planning、LLM Provider、缓存、文件仓库和 Rich Content。框架可通过内置插件接入 OpenAI、Anthropic、Google、DeepSeek、Meta、HuggingFace 等模型平台,并提供知识库、Qdrant、消息渠道和处理器扩展。它支持多智能体协作、会话状态管理、RESTful Open API 与 WebSocket 实时通信;管理 UI 由独立的 BotSharp-UI SvelteKit 项目提供。适合希望在 .NET 业务系统中自行部署并组合模型、工具和消息通道的团队。
应用启动时可执行 dotnet run --project ./src/WebStarter/WebStarter.csproj -p SolutionName=BotSharp 运行后端服务。框架通过 Plugin Loader 和 Hooking 加载外部组件,并使用 Agent Profile、Conversation & State 以及 Routing & Planning 组织智能体职责、会话状态和协作路由。BotSharp.Plugin.OpenAI、BotSharp.Plugin.AnthropicAI、BotSharp.Plugin.GoogleAI 等插件向模型平台发起调用;BotSharp.Plugin.KnowledgeBase 和 BotSharp.Plugin.Qdrant 提供 RAG 相关接口与向量检索。它还能经 BotSharp.OpenAPI 和 WebSocket 对外提供通信能力,并可借助 ChatHub、TelegramBots、WeChat、Twilio 等插件连接消息渠道。MCP 集成支持对 MCP 进行可视化管理,让模型调用外部能力。
- 使用 C# 维护企业信息系统的团队,需要把多个职责不同的智能体接入现有业务流程时。
- 需要在 .NET 服务中保存会话状态,并用 Routing & Planning 协调多智能体完成较复杂任务的应用团队。
- 希望将 OpenAI、Anthropic、Gemini、DeepSeek 或 HuggingFace 等不同模型平台按插件方式接入同一应用的开发者。
- 需要用知识库和 Qdrant 向量检索构建 RAG 流程的企业内部问答或助手项目。
- 要通过 RESTful Open API、WebSocket,或 Telegram、WeChat、Twilio 等消息渠道交付聊天能力的团队。
如何安装或部署这个 Agent?
前提是安装 .NET 6+ SDK。克隆仓库后进入项目目录,并运行:
dotnet run --project ./src/WebStarter/WebStarter.csproj -p SolutionName=BotSharpWindows 可使用:
dotnet run --project .\src\WebStarter\WebStarter.csproj -p SolutionName=BotSharp如需管理 UI,需另外克隆 https://github.com/SciSharp/BotSharp-UI,进入该目录后执行 npm install 和 npm run dev。使用模型插件前,在 appsettings.json 中配置所选提供商的 API 密钥;启动异常时,先执行 dotnet restore。
如何使用这个 Agent?
启动后端后访问 http://localhost:5015/。为智能体定义 Agent Profile 及其职责,并按需要启用对应插件:例如用 BotSharp.Plugin.OpenAI 或 BotSharp.Plugin.AnthropicAI 接入模型,用 BotSharp.Plugin.KnowledgeBase 或 BotSharp.Plugin.Qdrant 构建检索流程。通过框架的 RESTful Open API 或 WebSocket 接入自有前端,也可选用 ChatHub、MetaMessenger、TelegramBots、Twilio 或 WeChat 等渠道插件。若使用独立管理 UI,在 BotSharp-UI 项目执行 npm run dev。
这个 Agent 有哪些优点和局限?
- 以 C#/.NET Core 为基础,并采用插件与管线流执行设计,适合将 AI 功能嵌入既有 .NET 业务逻辑。
- 内置 Agent Profile、会话状态、路由和规划组件,覆盖多智能体协作的核心编排环节。
- 提供多个模型平台插件,以及知识库、Qdrant、消息渠道、RESTful Open API 和 WebSocket 扩展点。
- 已提供 MCP 集成和可视化管理能力,可将模型调用接入外部能力。
- 运行环境要求 .NET 6+;使用模型提供商时还需要在
appsettings.json中维护相应 API 密钥。 - 管理 UI 不在主仓库内,需单独获取 BotSharp-UI 并运行 npm 安装与开发命令。
- 提供的生产部署说明仅提到反向代理、Nginx/IIS 和独立 UI 部署,未给出具体配置样例。
- README 列出的路线图中 A2A、Computer Use 和 Browser Use 仍未完成。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| BotSharp .NET 智能体框架 当前 | 40 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 3.1k | 3 天前 | C# | ChatGPT · OpenAI API · Claude API |
| Neuron AI — PHP 智能体框架 | 69 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 2.2k | 2 天前 | PHP | OpenAI API · Claude API |
| Agentica | 69 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 360 | 今天 | Python | OpenAI API · Claude API |
| AI Agent 工程学习手册 | 60 · 存在缺口 | 开发框架免费 | ★ 656 | 15 天前 | HTML | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档说明了模块化插件、API Key 配置和用户认证流程,LLamaSharp 也提供本地模型选项,因此有少量权限与数据控制线索。扣分原因:没有展示工具权限边界、调用前用户确认、数据保留或删除规则、密钥保护措施及副作用回滚流程;工具插件涵盖 HTTP、SQL、文件和 Python 等能力。CI 使用 checkout@v1,材料也未见依赖安全审查或缓解措施。许可证和项目链接提供有限来源线索,但发布者身份未验证,维护责任不明确。
材料列出跨平台构建和测试工作流,并给出 .NET 版本与部分配置步骤,支持有限的可靠性判断。扣分原因:README 和安装文档对端口、运行命令及支持版本的表述不完全一致;配置依赖 NuGet、LLM 服务或本地模型,但没有展示可用性策略;故障排查只覆盖依赖错误和 LLM 超时,未说明更广泛的错误处理或恢复方式。
材料面向 .NET 开发者,描述多 LLM、插件、UI/API、消息渠道及本地模型等场景,并给出 Windows、Linux、macOS 和 .NET 6+ 的说明。扣分原因:能力边界和不支持场景较少,功能描述多为概括性声明;何时触发特定 Agent、工具或规划流程的条件没有在样例中明确展示。
README、安装文档和专题文档按功能组织,含快速开始、配置样例、FAQ 与部署提示;LICENSE 文件提供完整 Apache 2.0 条款。扣分原因:样例和说明有版本、命令及拼写等不一致之处;已知限制不充分,材料未提供变更日志或清晰的版本兼容策略;项目的维护责任和更新路径也未明确说明。
框架提供 Agent、规划、状态管理、RAG、插件和多种接口的组合能力,安装文档给出可操作的构建与配置步骤。扣分原因:功能收益主要由项目文档陈述,缺少材料支撑的成本、资源开销或投入产出说明;若干关键能力只有概述,落地所需细节仍需查阅更多文档。
部分主张能在 README、安装文档、LLamaSharp 专题和 CI 配置中找到对应说明。扣分原因:同一能力的跨文件佐证有限,许多 Agent、MCP 和提供商能力仍是文档陈述;材料没有稳定地区分已实现事实、计划事项与概括性主张,且本评估不包含运行验证。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 部署前应核实工具插件的权限与外部副作用,并自行设置确认、审计和恢复机制;这些控制未在所给材料中充分说明。
- 配置真实 LLM 凭据前,应确认密钥的存储和访问控制方式;示例仅展示了空 API Key 字段。
- 核对目标修订的 .NET、端口和依赖版本要求;材料中的部分说明并不完全一致。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
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/1092 * detour rate limit by @iceljc in https://github.com/SciSharp/BotSharp/pull/1094 …在 GitHub 查看 ↗ -
发布说明摘录
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/pull/1001 * rename WaveStreamChannel by @yileicn in https://github.com/SciSharp/BotSharp/pull/1003 …在 GitHub 查看 ↗ -
发布说明摘录
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 * Append dialogs into model context by @hchen2020 in https://github.com/SciSharp/BotSharp/pull/954 …在 GitHub 查看 ↗
常见问题
BotSharp 可以免费用于商业项目吗?
支持哪些模型提供商?
必须使用 BotSharp UI 吗?
模型调用超时应先检查什么?
appsettings.json 中的 API 密钥、到模型提供商的网络连通性,以及模型名称是否正确。谢谢反馈,我们会据此改进页面。