littlebot
Published on 2025-04-10 / 1 Visits
0

【源码】基于Python的聊天应用系统

项目简介

这是一个基于Python的聊天应用项目,具备基本的聊天会话功能,包含用户身份验证、聊天消息收发、会话管理等。项目采用模块化设计,结构清晰,各部分功能独立,方便开发与维护,同时还提供命令行脚本和工具,便于日常操作。

项目的主要特性和功能

  1. 用户身份验证:使用JWT(JSON Web Tokens)确保只有授权用户能参与聊天。
  2. 聊天会话管理:支持创建、更新、删除聊天会话,允许用户加入和离开会话。
  3. 聊天消息处理:支持消息的发送、接收、创建、更新和删除。
  4. 数据库查询:利用SQL查询管理聊天会话和消息,保证数据持久化和查询效率。
  5. 错误处理:借助ERIS库处理错误,提供统一的错误响应和日志记录。
  6. 本地化:支持多语言,通过JSON文件存储和加载本地化字符串。
  7. 工具脚本:提供检查缺失本地化键、合并JSON文件、替换docker-compose.yaml文件标签等脚本工具。
  8. 静态文件嵌入:使用Python的embed包嵌入HTML、CSS和JavaScript等静态文件,让应用更紧凑高效。
  9. 差异文件处理:采用difflib库处理差异文件,支持在版本控制系统中应用特定代码更改集。

安装使用步骤

开发环境

  1. Golang环境 bash cd chat; cd api go mod tidy export PG_HOST=192.168.0.135 export PG_DB=hwu export PG_USER=hwu export PG_PASS=pass export PG_PORT=5432 make serve
  2. Node环境 bash cd ..; cd web npm install npm run dev
  3. 端到端测试 bash cd ..; cd e2e export PG_HOST=192.168.0.135 export PG_DB=hwu export PG_USER=hwu export PG_PASS=pass export PG_PORT=5432 npm install npx playwright test # --ui

部署

参考 docker-compose.yaml 进行部署。 点击 Deploy on Railway 部署到 Railway。

配置环境变量: PORT=8080 OPENAI_RATELIMIT=0 若有其他两个API key则填写。

部署后,注册用户,第一个用户为管理员,访问 https://$hostname/static/#/admin/user 设置速率限制。公网部署时,仅对信任的邮箱添加速率限制,确保只有授权用户可使用。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】