项目简介
本项目是一个基于Go语言和Node.js的智能聊天机器人系统,打造了功能强大且易于扩展的聊天机器人平台。该系统可与OpenAI和Claude等AI模型集成,能生成动态聊天会话,还具备会话快照、全文搜索、分享等功能。同时,项目提供用户权限管理、API调用限制等特性,保障系统的安全性与稳定性。
项目的主要特性和功能
- 多模型支持:支持OpenAI和Claude等AI模型,用户可按需选择模型进行对话。
- 会话管理:默认附带最新4条消息作为上下文,支持对聊天会话进行创建、查看、更新和删除操作。
- 会话快照与分享:能生成可分享的静态页面,方便用户分享聊天记录。
- 全文搜索:支持对英文聊天记录进行全文搜索,便于整理和查找历史会话。
- 用户权限管理:首个注册用户为管理员,管理员可设置API调用限制。
- API调用限制:默认限流为100次API调用/10分钟,管理员可调整限流设置。
- 多环境支持:支持本地开发环境和生产环境部署,提供Docker Compose配置文件以实现快速部署。
安装使用步骤
1. 复制项目
bash
git clone <项目仓库地址>
2. 后端服务(Go语言)
- 进入后端服务目录:
bash cd chat/api
- 安装依赖:
bash go mod tidy
- 配置环境变量:
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
- 启动服务:
bash make serve
3. 前端服务(Node.js)
- 进入前端服务目录:
bash cd ../web
- 安装依赖:
bash npm install
- 启动开发服务器:
bash npm run dev
4. 端到端测试
- 进入测试目录:
bash cd ../e2e
- 安装依赖:
bash npm install
- 运行测试:
bash npx playwright test
5. 部署
- 使用Docker Compose进行部署:
bash docker-compose up -d
- 配置环境变量:
bash PORT=8080 OPENAI_RATELIMIT=0
- 部署完成后,注册用户,第一个用户为管理员。管理员可通过
<https://$hostname/static/#/admin/user>
设置API调用限制。
注意事项
- 部署前需正确配置环境变量,特别是数据库连接信息和API密钥。
- 生产环境建议使用反向代理(如Nginx)提升系统安全性和性能。
- 系统默认限流为100次API调用/10分钟,管理员可按需调整。
LICENSE
本项目遵循MIT开源协议,可自由使用、修改和分发。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】