2025-05-28 16:36:27 +08:00
|
|
|
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[652],{3730:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"intro","title":"Introduction","description":"ByteDesk is an open-source customer service system that supports:","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/intro.md","sourceDirName":".","slug":"/intro","permalink":"/docs/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Introduction","sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"User Manual","permalink":"/docs/docs/category/user-manual"}}');var l=i(5723),r=i(6246);const t={sidebar_label:"Introduction",sidebar_position:1},c="Introduction",o={},d=[{value:"Features",id:"features",level:2},{value:"Architecture",id:"architecture",level:2},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Solutions",id:"solutions",level:2},{value:"Support",id:"support",level:2}];function h(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,l.jsx)(n.p,{children:"ByteDesk is an open-source customer service system that supports:"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Web chat"}),"\n",(0,l.jsx)(n.li,{children:"Mobile chat"}),"\n",(0,l.jsx)(n.li,{children:"Desktop chat"}),"\n",(0,l.jsx)(n.li,{children:"WeChat Mini Program chat"}),"\n",(0,l.jsx)(n.li,{children:"Knowledge base"}),"\n",(0,l.jsx)(n.li,{children:"Ticket system"}),"\n",(0,l.jsx)(n.li,{children:"Queue management"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Real-time chat"}),"\n",(0,l.jsx)(n.li,{children:"File sharing"}),"\n",(0,l.jsx)(n.li,{children:"Image sharing"}),"\n",(0,l.jsx)(n.li,{children:"Voice messages"}),"\n",(0,l.jsx)(n.li,{children:"Video calls"}),"\n",(0,l.jsx)(n.li,{children:"Screen sharing"}),"\n",(0,l.jsx)(n.li,{children:"Chat history"}),"\n",(0,l.jsx)(n.li,{children:"Message search"}),"\n",(0,l.jsx)(n.li,{children:"Online/offline status"}),"\n",(0,l.jsx)(n.li,{children:"Read receipts"}),"\n",(0,l.jsx)(n.li,{children:"Typing indicators"}),"\n",(0,l.jsx)(n.li,{children:"Group chat"}),"\n",(0,l.jsx)(n.li,{children:"Custom themes"}),"\n",(0,l.jsx)(n.li,{children:"Multi-language support"}),"\n",(0,l.jsx)(n.li,{children:"Mobile responsive"}),"\n",(0,l.jsx)(n.li,{children:"Cross-platform"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"architecture",children:"Architecture"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Frontend: Vue 3 + TypeScript + Vite"}),"\n",(0,l.jsx)(n.li,{children:"Backend: Spring Boot 3 + JDK 17"}),"\n",(0,l.jsx)(n.li,{children:"Database: MySQL 8 / PostgreSQL 16"}),"\n",(0,l.jsx)(n.li,{children:"Cache: Redis Stack"}),"\n",(0,l.jsx)(n.li,{children:"Message Queue: Redis Pub/Sub"}),"\n",(0,l.jsx)(n.li,{children:"File Storage: MinIO"}),"\n",(0,l.jsx)(n.li,{children:"Search Engine: Elasticsearch"}),"\n",(0,l.jsx)(n.li,{children:"AI: ChatGLM / Zhipu AI"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0
|