# sdcb-chats
**Repository Path**: mirrors/sdcb-chats
## Basic Information
- **Project Name**: sdcb-chats
- **Description**: 重磅推出 Sdcb Chats:一个全新的开源大语言模型前端 在当前大语言模型(LLM)蓬勃发展的时代,各类 LLM 前端层出不穷
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://www.oschina.net/p/sdcb-chats
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2024-12-16
- **Last Updated**: 2025-12-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Sdcb Chats [](https://hub.docker.com/r/sdcb/chats) [](https://qm.qq.com/q/AM8tY9cAsS) [](LICENSE) [](https://deepwiki.com/sdcb/chats) [](./doc/zh-CN/release-notes/README.md)
**[English](README_EN.md)** | **简体中文**
Sdcb Chats 是一个强大且灵活的大语言模型前端,支持 21+ 主流 AI 模型服务商。无论您是希望统一管理多种模型接口,还是需要一个简单易用的部署方案,Sdcb Chats 都能满足您的需求。
## ✨ 为什么选择 Sdcb Chats
- 🚀 **一站式管理**:统一管理 21+ 主流 AI 模型服务商
- 🎯 **开箱即用**:支持 Docker 一键部署,也提供 8 种平台的原生可执行文件
- 💾 **灵活存储**:支持 SQLite/SQL Server/PostgreSQL,支持本地文件/S3/OSS/Azure Blob 等多种存储
- 🔐 **企业级安全**:完善的用户权限管理和账户余额控制,支持 Keycloak SSO
- 🌐 **标准协议**:支持 OpenAI/Anthropic 等主流 API 协议,包括对话、图像生成等功能,兼容 Claude Code
- 🎨 **现代界面**:美观易用的前端界面,支持视觉模型交互
## 功能特性
- **多模型支持**:动态管理多种大语言模型接口
- **视觉模型支持**:集成视觉模型,增强用户交互体验
- **用户权限管理**:提供精细的用户权限设置,确保安全性
- **账户余额管理**:实时跟踪和管理用户账户余额
- **模型管理**:轻松添加、删除和配置模型
- **API 网关功能**:基于 OpenAI 协议透明地转发用户的聊天请求
- **简单部署**:支持 4 种操作系统/平台架构的 Docker 镜像,此外提供 8 种不同操作系统的可执行文件,方便不使用 Docker 的用户一键部署
- **多数据库支持**:兼容 SQLite、SQL Server 和 PostgreSQL 数据库,除了数据库外,不依赖其他组件
- **多文件服务支持**:兼容本地文件、AWS S3、Minio、Aliyun OSS、Azure Blob Storage 等文件服务,可运行时配置修改
- **多种登录方式支持**:支持 Keycloak SSO,支持手机短信验证码登录
## 快速开始
### 系统要求
- **Docker 部署**:任何支持 Docker 的系统(Linux/Windows/macOS)
- **可执行文件部署**:
- Windows: Windows 10 或更高版本
- Linux: glibc 2.17+ 或 musl libc
- macOS: macOS 10.15 或更高版本
- **数据库**:SQLite(默认,无需安装)/ SQL Server / PostgreSQL
### Docker 部署
对于大多数用户而言,Docker 提供了最简单快速的部署方式。
#### SQLite 快速启动
```bash
mkdir -p ./AppData && chmod 755 ./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
```
> **说明**:SQLite 需要映射 `./AppData` 文件夹用于存储数据库文件和上传文件(如图床服务使用本地文件提供商时)。
#### PostgreSQL 快速启动
```bash
docker run --restart unless-stopped --name sdcb-chats -e DBType=postgresql -e ConnectionStrings__ChatsDB="Host=host.docker.internal;Port=5432;Username=postgres;Password=mysecretpassword;Database=postgres" -p 8080:8080 sdcb/chats:latest
```
> **说明**:PostgreSQL 不依赖 `./AppData` 文件夹存储数据库,但如果使用本地文件提供商作为图床服务,仍需映射该文件夹:`-v ./AppData:/app/AppData`(用户可在管理界面配置其他文件存储方式)。
#### 配置说明
- **数据库存储位置**:默认情况下,Chats 的 SQLite 数据库会在 `./AppData` 目录下创建。为了避免每次重新启动 Docker 容器时数据库被意外清空,我们首先创建一个 `AppData` 文件夹并将其权限设置为可写(`chmod 755`,安全起见不建议使用 777)
- **端口映射**:该命令将容器的 8080 端口映射到主机的 8080 端口,使得您可以通过 `http://localhost:8080` 访问应用
- **数据库类型配置**:`DBType` 环境变量指定数据库类型,默认值为 `sqlite`。除了 SQLite,该应用还支持使用 `mssql`(或 `sqlserver`)和 `postgresql`(或 `pgsql`)作为数据库选项
- **连接字符串**:`ConnectionStrings__ChatsDB` 的默认值为 `Data Source=./AppData/chats.db`,它是连接数据库的 ADO.NET 连接字符串
- **非首次运行**:如果您的 `AppData` 目录已经创建并且 Docker 用户对其有写入权限,可以简化启动命令如下:
```bash
docker run --restart unless-stopped --name sdcb-chats -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest
```
- **数据库初始化**:容器启动后,如果数据库文件不存在,将自动创建并插入初始数据
- 初始管理员用户名:`chats`
- 初始默认密码:`RESET!!!`
- ⚠️ **重要**:请在首次登录后立即前往左下角的用户管理界面修改密码,以确保系统安全
通过以上步骤,您将能顺利使用 Docker 部署和运行应用。如果在部署过程中遇到任何问题,请通过 [Issues](https://github.com/sdcb/chats/issues) 或 [QQ 群](https://qm.qq.com/q/AM8tY9cAsS) 联系我们。
#### Docker 镜像列表
Chats 提供了以下几个镜像:
| 描述 | Docker 镜像 |
| ----------------------------- | ------------------------------------------------------- |
| Latest(推荐) | `docker.io/sdcb/chats:latest` |
| 指定完整版本 | `docker.io/sdcb/chats:{version}` |
| 指定主版本 | `docker.io/sdcb/chats:{major}` |
| 指定次版本 | `docker.io/sdcb/chats:{major.minor}` |
| Linux x64 | `docker.io/sdcb/chats:{version}-linux-x64` |
| Linux ARM64 | `docker.io/sdcb/chats:{version}-linux-arm64` |
| Windows Nano Server LTSC 2022 | `docker.io/sdcb/chats:{version}-nanoserver-ltsc2022` |
| Windows Nano Server LTSC 2025 | `docker.io/sdcb/chats:{version}-nanoserver-ltsc2025` |
**版本说明:**
- **版本号格式**:采用语义化版本号,如 `1.8.1`
- `{major}`: 主版本号,如 `1`
- `{major.minor}`: 主版本号.次版本号,如 `1.8`
- `{version}`: 完整版本号,如 `1.8.1`
- **多平台支持**:`latest` 和版本号标签(如 `1.8.1`、`1.8`、`1`)都是多平台镜像,包含:
- Linux x64
- Linux ARM64
- Windows Nano Server LTSC 2022(适用于 Windows Server 2022)
- Windows Nano Server LTSC 2025(适用于 Windows Server 2025)
- **自动选择平台**:使用 `docker pull` 时,无需指定具体的操作系统版本,Docker 会通过 manifest 自动选择适合您系统的正确版本
**示例:**
```bash
# 使用最新版本(推荐)
docker pull sdcb/chats:latest
# 使用指定版本
docker pull sdcb/chats:1.8.1
# 使用主版本号(自动获取 1.x.x 的最新版本)
docker pull sdcb/chats:1
# 使用次版本号(自动获取 1.8.x 的最新版本)
docker pull sdcb/chats:1.8
# 指定特定平台(通常不需要)
docker pull sdcb/chats:1.8.1-linux-x64
```
### 可执行文件部署指南
对于不便使用 Docker 部署的环境,Chats 提供了 8 种操作系统或架构的原生可执行文件,无需安装任何运行时环境即可直接运行。
#### 下载地址
| 平台 | GitHub 下载(所有版本) | 国内镜像下载(最新稳定版) |
| ----------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| Windows 64位 | [chats-win-x64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-win-x64.zip) | [chats-win-x64.zip](https://chats.sdcb.pub/release/latest/chats-win-x64.zip) |
| Linux 64位 | [chats-linux-x64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-linux-x64.zip) | [chats-linux-x64.zip](https://chats.sdcb.pub/release/latest/chats-linux-x64.zip) |
| Linux ARM64 | [chats-linux-arm64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-linux-arm64.zip) | [chats-linux-arm64.zip](https://chats.sdcb.pub/release/latest/chats-linux-arm64.zip) |
| Linux musl x64 | [chats-linux-musl-x64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-linux-musl-x64.zip) | [chats-linux-musl-x64.zip](https://chats.sdcb.pub/release/latest/chats-linux-musl-x64.zip) |
| Linux musl ARM64 | [chats-linux-musl-arm64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-linux-musl-arm64.zip) | [chats-linux-musl-arm64.zip](https://chats.sdcb.pub/release/latest/chats-linux-musl-arm64.zip) |
| macOS ARM64 | [chats-osx-arm64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-osx-arm64.zip) | [chats-osx-arm64.zip](https://chats.sdcb.pub/release/latest/chats-osx-arm64.zip) |
| macOS x64 | [chats-osx-x64.zip](https://github.com/sdcb/chats/releases/latest/download/chats-osx-x64.zip) | [chats-osx-x64.zip](https://chats.sdcb.pub/release/latest/chats-osx-x64.zip) |
| 通用包(需要 .NET 10) | [chats.zip](https://github.com/sdcb/chats/releases/latest/download/chats.zip) | [chats.zip](https://chats.sdcb.pub/release/latest/chats.zip) |
| 纯前端文件 | [chats-fe.zip](https://github.com/sdcb/chats/releases/latest/download/chats-fe.zip) | [chats-fe.zip](https://chats.sdcb.pub/release/latest/chats-fe.zip) |
> **💡 下载说明**:
> - **国内镜像下载**(基于 Cloudflare R2):推荐国内用户使用,速度更快
> - **最新开发版下载**:如需体验最新功能,开发版提供以下文件
> - 通用包:[chats.zip](https://chats.sdcb.pub/latest/chats.zip)(需要 .NET 10)
> - 前端文件:[chats-fe.zip](https://chats.sdcb.pub/latest/chats-fe.zip)
> - ⚠️ 注意:开发版会从 `dev`/`feature` 分支自动更新,可能不稳定
> - 除通用包外,所有平台都提供 AOT 编译的原生可执行文件,启动速度快,内存占用低
#### 版本说明
- **最新版本**:访问 [Releases](https://github.com/sdcb/chats/releases) 页面查看最新版本和更新日志
- **替代下载**:在 GitHub 访问不便时,可使用以下格式的国内镜像地址:
```
https://chats.sdcb.pub/release/latest/{artifact-id}.zip
```
例如:`https://chats.sdcb.pub/release/latest/chats-win-x64.zip`
#### 运行说明
解压AOT可执行文件后的目录结构如下:
```
C:\Users\ZhouJie\Downloads\chats-win-x64>dir
2024/12/06 16:35