/Rodel.Agent

支持主流在线 AI 服务的应用

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Rodel Agent

A Windows desktop application that integrates chat, text-to-image, text-to-speech, and machine translation, supports the current mainstream AI services, and offers an excellent desktop AI experience.

English · 简体中文

✨ Feature Overview

chat interface

Please refer to the document website for detailed introduction: Rodel Agent

⚒️ Project Development

Prerequisites

Development Tools Visual Studio 2022
Basic Dependencies .NET 8, Windows App SDK 1.5
Submodules Richasy/semantic-kernel

Cloning the Repository

Run the following command to clone the main repository and pull the submodules simultaneously.

git clone --recurse-submodules https://github.com/Richasy/Rodel.Agent.git

If you have already cloned the repository but forgot to initialize and update the submodules, you can run the following command in the repository directory to complete this step:

git submodule update --init --recursive

After pulling, please check the branch of the submodule Richasy/semantic-kernel to ensure it is the dev branch.

Building

UI

The desktop UI project is located in the src/Desktop/RodelAgent.UI directory. You can set RodelAgent.UI as the startup project and switch the environment to x64 for building.

Console

If you are developing specific functional modules, you can find the main console programs for these modules in the src/Console directory, where you can quickly verify functionalities.

For different functional console programs, you need to manually create a config.json file in the project directory and fill in your service configuration.

For example, for the chat program, you need to create a config.json file matching the ChatClientConfiguration and place it in the RodelChat.Console directory.

The specific service configuration is optional, and you can fill in only the services you want to test. For example:

{
    "openai": {
        "key": "sk-xxxxxxxxxxxxxxxxxxxxxxx"
    }
}

The console will automatically load the local config.json but will not upload it via git to ensure that the key is not leaked.

🔗 Links