littlebot
Published on 2025-04-03 / 2 Visits
0

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

项目简介

本项目是基于Golang和Node.js构建的智能聊天系统,支持OPEN AI、Claude等模型。该系统拥有用户对话交互、限流管理、对话快照分享以及提示词管理等功能,还支持生成可分享的静态页面,方便用户整理和搜索会话记录。

项目的主要特性和功能

  1. 消息规则:首个消息为系统消息,上下文默认附带最新的4条消息。
  2. 用户管理:首个注册用户为管理员,可进行限流设置,公网部署时能对信任的邮箱增加限流保障系统安全。
  3. 限流机制:默认限流为100次ChatGPT调用/10分钟。
  4. 静态页面分享:能根据对话生成可分享的静态页面,也可继续会话。
  5. 对话管理:具备对话快照目录,支持英文全文查找,便于整理和搜索会话记录。
  6. 模型支持:支持OPEN AI、Claude模型。
  7. 提示词管理:拥有提示词管理功能,可通过快捷键'/'使用提示词。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件。

后端(Golang)

  1. 进入项目目录: bash cd chat; cd api
  2. 安装热加载工具: bash
  3. 下载依赖: bash go mod tidy
  4. 配置环境变量(根据实际情况修改): bash export PG_HOST=192.168.0.135 export PG_DB=hwu export PG_USER=hwu export PG_PASS=pass export PG_PORT=5432
  5. 启动服务: bash make serve

前端(Node.js)

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

端到端测试(E2E)

  1. 进入测试目录: bash cd ..; cd e2e
  2. 配置环境变量(根据实际情况修改): bash export PG_HOST=192.168.0.135 export PG_DB=hwu export PG_USER=hwu export PG_PASS=pass export PG_PORT=5432
  3. 安装依赖: bash npm install
  4. 运行测试: bash npx playwright test # --ui

部署

参考 docker-compose.yaml 文件进行部署,也可点击 Deploy on Railway 进行一键部署。部署后需配置环境变量: PORT=8080 OPENAI_RATELIMIT=0 若有其他两个API密钥,也需填写。部署完成后,注册首个用户为管理员,然后访问 https://$hostname/static/#/admin/user 设置限流。

下载地址

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