一背景网站接入在线客服功能核心需求是实现访客与客服的实时高效沟通、访客信息精准管理、客服工作规范化管控及数据可追溯分析。在选型上若追求低成本、快速落地优先选择GO-FLY开源在线客服系统提供标准JS嵌入方式Java后端无需大量开发工作即可快速集成且开源免费可商用、支持多平台适配能满足上述核心功能需求选型对比项目语言嵌入方式核心功能部署难度适合场景yunkefuJava/SpringBootJS/iframe全功能客服低中小 Java 项目快速上线SayOrderJavaAPI / 嵌入智能 基础客服低电商、智能咨询Rocket.ChatNode.jsJS/iframe Java API强大 IM中需复杂 IMJava 业务GOFLYGoJS 嵌入轻量客服极低快速嵌入、轻量需求二介绍GO-FLY开源在线客服系统编程语言GolangWeb 框架Gin身份验证JWTJSON Web TokensWebSocket用于客服之间的即时通讯数据库GORM用于操作 MySQL前端框架Vue命令行工具 CobraGO-FLY是一款基于Go语言构建的开源即时通讯与在线客服系统核心依托Gin高性能HTTP框架及GORM数据库ORM开发具备轻量高效、部署便捷、可扩展性强的特点可免费商用且支持私有化部署。该系统采用前后端分离架构后端基于Go语言开发充分利用Go语言的并发特性支持高并发请求处理内存消耗低前端采用Vue3TypeScriptArco Design组件库开发界面简洁直观易于客服人员快速上手操作。在功能上GO-FLY全面覆盖网站在线客服核心需求支持访客与客服实时沟通含文字、表情、图片、文件等多种消息格式、多客服账号管理、会话自动/手动分配、访客信息展示IP、地区、访问轨迹等、聊天记录存储与查询、数据统计分析等。在适配性方面GO-FLY支持Java、PHP、Python等多语言网站接入对于Java网站而言无需进行复杂的代码开发仅需嵌入一段标准JS代码即可快速集成同时支持通过REST API或gRPC与Java后端实现跨语言通信确保与网站现有Java技术架构无缝兼容、数据互通大幅降低集成成本与周期。三部署GO-FLY环境安装清单系统 一台新的虚拟机linux CentOS 7.6mysql版本5.7Golang版本1.22.3nginx版本1.20.1gofly项目没看见有版本说明下载日期是2026-03-31资源下载go环境和gofly项目四部署GO-FLY环境Nginx安装nginx的原因访客发送的文件能成功上传客服能看到 docx 卡片但点击下载 / 预览时 404原因是GOFLY服务没有配置静态文件访问路由/static/upload/ 目录没有对外开放推荐Nginx 反向代理修复需要把 static/upload 目录暴露出来。如果你的 Java Web 项目也在同一台服务器直接用Nginx 统一代理是最稳的先备份旧源mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak替换成阿里云源能上网就能用curl-o/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo3.必须先装 epel 源yuminstall-yepel-release4.清理并重新生成缓存yum clean all yum makecache5.安装 Nginxyuminstall-ynginx6.nginx配置vim/etc/nginx/conf.d/gofly.conf输入下面内容server{listen80;server_name192.168.211.128;location /static/{root /home/gofly/goflylivechat-master;}location /{proxy_pass http://127.0.0.1:8081;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;}}7.重启 nginxnginx-tsystemctl restart nginx五部署GO-FLY环境Golang在线下载go包或者使用提供的wgethttps://dl.google.com/go/go1.22.3.linux-amd64.tar.gz设置Go 官方代理goenv-wGOPROXYhttps://goproxy.cn,direct解压、设置环境tar-C/usr/local-zxfgo1.22.3.linux-amd64.tar.gzechoexport PATH\$PATH:/usr/local/go/bin/etc/profilesource/etc/profile4.验证版本go version六部署GO-FLY环境MySQL安装 MySQL5.7 官方源rpm-ivhhttps://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm安装 MySQL 5.7 服务yuminstall-ymysql-community-server--nogpgcheck启动 MySQLsystemctl start mysqld systemctlenablemysqld查看初始密码非常重要greptemporary password/var/log/mysqld.log你会看到类似A temporary password is generatedforrootlocalhost: xxxxxx修改密码mysql-uroot-p使用初始密码登录然后执行下面 3 行直接复制ALTERUSERrootlocalhostIDENTIFIED BYAdmin123;flush privileges;exit;创建gofly的数据库#连接mysqlmysql-uroot-p#密码Admin123#连接创建库create database gofly charset utf8mb4;七部署GO-FLY环境GO-FLY服务复制项目包.zip包到系统内该项目是githup的本文已经提供了该项目包解压zip并进入goflylivechat-master目录3.配置项目数据库连接vimconfig/mysql.json配置mysql的属性{Server:127.0.0.1,Port:3306,Database:gofly,Username:root,Password:Admin123}安装项目依赖go mod tidy编译项目go build-okefu main.go初始化数据库./kefuinstall启动gofly客服服务# 启动./kefu server其他命令#关闭pkill-fkefu# 后台运行日志写入 nohup.outnohup./kefu server系统信息gofly的端口默认是8081管理后台http://你的服务器IP:8081/login默认账号agent密码123456 注没在官网上找到默认密码我是自己从数据库该的密码进入mysql的gofly库直接改密码UPDATE user SET passworde10adc3949ba59abbe56e057f20f883eWHERE nameagent;关闭防火墙sudosystemctl stop firewalldsudosystemctl disable firewalld访问八既有项目引入测试在你的项目里引入聊天页面在gofly项目首页已经贴出script代码了直接复制过来即可下面是完整html!DOCTYPE htmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidth\, initial-scale1.0title测试在线客服/title/headbodystylebackground-color: #f2f2f2;divstyleline-height: 22px;font-size: 18px;margin: 15px;测试在线客服/div/bodyscript(function(global, document, scriptUrl, callback){constheaddocument.getElementsByTagName(head)[0];const scriptdocument.createElement(script);script.typetext/javascript;script.srcscriptUrl /static/js/chat-widget.js;script.onloadscript.onreadystatechangefunction(){if(!this.readyState||this.readyStateloaded||this.readyStatecomplete){callback(scriptUrl);}};head.appendChild(script);})(window, document,http://192.168.211.128:8081, function(baseUrl){CHAT_WIDGET.initialize({API_URL: baseUrl, AGENT_ID:agent,});});/script/html测试网页效果gofly服务端效果另外再设置页面可以设置一下欢迎语测试结果gofly聊天支持 文字、图片、文档若文档需要网页上点击下载需要用nginx代理静态资源九扩展功能支持API自己研究把