chats

chats

Flexible frontend for managing and deploying language models.

Stars: 172

Visit
 screenshot

Sdcb Chats is a powerful and flexible frontend for large language models, supporting multiple functions and platforms. Whether you want to manage multiple model interfaces or need a simple deployment process, Sdcb Chats can meet your needs. It supports dynamic management of multiple large language model interfaces, integrates visual models to enhance user interaction experience, provides fine-grained user permission settings for security, real-time tracking and management of user account balances, easy addition, deletion, and configuration of models, transparently forwards user chat requests based on the OpenAI protocol, supports multiple databases including SQLite, SQL Server, and PostgreSQL, compatible with various file services such as local files, AWS S3, Minio, Aliyun OSS, Azure Blob Storage, and supports multiple login methods including Keycloak SSO and phone SMS verification.

README:

English | 简体中文 docker pulls QQ

Sdcb Chats 是一个强大且灵活的大语言模型前端,支持多种功能和平台。无论您是希望管理多种模型接口,还是需要一个简单的部署流程,Sdcb Chats 都能满足您的需求。

image

功能特性

  • 多模型支持:动态管理多种大语言模型接口。
  • 视觉模型支持:集成视觉模型,增强用户交互体验。
  • 用户权限管理:提供精细的用户权限设置,确保安全性。
  • 账户余额管理:实时跟踪和管理用户账户余额。
  • 模型管理:轻松添加、删除和配置模型。
  • API 网关功能:基于 OpenAI 协议透明地转发用户的聊天请求。
  • 简单部署:支持 4 种操作系统/平台架构的 Docker 镜像。此外,提供 8 种不同操作系统的可执行文件,方便不使用 Docker 的用户一键部署。
  • 多数据库支持: 兼容 SQLite、SQL Server 和 PostgreSQL 数据库,除了数据库外,不依赖其他组件。
  • 多文件服务支持: 兼容本地文件,AWS S3、Minio、Aliyun OSS、Azure Blob Storage等文件服务,可运行时配置修改。
  • 多种登录方式支持: 支持Keycloak SSO,支持手机短信验证码登录。

快速开始

开发文档

Chats使用C#/TypeScript开发,有关如何编译Chats,请查看 开发文档链接

Docker 部署

对于大多数用户而言,Docker 提供了最简单快速的部署方式。以下是一步到位的部署命令:

mkdir ./AppData && chmod 777 ./AppData && docker run --restart unless-stopped --name sdcb-chats -e DBType=sqlite -e ConnectionStrings__ChatsDB="Data Source=./AppData/chats.db" -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest

说明:

  • 数据库存储位置:默认情况下,Chats 的 SQLite 数据库会在 ./AppData 目录下创建。为了避免每次重新启动 Docker 容器时数据库被意外清空,我们首先创建一个 AppData 文件夹并将其权限设置为可写(chmod 777)。

  • 端口映射:该命令将容器的 8080 端口映射到主机的 8080 端口,使得您可以通过 http://localhost:8080 访问应用。

  • 数据库类型配置DBType 环境变量指定数据库类型,默认值为 sqlite。除了 SQLite,该应用还支持使用 mssql(或sqlserver)和 postgresql(或pgsql)作为数据库选项。

  • 连接字符串ConnectionStrings__ChatsDB 的默认值为 Data Source=./AppData/chats.db,它是连接数据库的 ADO.NET 连接字符串。

  • 非首次运行:如果您的 AppData 目录已经创建并且 Docker 用户对其有写入权限,可以简化启动命令如下:

    docker run --restart unless-stopped --name sdcb-chats -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest
  • 数据库初始化:容器启动后,如果数据库文件不存在,将自动创建并插入初始数据。初始管理员用户名为 chats,默认密码为 RESET!!!。强烈建议您在首次登录后立即前往左下角的用户管理界面,设置一个新密码以确保安全。

通过以上步骤,您将能顺利使用 Docker 部署和运行应用。如果在部署过程中遇到任何问题,可以联系我们。

Chats提供了以下几个镜像:

描述 Docker 镜像
Latest docker.io/sdcb/chats:latest
r{version} docker.io/sdcb/chats:r{version}
Linux x64 docker.io/sdcb/chats:r{version}-linux-x64
Linux ARM64 docker.io/sdcb/chats:r{version}-linux-arm64
Windows Nano Server 1809 docker.io/sdcb/chats:r{version}-nanoserver-1809
Windows Nano Server LTSC 2022 docker.io/sdcb/chats:r{version}-nanoserver-ltsc2022

说明:

  • Latestr{version} 镜像中已经包含了以下四个操作系统版本的支持:
    • Linux x64
    • Linux ARM64
    • Windows Nano Server 1809(适用于 Windows Server 2019)
    • Windows Nano Server LTSC 2022(适用于 Windows Server 2022)

因此,用户在使用 docker pull 时,无需指定具体的操作系统版本,Docker 会自动选择适合您系统的正确版本。这一功能是通过 Docker 的 manifest 创建实现的,确保了用户能够轻松获取与其环境兼容的镜像。

请注意,r{version} 中的 {version} 表示具体的版本号,例如 r141(在编写文档时的最新版本号)。

可执行文件部署指南

对于不便使用 Docker 部署的环境,Chats 提供了 8 种操作系统或架构的直接部署选项。可从以下链接获取相应的编译包:

平台 Github下载链接 国内下载链接
Windows 64位 chats-win-x64.zip chats-win-x64.7z
Linux 64位 chats-linux-x64.zip chats-linux-x64.7z
Linux ARM64 chats-linux-arm64.zip chats-linux-arm64.7z
Linux musl x64 chats-linux-musl-x64.zip chats-linux-musl-x64.7z
Linux musl ARM64 chats-linux-musl-arm64.zip chats-linux-musl-arm64.7z
macOS ARM64 chats-osx-arm64.zip chats-osx-arm64.7z
macOS x64 chats-osx-x64.zip chats-osx-x64.7z
依赖.NET的通用包 chats.zip chats.7z
纯前端文件 chats-fe.zip chats-fe.7z

版本和下载说明

  1. 指定版本下载地址

    • 若需下载特定版本的 Chats,将链接中的release/latest/download替换为releases/download/r-{version}。例如,版本 141 的 Linux ARM64 文件链接为:
      https://github.com/sdcb/chats/releases/download/r-141/chats-linux-arm64.zip
      
  2. 替代下载基础地址

    • 在访问不便时,可使用替代下载地址,将{version}调整为具体版本号或使用 latest
      https://io.starworks.cc:88/chats/r{version}/{artifact-id}.zip
      
    • 例如,通过替代下载直接获取最新的 Windows 64-bit 版:
      https://io.starworks.cc:88/chats/latest/chats-win-x64.7z
      

执行文件目录结构和运行说明

解压AOT可执行文件后的目录结构如下:

C:\Users\ZhouJie\Downloads\chats-win-x64>dir
 2024/12/06  16:35    <DIR>          .
 2024/12/06  16:35    <DIR>          ..
 2024/12/06  16:35               119 appsettings.Development.json
 2024/12/06  16:35               417 appsettings.json
 2024/12/06  16:35           367,144 aspnetcorev2_inprocess.dll
 2024/12/06  16:35        84,012,075 Chats.BE.exe
 2024/12/06  16:35           200,296 Chats.BE.pdb
 2024/12/06  16:35         1,759,232 e_sqlite3.dll
 2024/12/06  16:35           504,872 Microsoft.Data.SqlClient.SNI.dll
 2024/12/06  16:35               465 web.config
 2024/12/06  16:35    <DIR>          wwwroot
  • 启动应用:运行 Chats.BE.exe 即可启动 Chats 应用,该文件名虽指“后端”,但实际同时包含前端和后端组件。
  • 数据库配置:默认情况下,应用将在当前目录创建名为 AppData 的目录,并以 SQLite 作为数据库。命令行参数可用于指定不同的数据库类型:
    .\Chats.BE.exe --DBType=mssql --ConnectionStrings:ChatsDB="Data Source=(localdb)\mssqllocaldb; Initial Catalog=ChatsDB; Integrated Security=True"
    • 参数 DBType:可选 sqlitemssqlpgsql
    • 参数 --ConnectionStrings:ChatsDB:用于指定数据库的ADO.NET连接字符串。

特殊说明

  • 对于下载的 chats.zip,将需要.NET SDK支持。安装.NET运行时后,使用 dotnet Chats.BE.dll 启动程序。

支持的大模型服务

  • Azure OpenAI
  • 腾讯混元(HunYuan)
  • 零一万物(01.ai)
  • 月之暗面(Moonshot)
  • OpenAI(或兼容OpenAI协议的API,如ollama)
  • 文心千帆(Wenxin Qianfan)
  • 阿里灵积大模型平台(Aliyun DashScope)
  • 讯飞星火(Xunfei Sparkdesk)
  • DeepSeek
  • x.AI
  • Github Models

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for chats

Similar Open Source Tools

For similar tasks

For similar jobs