From 150699f6059c7668ab1b56586d28ac2060297282 Mon Sep 17 00:00:00 2001 From: Haiping Chen Date: Sun, 31 Dec 2023 12:08:56 -0600 Subject: [PATCH] Release v0.21.0 --- Directory.Build.props | 2 +- README.md | 2 +- docs/agent/intro.md | 2 +- docs/index.rst | 2 ++ docs/quick-start/assets/BotSharp-UI-Router.png | Bin 0 -> 102341 bytes docs/quick-start/get-started.md | 14 ++++++++++++++ .../BotSharp.Core/Plugins/PluginLoader.cs | 1 - .../BotSharp.OpenAPI/BotSharp.OpenAPI.csproj | 4 ++-- .../BotSharp.Plugin.MongoStorage.csproj | 2 +- .../BotSharp.Plugin.WebDriver.csproj | 6 +++++- ...harp.Plugin.SemanticKernel.UnitTests.csproj | 4 ++-- 11 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 docs/quick-start/assets/BotSharp-UI-Router.png diff --git a/Directory.Build.props b/Directory.Build.props index 22d1de356..f85831ff3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -3,7 +3,7 @@ net6.0 10.0 ..\..\..\packages - 0.20.0 + 0.21.0 true \ No newline at end of file diff --git a/README.md b/README.md index 2593c8a79..4c1e238fa 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # The Open Source AI Agent Application Framework ## Connect LLMs to your existing application focused on your business -[![Discord](https://img.shields.io/discord/1106946823282761851?label=Discord)](https://discord.gg/qRVm82fKTS) +[![Discord](https://img.shields.io/discord/1106946823282761851?label=Discord)](https://discord.com/channels/1106946823282761851/1106947212459642991) [![QQ群聊](https://img.shields.io/static/v1?label=QQ&message=群聊&color=brightgreen)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=sN9VVMwbWjs5L0ATpizKKxOcZdEPMrp8&authKey=RLDw41bLTrEyEgZZi%2FzT4pYk%2BwmEFgFcrhs8ZbkiVY7a4JFckzJefaYNW6Lk4yPX&noverify=0&group_code=985366726) [![Join the chat at https://gitter.im/publiclab/publiclab](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sci-sharp/community) [![Apache 2.0](https://img.shields.io/hexpm/l/plug.svg)](https://raw.githubusercontent.com/Oceania2018/BotSharp/master/LICENSE) diff --git a/docs/agent/intro.md b/docs/agent/intro.md index e832d5372..7507ef2e5 100644 --- a/docs/agent/intro.md +++ b/docs/agent/intro.md @@ -37,4 +37,4 @@ Now we can update the prompt to the chatbot definition through the [Agent Update ![Alt text](assets/agent-update.png) -After the update is successful, the robot will have a system prompt, and the subsequent dialogue will interact with the user based on the background knowledge of the system prompt. So far, the creation of the Agent has been completed, but the real dialogue has not yet started. The following will continue to introduce the last step, the [Agent Conversation](conversation.md) part. \ No newline at end of file +After the update is successful, the robot will have a system prompt, and the subsequent dialogue will interact with the user based on the background knowledge of the system prompt. So far, the creation of the Agent has been completed, but the real dialogue has not yet started. The following will continue to introduce the last step, the [Agent Conversation](../conversation/intro.md) part. \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index d8f9d8717..cc504b66b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -52,6 +52,7 @@ The main documentation for the site is organized into the following sections: agent/intro agent/router + agent/hook .. toctree:: :maxdepth: 2 @@ -59,6 +60,7 @@ The main documentation for the site is organized into the following sections: conversation/intro conversation/state + conversation/hook .. _integration-docs: diff --git a/docs/quick-start/assets/BotSharp-UI-Router.png b/docs/quick-start/assets/BotSharp-UI-Router.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab509cffc076a05af9e37b588d45e311db49948 GIT binary patch literal 102341 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 Lu_Kj-e!KQRBYG9q literal 0 HcmV?d00001 diff --git a/docs/quick-start/get-started.md b/docs/quick-start/get-started.md index d4d2d098d..a3b8e1b32 100644 --- a/docs/quick-start/get-started.md +++ b/docs/quick-start/get-started.md @@ -20,6 +20,20 @@ Next, try to access the chat from `Open API`, we public our [Postman collection] ![Pizza Bot Starter](assets/PizzaBotSample4.png) +### Launch the UI + +BotSharp has an official front-end project to be used in conjunction with the backend. The main function of this project is to allow developers to visualize various configurations of the backend. + +```console +git clone https://github.com/SciSharp/BotSharp-UI +cd BotSharp-UI +npm install --force +npm run dev +``` + +Access the http://localhost:5015/ + +![BotSharp UI Router](assets/BotSharp-UI-Router.png) ### Run in debug mode diff --git a/src/Infrastructure/BotSharp.Core/Plugins/PluginLoader.cs b/src/Infrastructure/BotSharp.Core/Plugins/PluginLoader.cs index 124370247..38cd28990 100644 --- a/src/Infrastructure/BotSharp.Core/Plugins/PluginLoader.cs +++ b/src/Infrastructure/BotSharp.Core/Plugins/PluginLoader.cs @@ -1,6 +1,5 @@ using BotSharp.Abstraction.Plugins.Models; using Microsoft.AspNetCore.Builder; -using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.Extensions.Configuration; using System.Drawing; using System.IO; diff --git a/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj b/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj index 2df5badda..aae65f9a5 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj +++ b/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -11,7 +11,7 @@ - + diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/BotSharp.Plugin.MongoStorage.csproj b/src/Plugins/BotSharp.Plugin.MongoStorage/BotSharp.Plugin.MongoStorage.csproj index b74045480..ac122c52a 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/BotSharp.Plugin.MongoStorage.csproj +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/BotSharp.Plugin.MongoStorage.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj b/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj index df19db07c..480ebabc3 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj +++ b/src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj @@ -1,8 +1,12 @@ - + netstandard2.1 enable + $(LangVersion) + $(BotSharpVersion) + $(GeneratePackageOnBuild) + $(GenerateDocumentationFile) diff --git a/tests/BotSharp.Plugin.SemanticKernel.UnitTests/BotSharp.Plugin.SemanticKernel.UnitTests.csproj b/tests/BotSharp.Plugin.SemanticKernel.UnitTests/BotSharp.Plugin.SemanticKernel.UnitTests.csproj index 1e7e78c87..81e6d3b6e 100644 --- a/tests/BotSharp.Plugin.SemanticKernel.UnitTests/BotSharp.Plugin.SemanticKernel.UnitTests.csproj +++ b/tests/BotSharp.Plugin.SemanticKernel.UnitTests/BotSharp.Plugin.SemanticKernel.UnitTests.csproj @@ -14,8 +14,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all