当前位置: 首页 > news >正文

WebChat——一个开源的聊天应用

Web Chat 是开源的聊天系统,支持一键免费部署私人Chat网页的应用程序。
开源地址:https://github.com/loks666/webchat
首页
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

目录树

TOC
  • ??? 开始使用 & 交流
  • ?? 开箱即用
    • [这里是代码001] 使用 Docker 部署
    • [这里是代码002] 使用 Docker-compose 部署
    • [这里是代码003] 使用 Jar包 本地部署
  • ?? 本地开发
  • ?? 参与贡献
  • ?? 更多工具

??? 开始使用 & 交流

WebChat目前的线上版本: https://webchat.superxiang.com
有需求或者问题,欢迎提交 [issues][issues-link]

[![][chat-shield-badge]][chat-link]

访问WebChat,快速体验

[![][discord-shield-badge]][discord-link]

加入我们的 Discord 社区!这是你可以与开发者和其他 WebChat 热衷用户交流的地方

[![][qq-shield-badge]][qq-link]

加入我们的 QQ 群!欢迎开发讨论

收藏项目,你将从 GitHub 上无延迟地接收所有发布通知~

?? 开箱即用

有关 Docker
部署的详细说明,详见 ?? 使用 Docker 部署

WebChat 提供了 [Docker 镜像][docker-release-link],这使你可以在几分钟内构建自己的聊天服务,无需任何基础知识。

A 使用 Docker 部署

我们提供了 Docker 镜像,供你在自己的私有设备上部署 WebChat 服务。使用以下命令即可使用一键启动 WebChat 服务:

docker run -d --name webchat -p 8101:8101 general9527/webchat:customer

注意:请将你的数据库root密码和redis修改为loks666,程序才能正确使用,如果你的mysql和redis都是使用容器启动的,那么需要使用–network选项来指定网络

docker run -d --name webchat --network ‘你的网络名’ -p 8101:8101 general9527/webchat:customer
B 使用 Docker-compose 部署

[![][docker-release-shield]][docker-release-link]
[![][docker-size-shield]][docker-size-link]
[![][docker-pulls-shield]][docker-pulls-link]

本项目目前有三个tag,分别为latest,customer和v1.0

  1. latest:打包方式为jar包打入,所以不支持修改配置:mysql和redis的密码都是loks666,mysql用户是root

  2. customer:打包方式为dockerfile打包,支持修改配置:可以修改mysql和redis的配置需添加下面的配置

    volumes:
    - ./webchat/application.yml:/src/main/resources/application.yml
    - ./webchat/application-dev.yml:/src/main/resources/application-dev.yml

  3. v1.0:为远古版本,可以忽略


  • 使用项目根目录下的docker-compose 一键部署(推荐)
    注意:一键部署包含redis和mysql服务,请检查部署前是否有这两个服务

    cd webchat
    docker-compose up -d
    
  • webchat 独立部署(已有mysql和redis的情况)

    version: '3.8'
    volumes:mysql:redis:services:webchat:image: general9527/webchat:customercontainer_name: webchatports:- "8101:8101"volumes:- ./webchat/application.yml:/src/main/resources/application.yml- ./webchat/application-dev.yml:/src/main/resources/application-dev.ymlnetworks:- chat_networknetworks:chat_network:name: chat_network
    

部署前请将application-dev.yml中redis和mysql的配置改为自己的配置

C 使用 Jar包 本地部署

建议使用Idea插件编译打包,如果使用命令,需配置maven环境到系统环境变量中

    cd webchatmvn clean packagejava -jar webchat.jar

本地开发

使用以下命令进行本地开发:

$ git clone https://github.com/loks666/webchat.git
$ cd webchat
$ mvn claen install
$ java -jar webchat.jar

?? 参与贡献

我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub [Issues][github-issues-link]
和 [Projects][github-project-link],大展身手,向我们展示你的奇思妙想。

[![][pr-welcome-shield]][pr-welcome-link]


?? 更多工具

  • [?? Guide][guide] : 网站导航,首页包括作者的所有作品与服务
  • [?? Fly AI][Fly AI] : 一个无需魔法即可使用的AI网站,支持ChatGPT/LLM模型的应用程序。以及midjourney绘图等功能
  • [?? Fly API][flyapi] : 一个Open AI API KEY的分发网站,可以分享自己的key给他人使用

?? License

[![][fossa-license-shield]][fossa-license-link]

Copyright 2023 [WebChat][profile-link].

This project is MIT licensed

相关文章:

WebChat——一个开源的聊天应用

Web Chat 是开源的聊天系统,支持一键免费部署私人Chat网页的应用程序。 开源地址:https://github.com/loks666/webchat 目录树 TOC ??? 开始使用 & 交流?? 开箱即用 [这里是代码001] 使用 Docker 部署[这里是代码002] 使用 Docker-compose …...

易语言 OCR 文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…...

12.19问答解析

概述 某中小型企业有四个部门,分别是市场部、行政部、研发部和工程部,请合理规划IP地址和VLAN,实现企业内部能够互联互通,同时要求市场部、行政部和工程部能够访问外网环境(要求使用OSPF协议),研发部不能访问外网环境…...

重温设计模式--设计模式七大原则

文章目录 1、开闭原则(Open - Closed Principle,OCP)定义:示例:好处: 2、里氏替换原则(Liskov Substitution Principle,LSP)定义:示例:好处&#…...

【Python-中级】Python中的线程池:ThreadPoolExecutor

Python中的线程池:from concurrent.futures import ThreadPoolExecutor 在Python中,实现多线程编程的方法有很多,而ThreadPoolExecutor 是一个简单且高效的线程池工具。它提供了高层次的接口,用于并发地运行任务,同时隐藏了许多复杂的底层细节,非常适合日常的多线程任务…...

【终端工具】FinalShell v4.5.12 官方版

1.下载地址 【终端工具】FinalShell v4.5.12 官方版 2.简介 FinalShell是一款免费的跨平台远程管理工具,专为开发者和运维人员设计。它支持通过 SSH、SFTP 等方式连接到 Linux 和 Windows 服务器,提供类似于终端的操作界面。除了常规的远程登录功能&a…...

Windows11 家庭版安装配置 Docker

1. 安装WSL WSL 是什么: WSL 是一个在 Windows 上运行 Linux 环境的轻量级工具,它可以让用户在 Windows 系统中运行 Linux 工具和应用程序。Docker 为什么需要 WSL: Docker 依赖 Linux 内核功能,WSL 2 提供了一个高性能、轻量级的…...

基于SSM(Spring + Spring MVC + MyBatis)框架构建一个图书馆仓储管理系统

基于SSM(Spring Spring MVC MyBatis)框架构建一个图书馆仓储管理系统是一个涉及多个功能模块的项目,包括但不限于图书管理、读者管理、借阅管理、归还管理等。 1. 环境准备 确保你已经安装了以下工具和环境: Java Developmen…...

《智驱新材合成:AI 点亮创新路径之光》

在科技浪潮汹涌澎湃的当下,新材料的探寻成为众多领域突破发展瓶颈的关键钥匙。而人工智能(AI)作为前沿科技的璀璨星辰,正以其独特的创新光芒照亮新材料合成路径的未知之境,引发了科研界与产业界的广泛关注与热议&#…...

【C++ 基础】命名空间

命名空间 命名空间 头文件:内有许多库函数(相当于书柜),对库函数进行管理 命名空间:内有许多函数(相当于书柜的一个分区),对函数进行管理 语法格式 namespace 命名空间标识符{...命名空间成员}//花括号…...

120页PPT讲解ChatGPT如何与财务数字化转型的业财融合

此方案主要聚焦于利用ChatGPT技术与数字化转型推动业财融合,实现企业的价值最大化。首先,通过ChatGPT技术,企业可以构建生成式对话机器人,自动回答常见问题,减轻人工客服的压力,提高响应速度。这种机器人具…...

新闻网站的安全性:保护信息与用户隐私

2.1vue技术 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项…...

Flutter动画学习二

如何在 Flutter 中使用自定义动画和剪裁(clipping)实现一个简单的动画效果。 前置知识点学习 AnimationController AnimationController 是 Flutter 动画框架中的一个核心类,用于控制动画的生命周期和状态。它提供了一种灵活的方式来定义动…...

flutter教程01 flutter项目的目录结构

Flutter开发基础 Dart语言: Flutter使用Dart语言进行开发。你需要熟悉Dart的基本语法和特性,如变量、数据类型、函数、类、继承、接口等。 Flutter组件: Flutter提供了丰富的UI组件库,你可以使用这些组件来构建你的用户界面。了…...

微软在AI时代的战略布局和挑战

微软的CEO萨提亚纳德拉(Satya Nadella)在与投资人比尔格里(Bill Gurley)和布拉德格斯特纳(Brad Gerstner)的一场深度对话中,详细回顾了微软在AI时代的战略布局与所面临的挑战。这场对话不仅总结…...

QT:程序异常结束原因

在确定DLL库没有问题的情况下,大概率是因为以下两点问题导致程序异常结束。 1、程序中存在对象只声明,未创建就使用的情况。程序中只声明了一个对象QObject * object,未进行object new QObject就直接使用object。这样,程序编译构…...

Linux搭建TRELLIS详细流程

TRELLIS是最新的3D生成模型,官网地址如下: https://github.com/microsoft/TRELLIS 下面是详细的搭建流程。 由于是在Ubuntu系统上搭建的,下面操作仅限Ubuntu系统查看。 不过Windows系统大同小异,而且青龙大佬已经做了相关整理。 Windows系统的可以去看青龙大佬的b站视…...

红米Note 9 Pro5G刷小米官方系统

前言 刷机有2种方式:线刷 和 卡刷。 线刷 线刷:需要用电脑刷机工具,例如:XiaoMiFlash.exe,通过电脑和数据线对设备进行刷机。 适用场景: 系统损坏无法开机。恢复官方出厂固件。刷机失败导致软砖、硬砖的…...

仓颉编程语言功能剖析:从设计理念到实际应用

引言 随着编程语言的发展,越来越多新兴语言试图解决传统编程语言的痛点,其中华为推出的仓颉编程语言(以下简称"仓颉")以其创新的理念和功能备受瞩目。仓颉以高效、易用、智能为核心设计目标,专注于提升开发…...

JavaWeb(一) | 基本概念(web服务器、Tomcat、HTTP、Maven)、Servlet 简介

1. 基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com静态 web html,css提供给所有人看的数据始终不会发生变化! 动态 web 淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化&#xf…...

五十一:HPACK如何减少HTTP头部的大小?

在现代的Web通信中,HTTP是最常用的协议。然而,随着网络应用程序的复杂化,HTTP头部的大小迅速增加,尤其是在HTTP/2中,由于其多路复用特性,多个请求和响应共享同一个连接,头部大小对性能的影响变得…...

windows11家庭版安装docker无法识别基于wsl2的Ubuntu

软件环境:windows11家庭版安装WSL2,Ubuntu22.04,docker4.34.2 问题描述:安装docker时,设置阶段无法识别Ubuntu22.04. 原因:windows11家庭版本默认没有Hyper-V 解决方案:将下述代码保存在新建记事本中&am…...

利用Spring Cloud Gateway Predicate优化微服务路由策略

利用Spring Cloud Gateway Predicate优化微服务路由策略 一、Predicate简介 Spring Cloud Gateway 是 Spring 生态系统中用于构建 API 网关的框架,它基于 Project Reactor 和 Netty 构建,旨在提供一种高效且灵活的方式来处理 HTTP 请求和响应。 Spring …...

谷歌浏览器的网络安全检测工具介绍

作为全球最受欢迎的浏览器之一,谷歌浏览器不仅提供了快速、便捷的浏览体验,还内置了一系列强大的网络安全检测工具,帮助用户识别潜在的网络威胁,保护个人隐私和数据安全。本文将详细介绍谷歌浏览器中的几项关键网络安全检测功能&a…...

Debian系统宝塔面板安装LiteSpeed Memcached(LSMCD)

参考链接 1. 官网指引: https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:lsmcd:installation 2. 安装OpenLiteSpeed官方LSMCD对象缓存替换Memcached详细图文教程 - 搬主题 实操记录: 首先LSMCD 默认的端口是11211,…...

termux下ubuntu换arm清华源

原官方源 deb http://ports.ubuntu.com/ubuntu-ports jammy main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted un…...

计算机网络——练习题

一. 单选题(共27题,67.5分) 1. (单选题)计算机网络的最突出的优点是____。 A. 运算速度快 B. 运算精度高 C. 存储容量大 D. 资源共享 我的答案: D:资源共享;正确答案: D:资源共享; 2.5分 答案解析: 2. (单选题)TCP/IP协…...

单机游戏《野狗子》游戏运行时提示dbghelp.dll缺失是什么原因?dbghelp.dll缺失要怎么解决?

《野狗子》游戏运行时提示dbghelp.dll缺失:原因与解决方案 在畅游《野狗子》这款引人入胜的游戏世界时,突然遭遇“dbghelp.dll缺失”的错误提示,无疑会给玩家的探险之旅蒙上一层阴影。作为一名深耕软件开发领域的从业者,我深知此…...

飞搭系列 | 条件动态控制,打造个性化数字体验

前言 汉得飞搭aPaaS低代码平台(FEIDA,以下简称“飞搭”)是基于低代码理念打造的融合 aPaaS 平台,助力企业快速搭建业务应用。作为 HZERO 生态的重要组成部分,致力于充分融合 HZERO 的各平台能力,提供企业用…...

ssr实现方案

目录 序言 一、流程 二、前端要做的事情 三、节点介绍 四、总结 序言 本文不是详细的实现过程,是让你最快最直接的理解ssr的真正实现方法,有前端经验的同学,能够很好的理解过程,细节根据具体项目实现 一、前端要做的事情 1.…...

STM32高级物联网通信之以太网通讯

目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应用场景 (1)互联网 (2)以太网 以太网的层次 1)物理层 2)数据链路层 OSI 7层模型 TCPIP 4层模型 一些常见…...

以太网帧、IP数据报图解

注:本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式(包含相关例题讲解) jueyuanfengsheng2023-08-07 11:49 一、基础知识 UDP 段、IP 数据包,以太网帧图示 通信过程中&#xff…...

外包干了两年,技术退步明显...

先说一下自己的情况,普通本科,曾在外包干了2年多的功能测试,再加上大环境不好,那时我整个人心惊胆战的,怕自己卷铺盖走人了,所以当时我感觉自己不能够在这样蹉跎下去了,长时间呆在一个舒适的环境…...

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿

前言 在当今科技迅猛发展的时代,人工智能(AI)技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会,CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英,共同探讨AI技术的最新进展、挑…...

vue中proxy代理配置(测试一)

接口地址:http://jsonplaceholder.typicode.com/posts 1、配置一(代理没起作用) (1)设置baseURL为http://jsonplaceholder.typicode.com (2)proxy为 ‘/api’:’ ’ (3&a…...

通用人工智能的关键:统一语言描述万物

当今世界,人工智能(AI)正以前所未有的速度推进着人类社会的进步。从最初的简单计算到如今能够执行复杂任务的智能系统,AI 的每一次飞跃都伴随着理解世界能力的显著提升。然而,要实现真正的通用人工智能——即能够像人类…...

使用QML实现播放器进度条效果

使用QML实现播放进度效果 QML Slider介绍 直接上DEMO如下: Slider {width: 300;height: 20;orientation: Qt.Vertical; //决定slider是横还是竖 默认是HorizontalstepSize: 0.1;value: 0.2;tickmarksEnabled: true; //显示刻度}效果图如下 那么我先改变滑块跟滚轮…...

TowardsDataScience 博客中文翻译 2018~2024(一百二十三)

TowardsDataScience 博客中文翻译 2018~2024(一百二十三) 引言 从 2018 年到 2024 年,数据科学的进展超越了许多技术领域的速度。Towards Data Science 博客依然是这个领域的关键平台,记录了从基础工具到前沿技术的多方面发展。…...

14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误“

出现这个错误是因为使用的 CentOS 7 仓库已经被归档,当前的镜像地址无法找到所需的文件。CentOS 7 的官方支持已经结束,部分仓库已被移至归档库。这导致了你的 yum 命令无法找到所需的元数据文件。CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止…...

将 ASP.NET Core 应用程序的日志保存到 D 盘的文件中 (如 Serilog)

将 ASP.NET Core 应用程序的日志保存到 D 盘的文件中,可以使用第三方日志库(如 Serilog)来实现。Serilog 是一个流行的日志库,支持将日志输出到文件、控制台、数据库等多种目标。 以下是实现步骤: 1. 安装 Serilog 相…...

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道 在现代后端开发中,表单验证是保证数据完整性和服务稳定性的核心环节。如何优雅、高效地实现表单验证,同时提供人性化的错误提示,是每位开发者的必修课。在本文中…...

相机主要调试参数

解析度测试 - 解释如何衡量摄像头捕捉细节的能力,确保图像清晰。锐度评估 - 教你如何判断图像边缘的清晰程度,以优化视觉效果。色散与色彩还原 - 分析色彩准确性,确保所见即所得的色彩一致性。白平衡校正 - 确保在各种光源下拍摄的照片颜色自…...

JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码

JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码:引领智慧养老新时代 在当今老龄化社会日益严重的背景下,智慧养老已成为解决养老问题的重要途径。我们推出的JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码,正是基于这一需求而研发…...

一个简单封装的的nodejs缓存对象

我们在日常编码中,经常会用到缓存,而一个有效的缓存管理,也是大家必不可少的工具。而nodejs没有内置专用的缓存对象,并且由于js的作用域链的原因,很多变量使用起来容易出错,如果用一个通用的缓存管理起来&a…...

【ELK】filebeat采集数据输出到kafka指定topic

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 背景filebeat主体配置filebeat.inputs部分filebeat.output部分 filebeat完整配置 背景 今天收到需求,生产环境中通需要优化filebeat的输出,…...

Qt 6 QML Settings location 不创建指定路径文件

在 Qt QML 项目中可以使用Qt QSettings QML 版 Settings 方便数据持久化,具体使用可以参考Qt 文档,这里主要简单记录一下从Qt 5 升级到 Qt 6 后,没有创建指定的文件。在Qt 5中是使用 fileName 属性来指定文件路径,如下&#xff0…...

LabVIEW如何学习FPGA开发

FPGA(现场可编程门阵列)开发因其高性能、低延迟的特点,在实时控制和高速数据处理领域具有重要地位。LabVIEW FPGA模块为开发者提供了一个图形化编程平台,降低了FPGA开发的门槛。本篇文章将详细介绍LabVIEW FPGA开发的学习路径&…...

idea设置控制台日志输出自动换行

文章目录 1. 原因2. 方法一:3. 方法二: 1. 原因 你是否碰到ideal控制台输入日志是一行的效果,那是因为带了soft wrap。 2. 方法一: 最新版的IDEA设置控制台自动换行位置如下: Setting->Editor->General->C…...

帧缓存的分配

帧缓存实际上就是一块内存。在 Android 系统中分配与回收帧缓存,使用的是一个叫 ION 的内核模块,App 使用 ioctl 系统调用后,会在内核内存中分配一块符合要求的内存,用户态会拿到一个 fd(有的地方也称之为 handle&…...

Spitfire浏览器:为CodiggerDesktop打造的轻量级浏览新选择

近期,一款名为Spitfire的专业级轻量级浏览器凭借其卓越的性能和便捷的使用体验,吸引了科技界的广泛关注。这款浏览器是专为CodiggerDesktop用户量身打造的,旨在提供高速、流畅的浏览服务,满足开发者和设计者的多元化需求。 Spitfi…...