Agent Chatroom
An extensible multi-agent platform built on top of AutoGen.Net, shadcn and Orleans.
🌟 Highlights
- Multi-Agent WebUI: Chat with multiple agents simultaneously in a web browser.
- Code-First: Use code-first approach to add agents to the chatroom, see code-first examples for more information.
- Server mode: You can run
ChatRoom.Client
as a restful server. For more information, see Server mode.
Quick Start with code-first approach
You can create an agent by writing code and add it to chatroom. See code-first examples for how to do it.
Quick Start with template
Other than the code-first approach, Agent Chatroom
also provides a series of templates to help you get started quickly. Use the list-templates
command to list all available templates and the create
command to create a configuration from the selected template.
Step 1 - Install ChatRoom.Client from NuGet
Agent Chatroom
is published as a dotnet tool on nuget.org. You can install the latest Agent Chatroom
client from nuget.org by running the following command, this will install the ChatRoom.Client
globally:
dotnet tool install --global ChatRoom.Client
Tip
create
command also generates a json schema file for this configuration to provide intellisense in your editor. Use it wisely can greatly save your effort on writing configuration.
Step 2 - Choose from one of the available templates to get started.
chatroom list-templates # list all available templates
The command will list all available templates.
Step 3 - Create configuration from the selected template.
# Create
chatroom create -t chatroom_openai -o chatroom_openai.json
Step 4 - Start the chatroom client with the OpenAI agent.
After filling in the OpenAI key in the configuration file, you can start the chatroom client with the following command.
# start chatroom server
chatroom run -c chatroom_openai.json
You will see the following output from chatroom client which indicates the web UI is available at http://localhost:51237
and https://localhost:51238
. You can navigate to the web UI in your browser and start chatting with the agents.
web ui is available at: http://localhost:51237;https://localhost:51238
📦 Pre-configured Chatrooms
We provide the following configuration to help you get started quickly. More configurations will be added in the future.
- OpenAI-Chatroom: chat with OpenAI gpt.
- Powershell-Chatroom: chat with
ps-gpt
andps-runner
to help you write and run PowerShell scripts.
🌐 Server mode
To start a restful backend from ChatRoom.Client
, add a server_config
section to the client configuration file.
// file: chatroom-client-server.json
"server_config": {
"environment": "Development", // one of Development, Staging, Production.
"urls": "http://localhost:51234;https://localhost:51235"
}
Then, run the following command to start the server. And the server will start on the http://localhost:51234
and https://localhost:51235
.
chatroom -c chatroom-client-server.json
Swagger UI for the server
When the environment is set to Development
, the server will automatically start the Swagger UI at /swagger
and /swagger/index.html
. You can also access the complete swagger schema at /swagger/v1/swagger.json
, or visit swagger-schema.json in this repository.