xcchat 是一个基于 Django 和 Django Channels 构建的轻量级在线客服系统。它支持实时聊天、人工/机器人客服切换、访客信息追踪和多站点接入

xcchat 是一个基于 Django 和 Django Channels 构建的轻量级在线客服系统。它支持实时聊天、人工/机器人客服切换、访客信息追踪和多站点接入

xcchat - 开源在线客服系统

xcchat 是一个基于 Django 和 Django Channels 构建的轻量级在线客服系统。它支持实时聊天、人工/机器人客服切换、访客信息追踪和多站点接入。

🌟 项目特点

  • B2C架构:面向企业对客户的客服场景
  • 实时双向通信:基于 WebSocket 实现毫秒级消息传递
  • 双模式客服:人工客服与机器人客服自由切换
  • 访客行为分析:自动收集访客设备信息、地理位置等数据
  • FAQ 管理:内置 FAQ 管理系统,支持在前端展示常见问题。
  • 高度可定制:前后端分离设计,易于二次开发和定制

🏗️ 系统架构

xcchat 采用现代化的分层架构设计:

  1. 表现层:前端 Widget 组件和管理后台界面
  2. 应用层:Django 应用模块(chat、sysadmin、widget 等)
  3. 服务层:WebSocket 服务、AI 服务、文件处理服务
  4. 数据层:MySQL 主数据库
  5. 通信层:基于 Django Channels 的 WebSocket 通信

🚀 功能特性

  • 站点管理:支持创建和管理多个站点(Site),每个站点拥有独立的客服和数据。
  • 实时通讯:基于 WebSocket (Django Channels) 实现低延迟的实时消息传输。
  • 混合客服模式
    • 人工客服:支持多客服协作。
    • 机器人客服:支持配置机器人 API 接口和 API Key,实现自动回复。
  • 访客追踪:自动记录访客的 IP、浏览器、操作系统、设备类型及地理位置信息。
  • FAQ 知识库:可配置常见问题解答,帮助访客自助解决问题。
  • 便捷接入:提供轻量级 JavaScript Widget,只需一段代码即可嵌入任何网页。
  • 统一后台管理
    • 管理员后台 (sysadmin):统一管理站点、客服、FAQ、查看会话记录和系统日志。

🛠️ 技术栈

  • 后端框架:Python 3.8+, Django 5.0.4, Django Channels 4.3.2
  • 数据库:MySQL 8+ (主数据库)
  • 实时通信:WebSocket (基于 Django Channels 和 Daphne)
  • 前端框架:Bootstrap 5, Vanilla JavaScript
  • AI 相关:支持集成大语言模型、向量检索等AI能力
  • 其他组件:Django REST Framework, django-cors-headers

🗄️ 数据库设计

项目目前采用单一数据库设计:

  1. 主数据库(MySQL):存储用户、站点、会话、消息等核心业务数据
知识库相关的数据结构和存储方案将在后续版本中重新设计,以适配新的简洁知识库功能。

📋 环境要求

  • Python 3.8+
  • MySQL 8+(推荐 InnoDB 引擎,UTF8MB4 字符集)
  • (可选)Redis(用于生产环境的 Channel Layer)

⚡ 快速开始

1. 克隆项目

git clone <repository_url> cd xcchat 

2. 创建并激活虚拟环境

windows 创建虚拟环境
//创建虚拟环境 python -m venv venv //切换到虚拟环境 venv\Scripts\activate //更新pip python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple //安装requirements python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 
linux 创建虚拟环境
 //创建虚拟环境 python -m venv venv //切换到虚拟环境 source venv/bin/activate //更新pip python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple //安装requirements python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

3. 数据库配置

项目使用 MySQL 作为主数据库,向量数据也存储在同一数据库中(使用二进制字段存储向量,不再依赖 pgvector 扩展)。

在 framework/settings.py 中配置数据库连接:

  • ENGINEdjango.db.backends.mysql
  • HOST: 数据库主机
  • PORT: 端口(默认 3306)
  • NAME: 数据库名
  • USER: 用户名
  • PASSWORD: 密码

4. 迁移数据库

python manage.py migrate 

5. 创建超级管理员(可选)

项目已内置默认管理员账号:

  • 用户名admin
  • 密码admin888

6. 启动服务

开发环境下可以使用 Django 自带的 runserver (支持 ASGI):

python manage.py runserver 0.0.0.0:8063 

或者使用 daphne 启动:

daphne -b 0.0.0.0 -p 8063 framework.asgi:application 

📖 使用指南

1. 登录管理员后台

访问 http://localhost:8063/login/ 使用默认管理员账号登录:

  • 用户名: admin
  • 密码: admin888
首次登录后建议立即修改密码以保障系统安全。

2. 站点与客服管理

  • 进入后台后,在 站点管理 页面添加一个新的站点(密钥)。
  • 填写站点名称,保存后将生成 API Key。
  • 在 客服管理 中为站点分配客服人员或配置机器人。

3. 获取接入代码

在站点列表页面查看站点的 API Key。 将以下代码添加到你网站 HTML 的 <body> 标签结束前:

<script src="http://你的域名:端口/static/widget/js/xcchat.js"> </script> 

4. 模拟聊天

  • 打开嵌入了代码的网页,作为访客发送消息。
  • 在管理员后台的 对话管理 页面,可以实时收到消息并回复。
知识库相关功能正在重构中,当前版本暂未提供知识库管理与对话能力。

📂 项目结构

xcchat/ ├── chat/ # 核心聊天业务 (Models, Consumers) ├── core/ # 核心用户模型和日志 ├── sysadmin/ # 系统管理员后台视图 ├── website/ # 官网/着陆页 ├── widget/ # 前端组件 (JS Widget) ├── framework/ # 项目配置 (Settings, ASGI/WSGI) ├── static/ # 静态文件 ├── templates/ # 全局模板 ├── manage.py # Django 管理脚本 └── requirements.txt # 项目依赖 
注:该系统采用B2C架构,为企业提供客户服务支持,而非多租户SaaS平台。

❓ 常见问题

  • 报错 "MySQLdb or PyMySQL is required"
    • 项目使用 PyMySQL 作为 MySQL 驱动,确保按 requirements.txt 安装即可。
  • 报错 “Cannot use ImageField because Pillow is not installed”
    • 请安装 Pillow(已在 requirements.txt 列出),并重新运行迁移。
  • Channels 生产环境部署
    • 建议使用 Redis 作为 Channel Layer,并通过 daphne 或 uvicorn 部署 ASGI 服务,前置反向代理(如 Nginx)。

📦 关键依赖

  • Django==5.0.4
  • djangorestframework==3.15.1
  • django-cors-headers==4.3.1
  • channels==4.3.2
  • daphne==4.2.1
  • PyMySQL==1.1.1
  • Pillow==12.0.0

📄 License

MIT License

Read more

AIGC 新势力:探秘海螺 AI 与蓝耘 MaaS 平台的协同创新之旅

AIGC 新势力:探秘海螺 AI 与蓝耘 MaaS 平台的协同创新之旅

探秘海螺AI:多模态架构下的认知智能新引擎 在人工智能持续进阶的进程中,海螺AI作为一款前沿的多功能AI工具,正凭借其独特的多模态架构崭露头角。它由上海稀宇科技有限公司(MiniMax)精心打造,依托自研的万亿参数MoE大语言模型ABAB6.5以及MiniMax语音大模型,展现出非凡的技术实力与应用潜力。MiniMax的核心团队源自商汤科技等业内知名企业,在多模态大模型研发领域深耕细作,为海螺AI的诞生奠定了坚实基础。 在这里插入图片描述 一、核心模型架构剖析 (一)基础模型:abab - 6.5 海螺AI的基础模型abab - 6.5采用了创新的混合专家系统设计,借助动态路由机制,即Sparse Gating Network,可依据输入内容智能激活8 - 12个子专家模型。这些子专家模型涵盖代码专家、多语言专家、逻辑推理专家等,各司其职,协同作业。在参数规模上,abab - 6.5总参数量高达1.2万亿,同时通过巧妙的设计,将活跃参数量控制在2000亿/query,有效平衡了模型的高容量与低推理成本。在训练优化环节,

微搭低代码MBA 培训管理系统实战 19——教务管理:从订单到课时卡的自动转化

微搭低代码MBA 培训管理系统实战 19——教务管理:从订单到课时卡的自动转化

目录 * 前情回顾 * 一、 数据源设计 * 1.1 学员档案表 (`MBA_StudentProfiles`) * 1.2 课时卡表 (`MBA_LearningCards`) * 二 创建管理页面 * 2.1 搭建财务布局 * 2.2 搭建待支付列表页面 * 2.3 搭建确认支付弹窗 * 2.4 自动化开课 * 三 配置门户数据 * 最终效果 * 总结 前情回顾 上一篇中我们讲解了销售在订单成交后,录入订单。此时订单的状态还是待支付的状态,需要财务确认收款情况。财务人员点击了"确认收款",订单状态变更为 已清账。此时,资金流已经闭环,但学员在系统里还只是一个"商机客户",没有上课的权限。

在Windows11利用llama.cpp调用Qwen3.5量化模型测试

1.下载llama.cpp二进制文件 访问 https://github.com/ggml-org/llama.cpp/releases 或者 https://bgithub.xyz/ggml-org/llama.cpp/releases 选择适合自己平台的。我没有独立显卡,所以选择CPU版本 https://bgithub.xyz/ggml-org/llama.cpp/releases/download/b8192/llama-b8192-bin-win-cpu-x64.zip 解压到\d\llama8\目录。 2.下载量化模型 按照 章北海mlpy 公众号:Ai学习的老章~ID:mindszhang666 写的知乎文章Qwen3.5 0.8B/2B/

RT-2:Google DeepMind的机器人革命——如何让AI从网页知识中学会操控现实世界

RT-2:Google DeepMind的机器人革命——如何让AI从网页知识中学会操控现实世界

大家好,我是数据与算法架构提升之路,一个专注AI和机器人技术的博主。今天,我们来聊聊Google DeepMind在2023年推出的重磅模型——RT-2 (Robotic Transformer 2)。这个模型不是简单的聊天机器人,而是将互联网上的海量知识直接转化为机器人动作控制的“超级大脑”。想象一下,一个机器人能理解“捡起像锤子一样的东西”(比如石头),或者根据“我累了”自动递上能量饮料?这不是科幻,而是RT-2的真实能力! 如果你是AI爱好者、机器人工程师或科技投资者,这篇文章绝对值得一读。我们将从原理、架构、创新点到实验结果,一一拆解。文末还有视频和论文链接,帮你快速上手。走起! 1.为什么RT-2是机器人领域的游戏改变者? 传统机器人学习依赖于海量的演示数据:工程师手动操作机器人,记录动作,然后AI模仿。但这效率低下——要让机器人适应新物体、新环境,就得从头收集数据。RT-2的创新在于,它借力视觉-语言模型 (VLM) 的预训练知识,将网页上的常识(如物体识别、语义推理)直接迁移到机器人控制中。