littlebot
Published on 2025-04-15 / 3 Visits
0

【源码】基于Go语言和Node.js的智能聊天系统

项目简介

本项目是基于Go语言和Node.js构建的智能聊天系统,支持OpenAI和Claude模型。具备用户认证、聊天会话管理、消息处理、模型管理、快照生成等功能,且支持多语言环境。通过API接口,前端应用能与后端服务通信,实现用户管理、会话管理、消息发送等操作。同时,系统支持HTTP请求压缩、速率限制和日志记录,保障系统安全性与性能。

项目的主要特性和功能

  1. 用户认证与授权:利用JWT进行用户身份验证和授权,保证仅授权用户可访问特定功能。
  2. 聊天会话管理:用户可创建、更新、删除聊天会话,查看会话统计信息并生成会话快照。
  3. 消息处理:支持发送和接收聊天消息,消息内容含角色(用户或AI)和令牌计数。
  4. 模型管理:用户能创建、更新和删除聊天模型,设置模型权限和速率限制。
  5. 快照生成:可生成聊天会话的快照,包含会话标题、摘要和标签等信息。
  6. 多语言支持:系统支持多语言本地化,用户可按需选择语言。
  7. API接口:提供丰富API接口,支持前端与后端通信,涵盖用户管理、会话管理、模型管理、消息发送等功能。
  8. HTTP请求压缩:支持gzip压缩,提升数据传输效率。
  9. 速率限制:支持API请求频率限制,防止滥用和服务器过载。
  10. 日志记录:记录详细的HTTP请求日志,便于问题排查和性能监控。

安装使用步骤

1. 复制项目

bash git clone <项目地址>

2. 配置后端环境

进入后端目录并安装依赖: bash cd chat/api go mod tidy

配置环境变量: bash export PG_HOST=192.168.0.135 export PG_DB=hwu export PG_USER=hwu export PG_PASS=pass export PG_PORT=5432 export OPENAI_API_KEY=sk-xxx # 如果使用debug模式,此项非必需 export OPENAI_RATELIMIT=100

启动后端服务: bash make serve

3. 配置前端环境

进入前端目录并安装依赖: bash cd ../web npm install npm run dev

4. 运行端到端测试

进入测试目录并安装依赖: bash cd ../e2e npm install npx playwright test

5. 部署

参考docker-compose.yaml文件进行部署。可以通过Railway一键部署: Deploy on Railway

配置环境变量: bash PORT=8080 OPENAI_RATELIMIT=0

部署完成后,注册用户,第一个用户将自动成为管理员。管理员可以设置速率限制,确保只有受信任的用户可以使用系统。

下载地址

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