littlebot
Published on 2025-04-08 / 0 Visits
0

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

项目简介

本项目是一个基于Go语言和Node.js的智能聊天机器人系统,打造了功能强大且易于扩展的聊天机器人平台。该系统可与OpenAI和Claude等AI模型集成,能生成动态聊天会话,还具备会话快照、全文搜索、分享等功能。同时,项目提供用户权限管理、API调用限制等特性,保障系统的安全性与稳定性。

项目的主要特性和功能

  • 多模型支持:支持OpenAI和Claude等AI模型,用户可按需选择模型进行对话。
  • 会话管理:默认附带最新4条消息作为上下文,支持对聊天会话进行创建、查看、更新和删除操作。
  • 会话快照与分享:能生成可分享的静态页面,方便用户分享聊天记录。
  • 全文搜索:支持对英文聊天记录进行全文搜索,便于整理和查找历史会话。
  • 用户权限管理:首个注册用户为管理员,管理员可设置API调用限制。
  • API调用限制:默认限流为100次API调用/10分钟,管理员可调整限流设置。
  • 多环境支持:支持本地开发环境和生产环境部署,提供Docker Compose配置文件以实现快速部署。

安装使用步骤

1. 复制项目

bash git clone <项目仓库地址>

2. 后端服务(Go语言)

  1. 进入后端服务目录: bash cd chat/api
  2. 安装依赖: bash go mod tidy
  3. 配置环境变量: bash export PG_HOST=<数据库主机> export PG_DB=<数据库名称> export PG_USER=<数据库用户> export PG_PASS=<数据库密码> export PG_PORT=<数据库端口> export OPENAI_API_KEY=<OpenAI API密钥> export OPENAI_RATELIMIT=100
  4. 启动服务: bash make serve

3. 前端服务(Node.js)

  1. 进入前端服务目录: bash cd ../web
  2. 安装依赖: bash npm install
  3. 启动开发服务器: bash npm run dev

4. 端到端测试

  1. 进入测试目录: bash cd ../e2e
  2. 安装依赖: bash npm install
  3. 运行测试: bash npx playwright test

5. 部署

  1. 使用Docker Compose进行部署: bash docker-compose up -d
  2. 配置环境变量: bash PORT=8080 OPENAI_RATELIMIT=0
  3. 部署完成后,注册用户,第一个用户为管理员。管理员可通过<https://$hostname/static/#/admin/user>设置API调用限制。

注意事项

  • 部署前需正确配置环境变量,特别是数据库连接信息和API密钥。
  • 生产环境建议使用反向代理(如Nginx)提升系统安全性和性能。
  • 系统默认限流为100次API调用/10分钟,管理员可按需调整。

LICENSE

本项目遵循MIT开源协议,可自由使用、修改和分发。

下载地址

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