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

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

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

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

目录树
TOC
  • 👋🏻 开始使用 & 交流
  • 🛳 开箱即用
    • A 使用 Docker 部署
    • B 使用 Docker-compose 部署
    • C 使用 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
  1. v1.0:为远古版本,可以忽略

  • 使用项目根目录下的docker-compose 一键部署(推荐)
    注意:一键部署包含redis和mysql服务,请检查部署前是否有这两个服务
    cd webchatdocker-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 👋🏻 开始使用 & 交流🛳 开箱即用 A 使用 Docker 部署B 使用 Docker-compose…...

【Linux系统 01】Vim工具

目录 一、Vim概述 1. 文件打开方式 2. 模式切换 二、命令模式 1. 移动与跳转 2. 复制与粘贴 3. 剪切与撤销 三、编辑模式 1. 插入 2. 替换 四、末行模式 1. 保存与退出 2. 查找与替换 3. 分屏显示 4. 命令执行 一、Vim概述 1. 文件打开方式 vim 文件路径&#…...

Oracle 面试题 | 09.精选Oracle高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…...

WPF布局面板

StackPanel StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以…...

灵活应对:策略模式在软件设计中的应用

策略模式是一种行为型设计模式,它允许定义一系列算法,并将每个算法封装起来,使它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端,使得在不修改原有代码的情况下切换或扩展新的算法成为可能。 使用策略模式的场景包…...

eosio.token 智能合约介绍

一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作,它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示,适用于EOS智能合…...

3D 转换

1,3D的特点: 近小远大 物体后面遮挡不可见 2,3D移动 translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向 transform:translateX(100px):仅仅是在x轴上移动…...

AI智能语音机器人安装方法

销售型的企业,基本靠电话营销拓客来实现效益的最大化。因为电销人员离职率高,且需求量大,需要接连不断的招人来实现业绩目标,电话机器人,贴牌招商,复制多个账户 这些都意味的企业的投入成本越来越大,博主从事多年AI技术…...

Python 潮流周刊#38:Django + Next.js 构建全栈项目

△△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,…...

Jenkins升级后,构建任务配置界面重复错位

最近我把公司的Jenkins服务升级到了最新版本,升级完成后,点了一下构建任务,发现能够构建成功,就以为顺利完成升级了,下班走了,结果第二天,进入构建任务配置界面发现,界面一团乱麻&am…...

Python基础学习 -07 运算符

Python 运算符 运算符用于对变量和值执行操作。 Python 在以下组中划分运算符: 算术运算符赋值运算符比较运算符逻辑运算符身份运算符成员运算符位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算: 运算符名称实例加x y-…...

Nim游戏

文章目录 题目描述输入格式输出格式 结论程序代码 题目描述 给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问…...

Pytorch: torch.linspace等间隔数值函数

torch.linspace 是 PyTorch 提供的一个用于生成等间隔数值的函数。具体而言,torch.linspace 会在指定的区间内生成指定数量的等间隔数值。 torch.linspace(start, end, steps100, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#x…...

【C++】案例:数列求和 与 条件筛选

1.数列求和 题目&#xff1a; 设计一个程序&#xff0c;要求对数列2471116……n的前n项求和&#xff0c; 例如输入3&#xff0c;输出13; 输入6&#xff0c;输出62。 答案&#xff1a; #include <iostream>int main() {int n;std::cout << "请输入一个正…...

问题:下列哪些属于历史文化资源的特征( ). #学习方法#学习方法

问题&#xff1a;下列哪些属于历史文化资源的特征( ). A、稀缺性 B、脆弱性 C、可再生性 D、多样性 参考答案如图所示...

大数据 - Spark系列《四》- Spark分布式运行原理

Spark系列文章&#xff1a; 大数据 - Spark系列《一》- 从Hadoop到Spark&#xff1a;大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 &#x1f360;…...

Java使用规范

1.关键字 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串(单词) 特点&#xff1a;关键字中的所有字母都是小写 2.保留字 java保留字&#xff1a;现有Java版本尚未使用&#xff0c;但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…...

Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录

Debian11系统默认没有安装SSH服务&#xff0c;如需要开启远程登录则需要安装相应的服务。 确保你已经登录到Debian系统&#xff0c;并具有root用户或sudo特权。 打开终端&#xff0c;并使用以下命令安装OpenSSH服务器软件包&#xff1a; sudo apt update sudo apt install ope…...

Linux下对线程的理解(上)

1、线程的概念 要理解线程首先要理解页表和进程地址空间&#xff0c;我是这样子理解的&#xff0c;1、进程地址空间是进程访问资源的窗口。2、页表是规定进程地址空间中哪些属于进程。3、合理的使用进程地址空间页表可以对资源进行划分。而如何理解进程呢&#xff1f;进程是接受…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具&#xff0c;成为众多网站运营者的必备选择。然而&#xff0c;面对市场上种类繁多的HTTPS证书&#xff0c;其一年费用究竟是多少&#xff0c;又受哪些因素影响呢&#xff1f; 首先&#xff0c;HTTPS证书通常在PinTrust这样的专业平…...

无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技

无需布线的革命&#xff1a;电力载波技术赋能楼宇自控系统 在楼宇自动化领域&#xff0c;传统控制系统依赖复杂的专用通信线路&#xff0c;不仅施工成本高昂&#xff0c;后期维护和扩展也极为不便。电力载波技术&#xff08;PLC&#xff09;的突破性应用&#xff0c;彻底改变了…...