CereBro is a model-agnostic AI Agent Wrapper for .Net. Now with 🔥
Below is a list of supported and planned models for CereBro.
Supported:
Planned:
Claude Grok DeepSeek Gemini Ollama
You can install the package from NuGet using the following command:
dotnet add package Rob1997.CereBro
dotnet add package Rob1997.CereBro.Open-AIThis file will contain the configuration for the MCP servers you want to use. Below is an example of the servers.json file.
[
{
"Id": "everything-server",
"Name": "Everything",
"TransportType": "stdio",
"TransportOptions": {
"command": "npx",
"arguments": "-y @modelcontextprotocol/server-everything"
}
}
]You can check out more servers here.
export OPEN_AI_API_KEY="your-api-key"$env:OPEN_AI_API_KEY="your-api-key"If you want this to be permanent, you can add it to your .bashrc or .bash_profile file in linux or use the following command in PowerShell.
[Environment]::SetEnvironmentVariable("OPEN_AI_API_KEY", "your-api-key", "User")public static async Task Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
builder.Services.UseOpenAI(Environment.GetEnvironmentVariable("OPEN_AI_API_KEY"), "gpt-4o-mini");
IHost cereBro = builder.BuildCereBro(new CereBroConfig{ ServersFilePath = "./servers.json" });
await cereBro.RunAsync();
}CereBro uses the Console as a chat dispatcher. You can create your own dispatcher by implementing the IChatDispatcher interface and use builder.BuildCereBro<IChatDispatcher>(config) to build CereBro's host.
dotnet runCurrently, CereBro only supports Microsoft.Extensions.AI.IChatClient, unless it already exists, Microsoft already has implementations for some models like
Once you've done that you can create a Placeholder Type that implements Microsoft.Extensions.AI.FunctionInvokingChatClient something like this.
Finally, you can use the UseChatClient<T>(this IServiceCollection services, IChatClient chatClient) where T : FunctionInvokingChatClient extension method to add your model to the service collection.
⚠️ Note ⚠️
At the moment CereBro doesn't support multiple models at the same time, so you'll have to remove the UseOpenAI method from the Program.cs file to use another model.
CereBro.Unity is a Unity package that allows you to use CereBro in Unity. README.
If you'd like to contribute to the project, you can fork the repository and create a pull request. You can also create an issue if you find any bugs or have any feature requests.