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

【源码】基于Go和Node的聊天对话管理系统

项目简介

本项目是一个聊天对话管理系统,集成了聊天交互、对话快照、用户管理等功能。系统支持OPEN AI、Claude等模型,可根据对话生成可分享的静态页面,还具备对话集的全文查找功能,方便用户整理和搜索会话记录。

项目的主要特性和功能

  1. 聊天交互:用户可与系统进行对话,第一个消息为系统消息,默认附带最新的4条消息作为上下文。
  2. 用户管理:第一个注册的用户为管理员,支持对用户的限流设置,可通过配置对信任的email增加ratelimit。
  3. 对话快照与分享:支持根据对话生成可分享的静态页面,方便用户分享对话内容。
  4. 对话记录管理:提供对话快照目录(对话集),支持英文全文查找,便于用户整理和搜索会话记录。
  5. 多模型支持:支持OPEN AI、Claude等模型,用户可按需使用。

安装使用步骤

前提条件

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

后端(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

前端(Node环境)

bash cd ..; cd web npm install npm run dev

端到端测试(e2e)

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 进行部署。部署后配置环境变量: PORT=8080 OPENAI_RATELIMIT=0 若有其他两个api key则进行填写。部署完成后,注册用户,第一个用户为管理员,之后到 https://$hostname/static/#/admin/user 设置ratelimit,公网部署时,仅对信任的email增加ratelimit,保证安全性。

下载地址

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