jackhuang
jackhuang
  • 发布:2026-05-08 00:31
  • 更新:2026-07-23 16:14
  • 阅读:947

开源免费自部署 AI 客服平台 Supportly,支持 UniApp SDK / Web Widget / RAG 知识库

分类:uni-app

最近做了一个开源的 AI 智能客服平台:Supportly。

项目定位是:基于 Cloudflare 的免费自部署客服系统,不做 SaaS 绑定,适合个人开发者、小团队、独立产品先快速搭建一套自己的客服和 AI 问答能力。

QQ 交流群:1081883123

主要能力

  • Web Chat Widget:网站一段 JS 接入客服
  • UniApp SDK:App / 小程序 / H5 可接入客服聊天
  • Admin 后台:查看会话、人工回复、切换 AI / 人工接管
  • RAG 知识库:上传文档后,AI 基于知识库自动回复
  • WebSocket 实时消息:客服回复和 AI 回复可以实时推送
  • Telegram Bot 接入
  • Custom Webhook 接入
  • Cloudflare D1 存储会话和消息
  • Cloudflare AI Search 做知识库检索
  • Workers AI 生成回复

技术栈

后端:

  • Cloudflare Workers
  • Hono
  • TypeScript
  • Cloudflare D1
  • Cloudflare AI Search
  • Workers AI
  • Durable Objects WebSocket

前端:

  • Admin 后台
  • Web Chat Widget
  • UniApp JS SDK

UniApp SDK

UniApp SDK 是纯 JS Headless SDK,不绑定 UI。

消息链路是:

  • 发送消息:HTTP
  • 接收消息:WebSocket
  • 历史消息:HTTP
  • 断线后:自动重连并补消息

业务项目可以自己做聊天 UI,SDK 只负责初始化会话、发送消息、实时接收、历史同步和重连。

适合什么场景

  • 独立站接入在线客服
  • UniApp App / 小程序接入客服聊天
  • 小团队自建 AI 客服
  • 用自己的知识库做智能问答
  • 不想一开始就接入收费客服 SaaS
  • 想基于 Cloudflare 免费额度先跑起来

项目地址

主项目:

https://github.com/unicornB/Supportly-Ai

UniApp SDK:

https://github.com/unicornB/Supportly-Ai-UniApp-SDK.git

Web Widget:

https://github.com/unicornB/Supportly-Ai-Web-Widget.git

Admin 后台:

https://github.com/unicornB/Supportly-Ai-Admin.git

说明

客户发消息 -> 后台会话 -> AI 检索知识库 -> 自动回复 / 人工接管。

如果大家对 UniApp 客服 SDK、Cloudflare 免费自部署、AI RAG 客服这类方向感兴趣,欢迎交流建议。

截图

0 关注 分享

要回复文章请先登录注册

8***@qq.com

8***@qq.com

em-llama 高性能本地大模型,这里的问题请看下
2026-07-23 16:14
8***@qq.com

8***@qq.com

主题:反馈一个导致应用崩溃的 JNI 错误
你好,我在使用 em-llama 插件时遇到了一个会导致应用直接崩溃的问题。
问题描述:
在进行流式输出 (chatStream) 时,应用会随机性崩溃。
崩溃日志:
文本

编辑



A/art: art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal continuation byte 0
A/art: art/runtime/java_vm_ext.cc:470] string: ' å...'
A/art: art/runtime/java_vm_ext.cc:470] input: '0x20 0xe5...'
A/art: art/runtime/java_vm_ext.cc:470] in call to NewStringUTF
A/art: art/runtime/java_vm_ext.cc:470] from java.lang.String com.em.llama.NativeLlama.generateStream(...)
问题分析:
从日志看,是 C++ 层的 generateStream 函数在通过 NewStringUTF 返回字符串时,传入了非法的 UTF-8 字节(如 0xe5),导致 Android 运行时强制终止了应用。这应该是模型生成的 Token 流中包含了不完整的 UTF-8 字符。
建议修复方案:
能否请作者在 C++ 代码中,调用 NewStringUTF 之前,对输出的字符串进行一次 UTF-8 合法性校验和清洗,移除或替换掉非法的字节序列?这样可以保证传给 Java 层的字符串永远是合法的,避免崩溃。
期待修复,谢谢!
2026-07-23 16:13