From fffbecbf17d1b30851250e619eae3f267f588fa2 Mon Sep 17 00:00:00 2001 From: jack ning Date: Fri, 3 Jan 2025 07:52:00 +0800 Subject: [PATCH] update --- docs/404.html | 10 +-- docs/assets/js/003373f3.59cc91f1.js | 1 + docs/assets/js/03fb8e57.28ab9b4b.js | 1 + docs/assets/js/06438b7d.d06d8ca0.js | 1 + docs/assets/js/1006a4b3.d551642d.js | 1 + docs/assets/js/10e43522.0e3f9522.js | 1 + docs/assets/js/11d29fa1.5d13b15c.js | 1 + docs/assets/js/157240d8.1136cbe2.js | 1 + docs/assets/js/158c8766.d7f99791.js | 1 + docs/assets/js/17fadf48.37e6aba3.js | 1 + docs/assets/js/1a871bde.4de27cab.js | 1 + docs/assets/js/1d4a64ce.5615deca.js | 1 + docs/assets/js/1fb55056.fe07d6b5.js | 1 + docs/assets/js/20e51ce5.e0812c13.js | 1 + docs/assets/js/2459241d.d38a816d.js | 1 + docs/assets/js/27c697bf.782cfdb8.js | 1 + docs/assets/js/2b41adb9.b6c34b75.js | 1 + docs/assets/js/2ee0f334.c6e40f4c.js | 1 + docs/assets/js/319c6d68.983d2f77.js | 1 + docs/assets/js/32d11bb6.e9a862a1.js | 1 + docs/assets/js/36ed5ad5.38df79f8.js | 1 + docs/assets/js/37c5fcf1.2cc51ab2.js | 1 + docs/assets/js/3d510a8c.91891183.js | 1 + docs/assets/js/40762991.de569e9f.js | 1 + docs/assets/js/41345d7c.cf252467.js | 1 + docs/assets/js/470a00bf.de443410.js | 1 + docs/assets/js/49d1d0c0.b1c50de6.js | 1 + docs/assets/js/4a99e3d9.65ced346.js | 1 + docs/assets/js/4b0b9693.a0437652.js | 1 + docs/assets/js/4ccc3b76.9700ba73.js | 1 + docs/assets/js/4d3b6e7e.2fee41c6.js | 1 + docs/assets/js/50b81116.01ddfc27.js | 1 + docs/assets/js/5144c84c.282ad84a.js | 1 + docs/assets/js/5721fd23.6318afa9.js | 1 + docs/assets/js/57c11a94.652df895.js | 1 + docs/assets/js/57f7b7ff.e5991cc5.js | 1 + docs/assets/js/59362658.7ebaa791.js | 1 + docs/assets/js/59882872.b8654bf4.js | 1 + docs/assets/js/5ac84584.acc09955.js | 1 + docs/assets/js/5b44acae.b33f3f8a.js | 1 + docs/assets/js/5f77f32f.b4dc3172.js | 1 + docs/assets/js/62f01485.4fbc1cc9.js | 1 + docs/assets/js/65d9b74f.23fc7121.js | 1 + docs/assets/js/686ff8ac.45296e7e.js | 1 + docs/assets/js/69aa092d.8a9bdef4.js | 1 + docs/assets/js/6ce32f15.e3d4899c.js | 1 + docs/assets/js/6cf0cb76.36f7aecc.js | 1 + docs/assets/js/6e655c93.56249541.js | 1 + docs/assets/js/73664a40.c256417d.js | 1 + docs/assets/js/739d5fdf.ce219ebf.js | 1 + docs/assets/js/7661071f.cb52e114.js | 1 + docs/assets/js/7bb840c3.c9836df2.js | 1 + docs/assets/js/7d27dcec.923a39f5.js | 1 + docs/assets/js/7d8caebe.da26bee4.js | 1 + docs/assets/js/7f7ea3bc.953ee262.js | 1 + docs/assets/js/80bd71a7.555fd8ed.js | 1 + docs/assets/js/814f3328.da5f48d1.js | 1 + docs/assets/js/8189716e.f8dbcf74.js | 1 + docs/assets/js/82bd4724.3fa7136f.js | 1 + docs/assets/js/8359ee0f.d5c10554.js | 1 + docs/assets/js/83af8544.31427b19.js | 1 + docs/assets/js/8717b14a.23041232.js | 1 + docs/assets/js/925b3f96.aa4c1b04.js | 1 + docs/assets/js/9617b332.14cb2028.js | 1 + docs/assets/js/9626587a.73303a0e.js | 1 + docs/assets/js/96ef327d.548eeaae.js | 1 + docs/assets/js/98fc44fe.66cafb03.js | 1 + docs/assets/js/9e974ea2.f880af1b.js | 1 + docs/assets/js/a1ad13e0.9790fad5.js | 1 + docs/assets/js/a8c22454.a7345a81.js | 1 + docs/assets/js/aa33ffd5.e2d66c44.js | 1 + docs/assets/js/ac95b37f.f172bc0c.js | 1 + docs/assets/js/acecf23e.cfb6d70b.js | 1 + docs/assets/js/aec06fb2.0c1b7c79.js | 1 + docs/assets/js/b088dc07.9a030afd.js | 1 + docs/assets/js/b48830f7.2c282308.js | 1 + docs/assets/js/b4cf3f2a.db9e7bf4.js | 1 + docs/assets/js/b7458bff.722069fe.js | 1 + docs/assets/js/b81b0106.38968714.js | 1 + docs/assets/js/ba63ea60.1b2305d9.js | 1 + docs/assets/js/bd1f041b.ac157b38.js | 1 + docs/assets/js/bfa4484b.41ca43fd.js | 1 + docs/assets/js/c0fbf920.8249dd56.js | 1 + docs/assets/js/c8e28a8f.ab50eeee.js | 1 + docs/assets/js/cc87462c.18d91079.js | 1 + docs/assets/js/d1368cbc.47010439.js | 1 + docs/assets/js/d9f32620.e7d2484e.js | 1 + docs/assets/js/da8e626b.fd33d292.js | 1 + docs/assets/js/dd7c7038.ac53ef1f.js | 1 + docs/assets/js/debc1240.055afa12.js | 1 + docs/assets/js/e0d84b05.c704c80e.js | 1 + docs/assets/js/e157b587.f6ec1c73.js | 1 + docs/assets/js/e273c56f.6ea7a4ed.js | 1 + docs/assets/js/e3d59151.a44451c0.js | 1 + docs/assets/js/e546079d.78fce8f4.js | 1 + docs/assets/js/e721e24a.9e21b0cb.js | 1 + docs/assets/js/e740fb29.62c67e14.js | 1 + docs/assets/js/eefce9d7.5dbd74e4.js | 1 + docs/assets/js/f0dbaee1.b7fd6c46.js | 1 + docs/assets/js/f11c0a91.6aa5e4ef.js | 1 + docs/assets/js/f1fc7d61.d1acb7b7.js | 1 + docs/assets/js/f4cb7f76.301ff045.js | 1 + docs/assets/js/f4f34a3a.3e0a8d0b.js | 1 + docs/assets/js/fdeb5368.33d62648.js | 1 + docs/assets/js/main.3e71904f.js | 2 + docs/assets/js/main.3e71904f.js.LICENSE.txt | 64 +++++++++++++++++++ docs/assets/js/runtime~main.8afb81e7.js | 1 + docs/blog/archive/index.html | 10 +-- docs/blog/atom.xml | 28 ++++---- docs/blog/authors/index.html | 10 +-- docs/blog/first-blog-post/index.html | 12 ++-- docs/blog/index.html | 18 +++--- docs/blog/long-blog-post/index.html | 12 ++-- docs/blog/mdx-blog-post/index.html | 12 ++-- docs/blog/rss.xml | 24 +++---- docs/blog/scan-to-login/index.html | 12 ++-- docs/blog/tags/bytedesk/index.html | 12 ++-- docs/blog/tags/developer/index.html | 12 ++-- docs/blog/tags/docusaurus/index.html | 16 ++--- docs/blog/tags/facebook/index.html | 12 ++-- docs/blog/tags/hello/index.html | 14 ++-- docs/blog/tags/hola/index.html | 10 +-- docs/blog/tags/index.html | 10 +-- docs/blog/welcome/index.html | 14 ++-- docs/docs/deploy/admin/index.html | 16 ++--- docs/docs/deploy/agent/index.html | 16 ++--- docs/docs/deploy/cluster/index.html | 14 ++-- docs/docs/deploy/depend/ai/index.html | 14 ++-- docs/docs/deploy/depend/docker/index.html | 12 ++-- docs/docs/deploy/depend/jdk/index.html | 12 ++-- .../docs/deploy/depend/letsencrypt/index.html | 12 ++-- docs/docs/deploy/depend/mysql/index.html | 12 ++-- docs/docs/deploy/depend/nginx/index.html | 12 ++-- docs/docs/deploy/depend/ollama/index.html | 12 ++-- docs/docs/deploy/depend/postgresql/index.html | 12 ++-- docs/docs/deploy/depend/redis/index.html | 12 ++-- docs/docs/deploy/desktop/index.html | 12 ++-- docs/docs/deploy/docker/index.html | 22 +++---- docs/docs/deploy/jar/index.html | 32 +++++----- docs/docs/deploy/source/index.html | 24 +++---- docs/docs/deploy/visitor/index.html | 14 ++-- docs/docs/develop/plugin/index.html | 10 +-- .../docs/develop/server/ai/hunyuan/index.html | 10 +-- .../docs/develop/server/ai/minimax/index.html | 10 +-- .../develop/server/ai/moonshot/index.html | 12 ++-- docs/docs/develop/server/ai/ollama/index.html | 10 +-- .../docs/develop/server/ai/qianfan/index.html | 10 +-- docs/docs/develop/server/ai/qwen/index.html | 10 +-- .../docs/develop/server/ai/zhipuai/index.html | 10 +-- .../develop/server/kbase/helpdoc/index.html | 10 +-- .../develop/server/service/agent/index.html | 14 ++-- .../develop/server/team/member/index.html | 10 +-- .../develop/server/ticket/status/index.html | 10 +-- .../visitor/foreign/whatsapp/index.html | 18 +++--- .../visitor/platform/android/index.html | 12 ++-- .../visitor/platform/flutter/index.html | 18 +++--- .../develop/visitor/platform/ios/index.html | 14 ++-- .../develop/visitor/platform/react/index.html | 12 ++-- .../visitor/platform/uniapp/index.html | 12 ++-- .../develop/visitor/platform/web/index.html | 18 +++--- .../develop/visitor/shop/qianniu/index.html | 18 +++--- .../develop/visitor/social/wechat/index.html | 12 ++-- .../visitor/social/wechatkefu/index.html | 10 +-- .../visitor/social/wechatmini/index.html | 10 +-- .../visitor/social/wechatmp/index.html | 26 ++++---- .../visitor/social/wechatwork/index.html | 10 +-- docs/docs/intro/index.html | 46 ++++++------- docs/docs/manual/admin/ai/robot/index.html | 10 +-- docs/docs/manual/admin/auth/login/index.html | 12 ++-- .../manual/admin/kbase/autoreply/index.html | 10 +-- docs/docs/manual/admin/kbase/faq/index.html | 10 +-- .../manual/admin/kbase/helpcenter/index.html | 12 ++-- .../manual/admin/kbase/keyword/index.html | 10 +-- docs/docs/manual/admin/kbase/llm/index.html | 10 +-- .../manual/admin/kbase/quickreply/index.html | 12 ++-- docs/docs/manual/admin/kbase/taboo/index.html | 10 +-- .../manual/admin/service/agent/index.html | 10 +-- .../manual/admin/service/workgroup/index.html | 10 +-- docs/docs/manual/admin/team/member/index.html | 10 +-- docs/docs/manual/admin/team/role/index.html | 10 +-- .../manual/admin/ticket/waiting/index.html | 10 +-- docs/docs/manual/agent/ai/robot/index.html | 10 +-- docs/docs/manual/agent/auth/login/index.html | 12 ++-- docs/docs/manual/agent/thread/index.html | 10 +-- docs/docs/manual/chat/ai/robot/index.html | 10 +-- docs/docs/manual/chat/auth/login/index.html | 12 ++-- docs/docs/manual/chat/thread/index.html | 10 +-- docs/docs/payment/index.html | 12 ++-- docs/docs/solution/edu/index.html | 28 ++++---- docs/docs/solution/helpcenter/index.html | 28 ++++---- docs/docs/solution/hospital/index.html | 28 ++++---- docs/docs/solution/im/index.html | 28 ++++---- docs/docs/solution/kbase/index.html | 28 ++++---- docs/docs/solution/queue-number/index.html | 28 ++++---- docs/docs/solution/shop-foreign/index.html | 12 ++-- docs/docs/solution/shop/index.html | 28 ++++---- docs/docs/solution/teamim/index.html | 28 ++++---- docs/docs/solution/ticket/index.html | 28 ++++---- docs/index.html | 10 +-- docs/markdown-page/index.html | 12 ++-- docs/sitemap.xml | 2 +- docs/zh-CN/404.html | 10 +-- docs/zh-CN/assets/js/00992f74.deba950d.js | 1 + docs/zh-CN/assets/js/0204fca0.a591e01e.js | 1 + docs/zh-CN/assets/js/064f09d0.3d1f5e8a.js | 1 + docs/zh-CN/assets/js/0894afe0.ef050a1c.js | 1 + docs/zh-CN/assets/js/08f163db.a4e41b17.js | 1 + docs/zh-CN/assets/js/0a559864.e17ec073.js | 1 + docs/zh-CN/assets/js/0c26d54b.dd1c6d14.js | 1 + docs/zh-CN/assets/js/0ee3336b.c7a1855a.js | 1 + docs/zh-CN/assets/js/106360c2.bd54de61.js | 1 + docs/zh-CN/assets/js/127931f2.07b6e7f3.js | 1 + docs/zh-CN/assets/js/15e0766f.6782906b.js | 1 + docs/zh-CN/assets/js/16438a20.528da70f.js | 1 + docs/zh-CN/assets/js/175c8a3c.fc2494de.js | 1 + docs/zh-CN/assets/js/1a3e90b6.4099c930.js | 1 + docs/zh-CN/assets/js/1af6b460.68aa557f.js | 1 + docs/zh-CN/assets/js/22f41675.204327a6.js | 1 + docs/zh-CN/assets/js/29a243f0.d642d17a.js | 1 + docs/zh-CN/assets/js/2b258cb0.647e65d1.js | 1 + docs/zh-CN/assets/js/34030137.5be36bfc.js | 1 + docs/zh-CN/assets/js/347839f9.46291774.js | 1 + docs/zh-CN/assets/js/3768b82d.0a026a39.js | 1 + docs/zh-CN/assets/js/3b57439d.cae2fa1e.js | 1 + docs/zh-CN/assets/js/3b7ae849.6acfad17.js | 1 + docs/zh-CN/assets/js/3b8b0d91.92d7ce08.js | 1 + docs/zh-CN/assets/js/3c039bc7.2e056b21.js | 1 + docs/zh-CN/assets/js/3c4811f2.31d7a59f.js | 1 + docs/zh-CN/assets/js/3d197251.8d838b1c.js | 1 + docs/zh-CN/assets/js/44179455.427e1403.js | 1 + docs/zh-CN/assets/js/4b221753.4ca7ad26.js | 1 + docs/zh-CN/assets/js/4f56717b.c360ca71.js | 1 + docs/zh-CN/assets/js/54e2d52d.3d9e3f7b.js | 1 + docs/zh-CN/assets/js/55937aa5.687e9098.js | 1 + docs/zh-CN/assets/js/57ecf674.f076a0e9.js | 1 + docs/zh-CN/assets/js/59362658.3134fae8.js | 1 + docs/zh-CN/assets/js/5c2a0794.237f7d30.js | 1 + docs/zh-CN/assets/js/63a55dd3.680884fb.js | 1 + docs/zh-CN/assets/js/63a736d3.9fcc0717.js | 1 + docs/zh-CN/assets/js/65f00ee1.2be7ac11.js | 1 + docs/zh-CN/assets/js/66ccd0d4.2eb52fb2.js | 1 + docs/zh-CN/assets/js/67804ce5.c9dd449a.js | 1 + docs/zh-CN/assets/js/686d05c7.5b3fd825.js | 1 + docs/zh-CN/assets/js/69da5d73.609e9b6d.js | 1 + docs/zh-CN/assets/js/6a413c89.54220112.js | 1 + docs/zh-CN/assets/js/6d2cfc39.3cd8e5aa.js | 1 + docs/zh-CN/assets/js/704e3d48.3b17eaf1.js | 1 + docs/zh-CN/assets/js/71862552.c0b9e3d6.js | 1 + docs/zh-CN/assets/js/73664a40.26f8c06e.js | 1 + docs/zh-CN/assets/js/748520fd.2fbd1375.js | 1 + docs/zh-CN/assets/js/75d5ff30.3b8d7e99.js | 1 + docs/zh-CN/assets/js/7661071f.9c185ce5.js | 1 + docs/zh-CN/assets/js/77ebee05.e3d921a1.js | 1 + docs/zh-CN/assets/js/7d31e524.2a6dc5b0.js | 1 + docs/zh-CN/assets/js/7e635c81.dc72f8ba.js | 1 + docs/zh-CN/assets/js/814f3328.791d7ccd.js | 1 + docs/zh-CN/assets/js/8717b14a.aa98689d.js | 1 + docs/zh-CN/assets/js/8887487c.92fef9d6.js | 1 + docs/zh-CN/assets/js/8f923324.8c1575f3.js | 1 + docs/zh-CN/assets/js/901d8035.8f3a2f29.js | 1 + docs/zh-CN/assets/js/90530842.6211e3e0.js | 1 + docs/zh-CN/assets/js/925b3f96.2c12662b.js | 1 + docs/zh-CN/assets/js/927ec2f9.c71c3ede.js | 1 + docs/zh-CN/assets/js/950f866b.0f12e22d.js | 1 + docs/zh-CN/assets/js/9c71f3d1.10e4b4fb.js | 1 + docs/zh-CN/assets/js/9d89b86d.bce88b89.js | 1 + docs/zh-CN/assets/js/9daad0de.75523d68.js | 1 + docs/zh-CN/assets/js/9db17f8b.d48b0cd8.js | 1 + docs/zh-CN/assets/js/a014548d.31c78567.js | 1 + docs/zh-CN/assets/js/aae198e1.b2c46275.js | 1 + docs/zh-CN/assets/js/acecf23e.15a70fd6.js | 1 + docs/zh-CN/assets/js/ad2c6e96.2f3e4c1b.js | 1 + docs/zh-CN/assets/js/af7ec686.9a77d3ec.js | 1 + docs/zh-CN/assets/js/b3f27277.3aa7c460.js | 1 + docs/zh-CN/assets/js/b59f3880.8a1d4e5e.js | 1 + docs/zh-CN/assets/js/b9405ec7.ac6a380a.js | 1 + docs/zh-CN/assets/js/ba55dbea.8e77106a.js | 1 + docs/zh-CN/assets/js/baab0063.866d71b7.js | 1 + docs/zh-CN/assets/js/bc855c70.a32dc1e8.js | 1 + docs/zh-CN/assets/js/be209a7f.165f6476.js | 1 + docs/zh-CN/assets/js/be91d9f3.5c589872.js | 1 + docs/zh-CN/assets/js/bf7fadb6.3e488bc2.js | 1 + docs/zh-CN/assets/js/bf829c3f.f2804ed3.js | 1 + docs/zh-CN/assets/js/c53df3bd.a471e7c8.js | 1 + docs/zh-CN/assets/js/c9e1b05c.2d1b2755.js | 1 + docs/zh-CN/assets/js/ce3cfa37.d8ba0620.js | 1 + docs/zh-CN/assets/js/cfc0525e.4080fdb8.js | 1 + docs/zh-CN/assets/js/d002e413.5d8fcbfd.js | 1 + docs/zh-CN/assets/js/d337a622.25783e76.js | 1 + docs/zh-CN/assets/js/d525671d.e3a36c24.js | 1 + docs/zh-CN/assets/js/d58782cc.d676ed74.js | 1 + docs/zh-CN/assets/js/d9f32620.0ab3beaa.js | 1 + docs/zh-CN/assets/js/df434354.27d6ce29.js | 1 + docs/zh-CN/assets/js/e0673735.fb3624fa.js | 1 + docs/zh-CN/assets/js/e1d9382a.5742d4c6.js | 1 + docs/zh-CN/assets/js/e2245c5e.0d509555.js | 1 + docs/zh-CN/assets/js/e273c56f.55de26f3.js | 1 + docs/zh-CN/assets/js/e6bf5b05.3741d2d1.js | 1 + docs/zh-CN/assets/js/ea34efd4.3c88313a.js | 1 + docs/zh-CN/assets/js/ea54604a.17ca7e30.js | 1 + docs/zh-CN/assets/js/ed21c886.50b693b4.js | 1 + docs/zh-CN/assets/js/ede04f38.0eca7d28.js | 1 + docs/zh-CN/assets/js/f19c9429.e2339d3f.js | 1 + docs/zh-CN/assets/js/f4f34a3a.6ad36a7a.js | 1 + docs/zh-CN/assets/js/f613708b.776d2147.js | 1 + docs/zh-CN/assets/js/main.2c9b4320.js | 2 + .../assets/js/main.2c9b4320.js.LICENSE.txt | 64 +++++++++++++++++++ docs/zh-CN/assets/js/runtime~main.43d88c2e.js | 1 + docs/zh-CN/blog/archive/index.html | 10 +-- docs/zh-CN/blog/atom.xml | 28 ++++---- docs/zh-CN/blog/authors/index.html | 10 +-- docs/zh-CN/blog/first-blog-post/index.html | 12 ++-- docs/zh-CN/blog/index.html | 18 +++--- docs/zh-CN/blog/long-blog-post/index.html | 12 ++-- docs/zh-CN/blog/mdx-blog-post/index.html | 12 ++-- docs/zh-CN/blog/rss.xml | 24 +++---- docs/zh-CN/blog/scan-to-login/index.html | 12 ++-- docs/zh-CN/blog/tags/bytedesk/index.html | 12 ++-- docs/zh-CN/blog/tags/developer/index.html | 12 ++-- docs/zh-CN/blog/tags/docusaurus/index.html | 16 ++--- docs/zh-CN/blog/tags/facebook/index.html | 12 ++-- docs/zh-CN/blog/tags/hello/index.html | 14 ++-- docs/zh-CN/blog/tags/hola/index.html | 10 +-- docs/zh-CN/blog/tags/index.html | 10 +-- docs/zh-CN/blog/welcome/index.html | 14 ++-- docs/zh-CN/docs/deploy/admin/index.html | 22 +++---- docs/zh-CN/docs/deploy/agent/index.html | 20 +++--- docs/zh-CN/docs/deploy/cluster/index.html | 12 ++-- docs/zh-CN/docs/deploy/depend/ai/index.html | 12 ++-- .../docs/deploy/depend/docker/index.html | 12 ++-- docs/zh-CN/docs/deploy/depend/jdk/index.html | 12 ++-- .../docs/deploy/depend/letsencrypt/index.html | 14 ++-- .../zh-CN/docs/deploy/depend/mysql/index.html | 12 ++-- .../zh-CN/docs/deploy/depend/nginx/index.html | 18 +++--- .../docs/deploy/depend/ollama/index.html | 12 ++-- .../docs/deploy/depend/postgresql/index.html | 12 ++-- .../zh-CN/docs/deploy/depend/redis/index.html | 14 ++-- docs/zh-CN/docs/deploy/desktop/index.html | 10 +-- docs/zh-CN/docs/deploy/docker/index.html | 14 ++-- docs/zh-CN/docs/deploy/jar/index.html | 24 +++---- docs/zh-CN/docs/deploy/source/index.html | 22 +++---- docs/zh-CN/docs/deploy/visitor/index.html | 14 ++-- docs/zh-CN/docs/develop/plugin/index.html | 10 +-- .../docs/develop/server/ai/hunyuan/index.html | 10 +-- .../docs/develop/server/ai/minimax/index.html | 10 +-- .../develop/server/ai/moonshot/index.html | 12 ++-- .../docs/develop/server/ai/ollama/index.html | 10 +-- .../docs/develop/server/ai/qianfan/index.html | 10 +-- .../docs/develop/server/ai/qwen/index.html | 10 +-- .../docs/develop/server/ai/zhipuai/index.html | 10 +-- .../develop/server/kbase/helpdoc/index.html | 10 +-- .../develop/server/service/agent/index.html | 10 +-- .../develop/server/team/member/index.html | 10 +-- .../develop/server/ticket/status/index.html | 10 +-- .../visitor/foreign/whatsapp/index.html | 18 +++--- .../visitor/platform/android/index.html | 12 ++-- .../visitor/platform/flutter/index.html | 14 ++-- .../develop/visitor/platform/ios/index.html | 14 ++-- .../develop/visitor/platform/react/index.html | 12 ++-- .../visitor/platform/uniapp/index.html | 16 ++--- .../develop/visitor/platform/web/index.html | 18 +++--- .../develop/visitor/shop/qianniu/index.html | 18 +++--- .../develop/visitor/social/wechat/index.html | 12 ++-- .../visitor/social/wechatkefu/index.html | 10 +-- .../visitor/social/wechatmini/index.html | 10 +-- .../visitor/social/wechatmp/index.html | 26 ++++---- .../visitor/social/wechatwork/index.html | 10 +-- docs/zh-CN/docs/intro/index.html | 34 +++++----- .../docs/manual/admin/ai/robot/index.html | 10 +-- .../docs/manual/admin/auth/login/index.html | 12 ++-- .../manual/admin/kbase/autoreply/index.html | 10 +-- .../docs/manual/admin/kbase/faq/index.html | 10 +-- .../manual/admin/kbase/helpcenter/index.html | 12 ++-- .../manual/admin/kbase/keyword/index.html | 10 +-- .../docs/manual/admin/kbase/llm/index.html | 10 +-- .../manual/admin/kbase/quickreply/index.html | 12 ++-- .../docs/manual/admin/kbase/taboo/index.html | 10 +-- .../manual/admin/service/agent/index.html | 10 +-- .../manual/admin/service/workgroup/index.html | 10 +-- .../docs/manual/admin/team/member/index.html | 10 +-- .../docs/manual/admin/team/role/index.html | 10 +-- .../manual/admin/ticket/waiting/index.html | 10 +-- .../docs/manual/agent/ai/robot/index.html | 10 +-- .../docs/manual/agent/auth/login/index.html | 12 ++-- .../zh-CN/docs/manual/agent/thread/index.html | 10 +-- .../docs/manual/chat/ai/robot/index.html | 10 +-- .../docs/manual/chat/auth/login/index.html | 12 ++-- docs/zh-CN/docs/manual/chat/thread/index.html | 10 +-- docs/zh-CN/docs/payment/index.html | 16 ++--- docs/zh-CN/docs/solution/edu/index.html | 12 ++-- .../zh-CN/docs/solution/helpcenter/index.html | 12 ++-- docs/zh-CN/docs/solution/hospital/index.html | 12 ++-- docs/zh-CN/docs/solution/im/index.html | 12 ++-- docs/zh-CN/docs/solution/kbase/index.html | 12 ++-- .../docs/solution/queue-number/index.html | 12 ++-- .../docs/solution/shop-foreign/index.html | 12 ++-- docs/zh-CN/docs/solution/shop/index.html | 12 ++-- docs/zh-CN/docs/solution/teamim/index.html | 12 ++-- docs/zh-CN/docs/solution/ticket/index.html | 12 ++-- docs/zh-CN/index.html | 10 +-- docs/zh-CN/markdown-page/index.html | 12 ++-- docs/zh-CN/sitemap.xml | 2 +- docs/zh-TW/404.html | 10 +-- docs/zh-TW/assets/js/01b5870e.22997a4b.js | 1 + docs/zh-TW/assets/js/03292aee.de37da8b.js | 1 + docs/zh-TW/assets/js/03371139.e910add8.js | 1 + docs/zh-TW/assets/js/04537515.4231aa52.js | 1 + docs/zh-TW/assets/js/04c497bc.cdc52a41.js | 1 + docs/zh-TW/assets/js/058575a3.31a6d6ca.js | 1 + docs/zh-TW/assets/js/073cc85b.5037c664.js | 1 + docs/zh-TW/assets/js/0e6fbb46.56202e8f.js | 1 + docs/zh-TW/assets/js/0f1adbb2.a335ab94.js | 1 + docs/zh-TW/assets/js/12192be3.931bdedd.js | 1 + docs/zh-TW/assets/js/1390d5e1.207f990f.js | 1 + docs/zh-TW/assets/js/182ba84c.fdd52102.js | 1 + docs/zh-TW/assets/js/1aed93ee.a7043a8b.js | 1 + docs/zh-TW/assets/js/1d5aaf98.ed124e69.js | 1 + docs/zh-TW/assets/js/1dd9a49c.b614a567.js | 1 + docs/zh-TW/assets/js/27942da4.e0c43966.js | 1 + docs/zh-TW/assets/js/28716386.901ef992.js | 1 + docs/zh-TW/assets/js/2b653bff.d9afac27.js | 1 + docs/zh-TW/assets/js/2c185fd4.9c167c6b.js | 1 + docs/zh-TW/assets/js/2ddc773c.9af2fbac.js | 1 + docs/zh-TW/assets/js/31b49899.045cdb99.js | 1 + docs/zh-TW/assets/js/34c594fb.26e348e4.js | 1 + docs/zh-TW/assets/js/38c29d51.854356fe.js | 1 + docs/zh-TW/assets/js/3d7c76a6.77f46928.js | 1 + docs/zh-TW/assets/js/3fe1fe4b.24d4de66.js | 1 + docs/zh-TW/assets/js/42728682.ae5c5ac8.js | 1 + docs/zh-TW/assets/js/42bf553b.abcc6e68.js | 1 + docs/zh-TW/assets/js/45f81b81.8eeaa282.js | 1 + docs/zh-TW/assets/js/46ef053a.a0bc4a93.js | 1 + docs/zh-TW/assets/js/485b68f5.7b1ddd81.js | 1 + docs/zh-TW/assets/js/49c9f339.2fd69082.js | 1 + docs/zh-TW/assets/js/4de5a1ea.c9c40a20.js | 1 + docs/zh-TW/assets/js/4f8abbcb.6eba31fc.js | 1 + docs/zh-TW/assets/js/504b2ba7.46a91c6f.js | 1 + docs/zh-TW/assets/js/57c9a4d0.b527f123.js | 1 + docs/zh-TW/assets/js/58e2ca39.53e98e47.js | 1 + docs/zh-TW/assets/js/59362658.bba35788.js | 1 + docs/zh-TW/assets/js/5ac1cdbf.2d4cafe5.js | 1 + docs/zh-TW/assets/js/5bd6f025.03e884c3.js | 1 + docs/zh-TW/assets/js/5d660dcf.16d4fce7.js | 1 + docs/zh-TW/assets/js/60aeb817.8e537365.js | 1 + docs/zh-TW/assets/js/60d1f3f4.5694bb55.js | 1 + docs/zh-TW/assets/js/60dc2bf2.66dadb30.js | 1 + docs/zh-TW/assets/js/62d82a3a.b4a6bfc7.js | 1 + docs/zh-TW/assets/js/650f66b6.5e4963c9.js | 1 + docs/zh-TW/assets/js/689c00c0.5c70439b.js | 1 + docs/zh-TW/assets/js/6b13df90.810f8a05.js | 1 + docs/zh-TW/assets/js/73664a40.a67dfb98.js | 1 + docs/zh-TW/assets/js/76156e28.4cb4d28a.js | 1 + docs/zh-TW/assets/js/7661071f.62a86239.js | 1 + docs/zh-TW/assets/js/770e6d34.fae26a3b.js | 1 + docs/zh-TW/assets/js/7758601e.35fa686a.js | 1 + docs/zh-TW/assets/js/7811e65d.e8379157.js | 1 + docs/zh-TW/assets/js/7b95e440.03e7fcfa.js | 1 + docs/zh-TW/assets/js/80d2fdbf.efcf1d7c.js | 1 + docs/zh-TW/assets/js/814f3328.8241c988.js | 1 + docs/zh-TW/assets/js/817889a9.dbcca01a.js | 1 + docs/zh-TW/assets/js/81f89dfe.a04b17cc.js | 1 + docs/zh-TW/assets/js/85bfce50.26324082.js | 1 + docs/zh-TW/assets/js/8717b14a.9c622602.js | 1 + docs/zh-TW/assets/js/8b5f750c.f2f9bb60.js | 1 + docs/zh-TW/assets/js/925b3f96.f99940ea.js | 1 + docs/zh-TW/assets/js/947a9822.51142d0b.js | 1 + docs/zh-TW/assets/js/981a486b.c2d16297.js | 1 + docs/zh-TW/assets/js/983d0557.26af5a7e.js | 1 + docs/zh-TW/assets/js/9cc20364.9d0e0a79.js | 1 + docs/zh-TW/assets/js/a0511c5d.93836c60.js | 1 + docs/zh-TW/assets/js/a57f5657.07653508.js | 1 + docs/zh-TW/assets/js/a60f8c45.501e5677.js | 1 + docs/zh-TW/assets/js/a637cdbc.027ba08e.js | 1 + docs/zh-TW/assets/js/a689cfe1.2986891a.js | 1 + docs/zh-TW/assets/js/a9fad307.89c95187.js | 1 + docs/zh-TW/assets/js/acecf23e.a4741e37.js | 1 + docs/zh-TW/assets/js/acee9acb.cfa4526d.js | 1 + docs/zh-TW/assets/js/b5ee86ab.3dc8c65b.js | 1 + docs/zh-TW/assets/js/b65d4fc2.1840fbd5.js | 1 + docs/zh-TW/assets/js/b7f63549.3fdff93f.js | 1 + docs/zh-TW/assets/js/bb9ec5c2.9c63c7a2.js | 1 + docs/zh-TW/assets/js/beac1d1d.ee04f681.js | 1 + docs/zh-TW/assets/js/c00c59c7.e22290d3.js | 1 + docs/zh-TW/assets/js/c2d58ed8.a754c515.js | 1 + docs/zh-TW/assets/js/c73dad53.b29f6231.js | 1 + docs/zh-TW/assets/js/c7a8e60c.e8282b0e.js | 1 + docs/zh-TW/assets/js/c98306fe.f64dc7dc.js | 1 + docs/zh-TW/assets/js/cbeff28a.db1d3d4f.js | 1 + docs/zh-TW/assets/js/cf6a4f5a.2fbefbde.js | 1 + docs/zh-TW/assets/js/d08e83cf.158a31dd.js | 1 + docs/zh-TW/assets/js/d740b71f.60374273.js | 1 + docs/zh-TW/assets/js/d765b2d0.c8fc749d.js | 1 + docs/zh-TW/assets/js/d8f1cfc9.8569ca3e.js | 1 + docs/zh-TW/assets/js/d9f32620.9ddeeeba.js | 1 + docs/zh-TW/assets/js/e1b33fcc.febfcde8.js | 1 + docs/zh-TW/assets/js/e273c56f.b24f053a.js | 1 + docs/zh-TW/assets/js/e4f02279.117b076f.js | 1 + docs/zh-TW/assets/js/e51a521c.402ff8cf.js | 1 + docs/zh-TW/assets/js/e711c1a1.cd8d96b8.js | 1 + docs/zh-TW/assets/js/e90d6fe6.3d60f996.js | 1 + docs/zh-TW/assets/js/f21d63cb.9802420e.js | 1 + docs/zh-TW/assets/js/f3edc3b5.133fae2c.js | 1 + docs/zh-TW/assets/js/f4db144d.aa07178e.js | 1 + docs/zh-TW/assets/js/f4f34a3a.33e9e0ec.js | 1 + docs/zh-TW/assets/js/f75fb1db.3177a4a4.js | 1 + docs/zh-TW/assets/js/fd6b40ea.8d71249c.js | 1 + docs/zh-TW/assets/js/main.8b1d2449.js | 2 + .../assets/js/main.8b1d2449.js.LICENSE.txt | 64 +++++++++++++++++++ docs/zh-TW/assets/js/runtime~main.ea65daf4.js | 1 + docs/zh-TW/blog/archive/index.html | 10 +-- docs/zh-TW/blog/atom.xml | 28 ++++---- docs/zh-TW/blog/authors/index.html | 10 +-- docs/zh-TW/blog/first-blog-post/index.html | 12 ++-- docs/zh-TW/blog/index.html | 18 +++--- docs/zh-TW/blog/long-blog-post/index.html | 12 ++-- docs/zh-TW/blog/mdx-blog-post/index.html | 12 ++-- docs/zh-TW/blog/rss.xml | 24 +++---- docs/zh-TW/blog/scan-to-login/index.html | 12 ++-- docs/zh-TW/blog/tags/bytedesk/index.html | 12 ++-- docs/zh-TW/blog/tags/developer/index.html | 12 ++-- docs/zh-TW/blog/tags/docusaurus/index.html | 16 ++--- docs/zh-TW/blog/tags/facebook/index.html | 12 ++-- docs/zh-TW/blog/tags/hello/index.html | 14 ++-- docs/zh-TW/blog/tags/hola/index.html | 10 +-- docs/zh-TW/blog/tags/index.html | 10 +-- docs/zh-TW/blog/welcome/index.html | 14 ++-- docs/zh-TW/docs/deploy/admin/index.html | 22 +++---- docs/zh-TW/docs/deploy/agent/index.html | 22 +++---- docs/zh-TW/docs/deploy/cluster/index.html | 12 ++-- docs/zh-TW/docs/deploy/depend/ai/index.html | 12 ++-- .../docs/deploy/depend/docker/index.html | 12 ++-- docs/zh-TW/docs/deploy/depend/jdk/index.html | 12 ++-- .../docs/deploy/depend/letsencrypt/index.html | 14 ++-- .../zh-TW/docs/deploy/depend/mysql/index.html | 12 ++-- .../zh-TW/docs/deploy/depend/nginx/index.html | 16 ++--- .../docs/deploy/depend/ollama/index.html | 12 ++-- .../docs/deploy/depend/postgresql/index.html | 12 ++-- .../zh-TW/docs/deploy/depend/redis/index.html | 16 ++--- docs/zh-TW/docs/deploy/desktop/index.html | 10 +-- docs/zh-TW/docs/deploy/docker/index.html | 14 ++-- docs/zh-TW/docs/deploy/jar/index.html | 24 +++---- docs/zh-TW/docs/deploy/source/index.html | 22 +++---- docs/zh-TW/docs/deploy/visitor/index.html | 14 ++-- docs/zh-TW/docs/develop/plugin/index.html | 10 +-- .../docs/develop/server/ai/hunyuan/index.html | 10 +-- .../docs/develop/server/ai/minimax/index.html | 10 +-- .../develop/server/ai/moonshot/index.html | 12 ++-- .../docs/develop/server/ai/ollama/index.html | 10 +-- .../docs/develop/server/ai/qianfan/index.html | 10 +-- .../docs/develop/server/ai/qwen/index.html | 10 +-- .../docs/develop/server/ai/zhipuai/index.html | 10 +-- .../develop/server/kbase/helpdoc/index.html | 10 +-- .../develop/server/service/agent/index.html | 10 +-- .../develop/server/team/member/index.html | 10 +-- .../develop/server/ticket/status/index.html | 10 +-- .../visitor/foreign/whatsapp/index.html | 18 +++--- .../visitor/platform/android/index.html | 12 ++-- .../visitor/platform/flutter/index.html | 14 ++-- .../develop/visitor/platform/ios/index.html | 14 ++-- .../develop/visitor/platform/react/index.html | 12 ++-- .../visitor/platform/uniapp/index.html | 16 ++--- .../develop/visitor/platform/web/index.html | 18 +++--- .../develop/visitor/shop/qianniu/index.html | 18 +++--- .../develop/visitor/social/wechat/index.html | 12 ++-- .../visitor/social/wechatkefu/index.html | 10 +-- .../visitor/social/wechatmini/index.html | 10 +-- .../visitor/social/wechatmp/index.html | 26 ++++---- .../visitor/social/wechatwork/index.html | 10 +-- docs/zh-TW/docs/intro/index.html | 34 +++++----- .../docs/manual/admin/ai/robot/index.html | 10 +-- .../docs/manual/admin/auth/login/index.html | 12 ++-- .../manual/admin/kbase/autoreply/index.html | 10 +-- .../docs/manual/admin/kbase/faq/index.html | 10 +-- .../manual/admin/kbase/helpcenter/index.html | 12 ++-- .../manual/admin/kbase/keyword/index.html | 10 +-- .../docs/manual/admin/kbase/llm/index.html | 10 +-- .../manual/admin/kbase/quickreply/index.html | 12 ++-- .../docs/manual/admin/kbase/taboo/index.html | 10 +-- .../manual/admin/service/agent/index.html | 10 +-- .../manual/admin/service/workgroup/index.html | 10 +-- .../docs/manual/admin/team/member/index.html | 10 +-- .../docs/manual/admin/team/role/index.html | 10 +-- .../manual/admin/ticket/waiting/index.html | 10 +-- .../docs/manual/agent/ai/robot/index.html | 10 +-- .../docs/manual/agent/auth/login/index.html | 12 ++-- .../zh-TW/docs/manual/agent/thread/index.html | 10 +-- .../docs/manual/chat/ai/robot/index.html | 10 +-- .../docs/manual/chat/auth/login/index.html | 12 ++-- docs/zh-TW/docs/manual/chat/thread/index.html | 10 +-- docs/zh-TW/docs/payment/index.html | 16 ++--- docs/zh-TW/docs/solution/edu/index.html | 12 ++-- .../zh-TW/docs/solution/helpcenter/index.html | 12 ++-- docs/zh-TW/docs/solution/hospital/index.html | 12 ++-- docs/zh-TW/docs/solution/im/index.html | 12 ++-- docs/zh-TW/docs/solution/kbase/index.html | 12 ++-- .../docs/solution/queue-number/index.html | 12 ++-- .../docs/solution/shop-foreign/index.html | 12 ++-- docs/zh-TW/docs/solution/shop/index.html | 12 ++-- docs/zh-TW/docs/solution/teamim/index.html | 12 ++-- docs/zh-TW/docs/solution/ticket/index.html | 12 ++-- docs/zh-TW/index.html | 10 +-- docs/zh-TW/markdown-page/index.html | 12 ++-- docs/zh-TW/sitemap.xml | 2 +- 603 files changed, 2421 insertions(+), 1911 deletions(-) create mode 100644 docs/assets/js/003373f3.59cc91f1.js create mode 100644 docs/assets/js/03fb8e57.28ab9b4b.js create mode 100644 docs/assets/js/06438b7d.d06d8ca0.js create mode 100644 docs/assets/js/1006a4b3.d551642d.js create mode 100644 docs/assets/js/10e43522.0e3f9522.js create mode 100644 docs/assets/js/11d29fa1.5d13b15c.js create mode 100644 docs/assets/js/157240d8.1136cbe2.js create mode 100644 docs/assets/js/158c8766.d7f99791.js create mode 100644 docs/assets/js/17fadf48.37e6aba3.js create mode 100644 docs/assets/js/1a871bde.4de27cab.js create mode 100644 docs/assets/js/1d4a64ce.5615deca.js create mode 100644 docs/assets/js/1fb55056.fe07d6b5.js create mode 100644 docs/assets/js/20e51ce5.e0812c13.js create mode 100644 docs/assets/js/2459241d.d38a816d.js create mode 100644 docs/assets/js/27c697bf.782cfdb8.js create mode 100644 docs/assets/js/2b41adb9.b6c34b75.js create mode 100644 docs/assets/js/2ee0f334.c6e40f4c.js create mode 100644 docs/assets/js/319c6d68.983d2f77.js create mode 100644 docs/assets/js/32d11bb6.e9a862a1.js create mode 100644 docs/assets/js/36ed5ad5.38df79f8.js create mode 100644 docs/assets/js/37c5fcf1.2cc51ab2.js create mode 100644 docs/assets/js/3d510a8c.91891183.js create mode 100644 docs/assets/js/40762991.de569e9f.js create mode 100644 docs/assets/js/41345d7c.cf252467.js create mode 100644 docs/assets/js/470a00bf.de443410.js create mode 100644 docs/assets/js/49d1d0c0.b1c50de6.js create mode 100644 docs/assets/js/4a99e3d9.65ced346.js create mode 100644 docs/assets/js/4b0b9693.a0437652.js create mode 100644 docs/assets/js/4ccc3b76.9700ba73.js create mode 100644 docs/assets/js/4d3b6e7e.2fee41c6.js create mode 100644 docs/assets/js/50b81116.01ddfc27.js create mode 100644 docs/assets/js/5144c84c.282ad84a.js create mode 100644 docs/assets/js/5721fd23.6318afa9.js create mode 100644 docs/assets/js/57c11a94.652df895.js create mode 100644 docs/assets/js/57f7b7ff.e5991cc5.js create mode 100644 docs/assets/js/59362658.7ebaa791.js create mode 100644 docs/assets/js/59882872.b8654bf4.js create mode 100644 docs/assets/js/5ac84584.acc09955.js create mode 100644 docs/assets/js/5b44acae.b33f3f8a.js create mode 100644 docs/assets/js/5f77f32f.b4dc3172.js create mode 100644 docs/assets/js/62f01485.4fbc1cc9.js create mode 100644 docs/assets/js/65d9b74f.23fc7121.js create mode 100644 docs/assets/js/686ff8ac.45296e7e.js create mode 100644 docs/assets/js/69aa092d.8a9bdef4.js create mode 100644 docs/assets/js/6ce32f15.e3d4899c.js create mode 100644 docs/assets/js/6cf0cb76.36f7aecc.js create mode 100644 docs/assets/js/6e655c93.56249541.js create mode 100644 docs/assets/js/73664a40.c256417d.js create mode 100644 docs/assets/js/739d5fdf.ce219ebf.js create mode 100644 docs/assets/js/7661071f.cb52e114.js create mode 100644 docs/assets/js/7bb840c3.c9836df2.js create mode 100644 docs/assets/js/7d27dcec.923a39f5.js create mode 100644 docs/assets/js/7d8caebe.da26bee4.js create mode 100644 docs/assets/js/7f7ea3bc.953ee262.js create mode 100644 docs/assets/js/80bd71a7.555fd8ed.js create mode 100644 docs/assets/js/814f3328.da5f48d1.js create mode 100644 docs/assets/js/8189716e.f8dbcf74.js create mode 100644 docs/assets/js/82bd4724.3fa7136f.js create mode 100644 docs/assets/js/8359ee0f.d5c10554.js create mode 100644 docs/assets/js/83af8544.31427b19.js create mode 100644 docs/assets/js/8717b14a.23041232.js create mode 100644 docs/assets/js/925b3f96.aa4c1b04.js create mode 100644 docs/assets/js/9617b332.14cb2028.js create mode 100644 docs/assets/js/9626587a.73303a0e.js create mode 100644 docs/assets/js/96ef327d.548eeaae.js create mode 100644 docs/assets/js/98fc44fe.66cafb03.js create mode 100644 docs/assets/js/9e974ea2.f880af1b.js create mode 100644 docs/assets/js/a1ad13e0.9790fad5.js create mode 100644 docs/assets/js/a8c22454.a7345a81.js create mode 100644 docs/assets/js/aa33ffd5.e2d66c44.js create mode 100644 docs/assets/js/ac95b37f.f172bc0c.js create mode 100644 docs/assets/js/acecf23e.cfb6d70b.js create mode 100644 docs/assets/js/aec06fb2.0c1b7c79.js create mode 100644 docs/assets/js/b088dc07.9a030afd.js create mode 100644 docs/assets/js/b48830f7.2c282308.js create mode 100644 docs/assets/js/b4cf3f2a.db9e7bf4.js create mode 100644 docs/assets/js/b7458bff.722069fe.js create mode 100644 docs/assets/js/b81b0106.38968714.js create mode 100644 docs/assets/js/ba63ea60.1b2305d9.js create mode 100644 docs/assets/js/bd1f041b.ac157b38.js create mode 100644 docs/assets/js/bfa4484b.41ca43fd.js create mode 100644 docs/assets/js/c0fbf920.8249dd56.js create mode 100644 docs/assets/js/c8e28a8f.ab50eeee.js create mode 100644 docs/assets/js/cc87462c.18d91079.js create mode 100644 docs/assets/js/d1368cbc.47010439.js create mode 100644 docs/assets/js/d9f32620.e7d2484e.js create mode 100644 docs/assets/js/da8e626b.fd33d292.js create mode 100644 docs/assets/js/dd7c7038.ac53ef1f.js create mode 100644 docs/assets/js/debc1240.055afa12.js create mode 100644 docs/assets/js/e0d84b05.c704c80e.js create mode 100644 docs/assets/js/e157b587.f6ec1c73.js create mode 100644 docs/assets/js/e273c56f.6ea7a4ed.js create mode 100644 docs/assets/js/e3d59151.a44451c0.js create mode 100644 docs/assets/js/e546079d.78fce8f4.js create mode 100644 docs/assets/js/e721e24a.9e21b0cb.js create mode 100644 docs/assets/js/e740fb29.62c67e14.js create mode 100644 docs/assets/js/eefce9d7.5dbd74e4.js create mode 100644 docs/assets/js/f0dbaee1.b7fd6c46.js create mode 100644 docs/assets/js/f11c0a91.6aa5e4ef.js create mode 100644 docs/assets/js/f1fc7d61.d1acb7b7.js create mode 100644 docs/assets/js/f4cb7f76.301ff045.js create mode 100644 docs/assets/js/f4f34a3a.3e0a8d0b.js create mode 100644 docs/assets/js/fdeb5368.33d62648.js create mode 100644 docs/assets/js/main.3e71904f.js create mode 100644 docs/assets/js/main.3e71904f.js.LICENSE.txt create mode 100644 docs/assets/js/runtime~main.8afb81e7.js create mode 100644 docs/zh-CN/assets/js/00992f74.deba950d.js create mode 100644 docs/zh-CN/assets/js/0204fca0.a591e01e.js create mode 100644 docs/zh-CN/assets/js/064f09d0.3d1f5e8a.js create mode 100644 docs/zh-CN/assets/js/0894afe0.ef050a1c.js create mode 100644 docs/zh-CN/assets/js/08f163db.a4e41b17.js create mode 100644 docs/zh-CN/assets/js/0a559864.e17ec073.js create mode 100644 docs/zh-CN/assets/js/0c26d54b.dd1c6d14.js create mode 100644 docs/zh-CN/assets/js/0ee3336b.c7a1855a.js create mode 100644 docs/zh-CN/assets/js/106360c2.bd54de61.js create mode 100644 docs/zh-CN/assets/js/127931f2.07b6e7f3.js create mode 100644 docs/zh-CN/assets/js/15e0766f.6782906b.js create mode 100644 docs/zh-CN/assets/js/16438a20.528da70f.js create mode 100644 docs/zh-CN/assets/js/175c8a3c.fc2494de.js create mode 100644 docs/zh-CN/assets/js/1a3e90b6.4099c930.js create mode 100644 docs/zh-CN/assets/js/1af6b460.68aa557f.js create mode 100644 docs/zh-CN/assets/js/22f41675.204327a6.js create mode 100644 docs/zh-CN/assets/js/29a243f0.d642d17a.js create mode 100644 docs/zh-CN/assets/js/2b258cb0.647e65d1.js create mode 100644 docs/zh-CN/assets/js/34030137.5be36bfc.js create mode 100644 docs/zh-CN/assets/js/347839f9.46291774.js create mode 100644 docs/zh-CN/assets/js/3768b82d.0a026a39.js create mode 100644 docs/zh-CN/assets/js/3b57439d.cae2fa1e.js create mode 100644 docs/zh-CN/assets/js/3b7ae849.6acfad17.js create mode 100644 docs/zh-CN/assets/js/3b8b0d91.92d7ce08.js create mode 100644 docs/zh-CN/assets/js/3c039bc7.2e056b21.js create mode 100644 docs/zh-CN/assets/js/3c4811f2.31d7a59f.js create mode 100644 docs/zh-CN/assets/js/3d197251.8d838b1c.js create mode 100644 docs/zh-CN/assets/js/44179455.427e1403.js create mode 100644 docs/zh-CN/assets/js/4b221753.4ca7ad26.js create mode 100644 docs/zh-CN/assets/js/4f56717b.c360ca71.js create mode 100644 docs/zh-CN/assets/js/54e2d52d.3d9e3f7b.js create mode 100644 docs/zh-CN/assets/js/55937aa5.687e9098.js create mode 100644 docs/zh-CN/assets/js/57ecf674.f076a0e9.js create mode 100644 docs/zh-CN/assets/js/59362658.3134fae8.js create mode 100644 docs/zh-CN/assets/js/5c2a0794.237f7d30.js create mode 100644 docs/zh-CN/assets/js/63a55dd3.680884fb.js create mode 100644 docs/zh-CN/assets/js/63a736d3.9fcc0717.js create mode 100644 docs/zh-CN/assets/js/65f00ee1.2be7ac11.js create mode 100644 docs/zh-CN/assets/js/66ccd0d4.2eb52fb2.js create mode 100644 docs/zh-CN/assets/js/67804ce5.c9dd449a.js create mode 100644 docs/zh-CN/assets/js/686d05c7.5b3fd825.js create mode 100644 docs/zh-CN/assets/js/69da5d73.609e9b6d.js create mode 100644 docs/zh-CN/assets/js/6a413c89.54220112.js create mode 100644 docs/zh-CN/assets/js/6d2cfc39.3cd8e5aa.js create mode 100644 docs/zh-CN/assets/js/704e3d48.3b17eaf1.js create mode 100644 docs/zh-CN/assets/js/71862552.c0b9e3d6.js create mode 100644 docs/zh-CN/assets/js/73664a40.26f8c06e.js create mode 100644 docs/zh-CN/assets/js/748520fd.2fbd1375.js create mode 100644 docs/zh-CN/assets/js/75d5ff30.3b8d7e99.js create mode 100644 docs/zh-CN/assets/js/7661071f.9c185ce5.js create mode 100644 docs/zh-CN/assets/js/77ebee05.e3d921a1.js create mode 100644 docs/zh-CN/assets/js/7d31e524.2a6dc5b0.js create mode 100644 docs/zh-CN/assets/js/7e635c81.dc72f8ba.js create mode 100644 docs/zh-CN/assets/js/814f3328.791d7ccd.js create mode 100644 docs/zh-CN/assets/js/8717b14a.aa98689d.js create mode 100644 docs/zh-CN/assets/js/8887487c.92fef9d6.js create mode 100644 docs/zh-CN/assets/js/8f923324.8c1575f3.js create mode 100644 docs/zh-CN/assets/js/901d8035.8f3a2f29.js create mode 100644 docs/zh-CN/assets/js/90530842.6211e3e0.js create mode 100644 docs/zh-CN/assets/js/925b3f96.2c12662b.js create mode 100644 docs/zh-CN/assets/js/927ec2f9.c71c3ede.js create mode 100644 docs/zh-CN/assets/js/950f866b.0f12e22d.js create mode 100644 docs/zh-CN/assets/js/9c71f3d1.10e4b4fb.js create mode 100644 docs/zh-CN/assets/js/9d89b86d.bce88b89.js create mode 100644 docs/zh-CN/assets/js/9daad0de.75523d68.js create mode 100644 docs/zh-CN/assets/js/9db17f8b.d48b0cd8.js create mode 100644 docs/zh-CN/assets/js/a014548d.31c78567.js create mode 100644 docs/zh-CN/assets/js/aae198e1.b2c46275.js create mode 100644 docs/zh-CN/assets/js/acecf23e.15a70fd6.js create mode 100644 docs/zh-CN/assets/js/ad2c6e96.2f3e4c1b.js create mode 100644 docs/zh-CN/assets/js/af7ec686.9a77d3ec.js create mode 100644 docs/zh-CN/assets/js/b3f27277.3aa7c460.js create mode 100644 docs/zh-CN/assets/js/b59f3880.8a1d4e5e.js create mode 100644 docs/zh-CN/assets/js/b9405ec7.ac6a380a.js create mode 100644 docs/zh-CN/assets/js/ba55dbea.8e77106a.js create mode 100644 docs/zh-CN/assets/js/baab0063.866d71b7.js create mode 100644 docs/zh-CN/assets/js/bc855c70.a32dc1e8.js create mode 100644 docs/zh-CN/assets/js/be209a7f.165f6476.js create mode 100644 docs/zh-CN/assets/js/be91d9f3.5c589872.js create mode 100644 docs/zh-CN/assets/js/bf7fadb6.3e488bc2.js create mode 100644 docs/zh-CN/assets/js/bf829c3f.f2804ed3.js create mode 100644 docs/zh-CN/assets/js/c53df3bd.a471e7c8.js create mode 100644 docs/zh-CN/assets/js/c9e1b05c.2d1b2755.js create mode 100644 docs/zh-CN/assets/js/ce3cfa37.d8ba0620.js create mode 100644 docs/zh-CN/assets/js/cfc0525e.4080fdb8.js create mode 100644 docs/zh-CN/assets/js/d002e413.5d8fcbfd.js create mode 100644 docs/zh-CN/assets/js/d337a622.25783e76.js create mode 100644 docs/zh-CN/assets/js/d525671d.e3a36c24.js create mode 100644 docs/zh-CN/assets/js/d58782cc.d676ed74.js create mode 100644 docs/zh-CN/assets/js/d9f32620.0ab3beaa.js create mode 100644 docs/zh-CN/assets/js/df434354.27d6ce29.js create mode 100644 docs/zh-CN/assets/js/e0673735.fb3624fa.js create mode 100644 docs/zh-CN/assets/js/e1d9382a.5742d4c6.js create mode 100644 docs/zh-CN/assets/js/e2245c5e.0d509555.js create mode 100644 docs/zh-CN/assets/js/e273c56f.55de26f3.js create mode 100644 docs/zh-CN/assets/js/e6bf5b05.3741d2d1.js create mode 100644 docs/zh-CN/assets/js/ea34efd4.3c88313a.js create mode 100644 docs/zh-CN/assets/js/ea54604a.17ca7e30.js create mode 100644 docs/zh-CN/assets/js/ed21c886.50b693b4.js create mode 100644 docs/zh-CN/assets/js/ede04f38.0eca7d28.js create mode 100644 docs/zh-CN/assets/js/f19c9429.e2339d3f.js create mode 100644 docs/zh-CN/assets/js/f4f34a3a.6ad36a7a.js create mode 100644 docs/zh-CN/assets/js/f613708b.776d2147.js create mode 100644 docs/zh-CN/assets/js/main.2c9b4320.js create mode 100644 docs/zh-CN/assets/js/main.2c9b4320.js.LICENSE.txt create mode 100644 docs/zh-CN/assets/js/runtime~main.43d88c2e.js create mode 100644 docs/zh-TW/assets/js/01b5870e.22997a4b.js create mode 100644 docs/zh-TW/assets/js/03292aee.de37da8b.js create mode 100644 docs/zh-TW/assets/js/03371139.e910add8.js create mode 100644 docs/zh-TW/assets/js/04537515.4231aa52.js create mode 100644 docs/zh-TW/assets/js/04c497bc.cdc52a41.js create mode 100644 docs/zh-TW/assets/js/058575a3.31a6d6ca.js create mode 100644 docs/zh-TW/assets/js/073cc85b.5037c664.js create mode 100644 docs/zh-TW/assets/js/0e6fbb46.56202e8f.js create mode 100644 docs/zh-TW/assets/js/0f1adbb2.a335ab94.js create mode 100644 docs/zh-TW/assets/js/12192be3.931bdedd.js create mode 100644 docs/zh-TW/assets/js/1390d5e1.207f990f.js create mode 100644 docs/zh-TW/assets/js/182ba84c.fdd52102.js create mode 100644 docs/zh-TW/assets/js/1aed93ee.a7043a8b.js create mode 100644 docs/zh-TW/assets/js/1d5aaf98.ed124e69.js create mode 100644 docs/zh-TW/assets/js/1dd9a49c.b614a567.js create mode 100644 docs/zh-TW/assets/js/27942da4.e0c43966.js create mode 100644 docs/zh-TW/assets/js/28716386.901ef992.js create mode 100644 docs/zh-TW/assets/js/2b653bff.d9afac27.js create mode 100644 docs/zh-TW/assets/js/2c185fd4.9c167c6b.js create mode 100644 docs/zh-TW/assets/js/2ddc773c.9af2fbac.js create mode 100644 docs/zh-TW/assets/js/31b49899.045cdb99.js create mode 100644 docs/zh-TW/assets/js/34c594fb.26e348e4.js create mode 100644 docs/zh-TW/assets/js/38c29d51.854356fe.js create mode 100644 docs/zh-TW/assets/js/3d7c76a6.77f46928.js create mode 100644 docs/zh-TW/assets/js/3fe1fe4b.24d4de66.js create mode 100644 docs/zh-TW/assets/js/42728682.ae5c5ac8.js create mode 100644 docs/zh-TW/assets/js/42bf553b.abcc6e68.js create mode 100644 docs/zh-TW/assets/js/45f81b81.8eeaa282.js create mode 100644 docs/zh-TW/assets/js/46ef053a.a0bc4a93.js create mode 100644 docs/zh-TW/assets/js/485b68f5.7b1ddd81.js create mode 100644 docs/zh-TW/assets/js/49c9f339.2fd69082.js create mode 100644 docs/zh-TW/assets/js/4de5a1ea.c9c40a20.js create mode 100644 docs/zh-TW/assets/js/4f8abbcb.6eba31fc.js create mode 100644 docs/zh-TW/assets/js/504b2ba7.46a91c6f.js create mode 100644 docs/zh-TW/assets/js/57c9a4d0.b527f123.js create mode 100644 docs/zh-TW/assets/js/58e2ca39.53e98e47.js create mode 100644 docs/zh-TW/assets/js/59362658.bba35788.js create mode 100644 docs/zh-TW/assets/js/5ac1cdbf.2d4cafe5.js create mode 100644 docs/zh-TW/assets/js/5bd6f025.03e884c3.js create mode 100644 docs/zh-TW/assets/js/5d660dcf.16d4fce7.js create mode 100644 docs/zh-TW/assets/js/60aeb817.8e537365.js create mode 100644 docs/zh-TW/assets/js/60d1f3f4.5694bb55.js create mode 100644 docs/zh-TW/assets/js/60dc2bf2.66dadb30.js create mode 100644 docs/zh-TW/assets/js/62d82a3a.b4a6bfc7.js create mode 100644 docs/zh-TW/assets/js/650f66b6.5e4963c9.js create mode 100644 docs/zh-TW/assets/js/689c00c0.5c70439b.js create mode 100644 docs/zh-TW/assets/js/6b13df90.810f8a05.js create mode 100644 docs/zh-TW/assets/js/73664a40.a67dfb98.js create mode 100644 docs/zh-TW/assets/js/76156e28.4cb4d28a.js create mode 100644 docs/zh-TW/assets/js/7661071f.62a86239.js create mode 100644 docs/zh-TW/assets/js/770e6d34.fae26a3b.js create mode 100644 docs/zh-TW/assets/js/7758601e.35fa686a.js create mode 100644 docs/zh-TW/assets/js/7811e65d.e8379157.js create mode 100644 docs/zh-TW/assets/js/7b95e440.03e7fcfa.js create mode 100644 docs/zh-TW/assets/js/80d2fdbf.efcf1d7c.js create mode 100644 docs/zh-TW/assets/js/814f3328.8241c988.js create mode 100644 docs/zh-TW/assets/js/817889a9.dbcca01a.js create mode 100644 docs/zh-TW/assets/js/81f89dfe.a04b17cc.js create mode 100644 docs/zh-TW/assets/js/85bfce50.26324082.js create mode 100644 docs/zh-TW/assets/js/8717b14a.9c622602.js create mode 100644 docs/zh-TW/assets/js/8b5f750c.f2f9bb60.js create mode 100644 docs/zh-TW/assets/js/925b3f96.f99940ea.js create mode 100644 docs/zh-TW/assets/js/947a9822.51142d0b.js create mode 100644 docs/zh-TW/assets/js/981a486b.c2d16297.js create mode 100644 docs/zh-TW/assets/js/983d0557.26af5a7e.js create mode 100644 docs/zh-TW/assets/js/9cc20364.9d0e0a79.js create mode 100644 docs/zh-TW/assets/js/a0511c5d.93836c60.js create mode 100644 docs/zh-TW/assets/js/a57f5657.07653508.js create mode 100644 docs/zh-TW/assets/js/a60f8c45.501e5677.js create mode 100644 docs/zh-TW/assets/js/a637cdbc.027ba08e.js create mode 100644 docs/zh-TW/assets/js/a689cfe1.2986891a.js create mode 100644 docs/zh-TW/assets/js/a9fad307.89c95187.js create mode 100644 docs/zh-TW/assets/js/acecf23e.a4741e37.js create mode 100644 docs/zh-TW/assets/js/acee9acb.cfa4526d.js create mode 100644 docs/zh-TW/assets/js/b5ee86ab.3dc8c65b.js create mode 100644 docs/zh-TW/assets/js/b65d4fc2.1840fbd5.js create mode 100644 docs/zh-TW/assets/js/b7f63549.3fdff93f.js create mode 100644 docs/zh-TW/assets/js/bb9ec5c2.9c63c7a2.js create mode 100644 docs/zh-TW/assets/js/beac1d1d.ee04f681.js create mode 100644 docs/zh-TW/assets/js/c00c59c7.e22290d3.js create mode 100644 docs/zh-TW/assets/js/c2d58ed8.a754c515.js create mode 100644 docs/zh-TW/assets/js/c73dad53.b29f6231.js create mode 100644 docs/zh-TW/assets/js/c7a8e60c.e8282b0e.js create mode 100644 docs/zh-TW/assets/js/c98306fe.f64dc7dc.js create mode 100644 docs/zh-TW/assets/js/cbeff28a.db1d3d4f.js create mode 100644 docs/zh-TW/assets/js/cf6a4f5a.2fbefbde.js create mode 100644 docs/zh-TW/assets/js/d08e83cf.158a31dd.js create mode 100644 docs/zh-TW/assets/js/d740b71f.60374273.js create mode 100644 docs/zh-TW/assets/js/d765b2d0.c8fc749d.js create mode 100644 docs/zh-TW/assets/js/d8f1cfc9.8569ca3e.js create mode 100644 docs/zh-TW/assets/js/d9f32620.9ddeeeba.js create mode 100644 docs/zh-TW/assets/js/e1b33fcc.febfcde8.js create mode 100644 docs/zh-TW/assets/js/e273c56f.b24f053a.js create mode 100644 docs/zh-TW/assets/js/e4f02279.117b076f.js create mode 100644 docs/zh-TW/assets/js/e51a521c.402ff8cf.js create mode 100644 docs/zh-TW/assets/js/e711c1a1.cd8d96b8.js create mode 100644 docs/zh-TW/assets/js/e90d6fe6.3d60f996.js create mode 100644 docs/zh-TW/assets/js/f21d63cb.9802420e.js create mode 100644 docs/zh-TW/assets/js/f3edc3b5.133fae2c.js create mode 100644 docs/zh-TW/assets/js/f4db144d.aa07178e.js create mode 100644 docs/zh-TW/assets/js/f4f34a3a.33e9e0ec.js create mode 100644 docs/zh-TW/assets/js/f75fb1db.3177a4a4.js create mode 100644 docs/zh-TW/assets/js/fd6b40ea.8d71249c.js create mode 100644 docs/zh-TW/assets/js/main.8b1d2449.js create mode 100644 docs/zh-TW/assets/js/main.8b1d2449.js.LICENSE.txt create mode 100644 docs/zh-TW/assets/js/runtime~main.ea65daf4.js diff --git a/docs/404.html b/docs/404.html index d7ecee4ffd..8c14fedfa7 100644 --- a/docs/404.html +++ b/docs/404.html @@ -3,12 +3,12 @@ -Page Not Found | Bytedesk - - - +Page Not Found | Bytedesk + + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/docs/assets/js/003373f3.59cc91f1.js b/docs/assets/js/003373f3.59cc91f1.js new file mode 100644 index 0000000000..849aeebeb7 --- /dev/null +++ b/docs/assets/js/003373f3.59cc91f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2778],{2347:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"develop/visitor/platform/web","title":"Web/H5","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/web.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/web","permalink":"/bytedesk/docs/develop/visitor/platform/web","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/web.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Web/H5","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Status","permalink":"/bytedesk/docs/develop/server/ticket/status"},"next":{"title":"Android","permalink":"/bytedesk/docs/develop/visitor/platform/android"}}');var i=s(5723),r=s(6246);const o={sidebar_label:"Web/H5",sidebar_position:1},d="Web/H5",l={},a=[{value:"\u673a\u5668\u4eba\u5bf9\u8bdd",id:"\u673a\u5668\u4eba\u5bf9\u8bdd",level:2},{value:"\u4e00\u5bf9\u4e00\u5ba2\u670d",id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",level:2},{value:"\u6280\u80fd\u7ec4\u5ba2\u670d",id:"\u6280\u80fd\u7ec4\u5ba2\u670d",level:2}];function c(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"webh5",children:"Web/H5"})}),"\n",(0,i.jsxs)(t.p,{children:["\u9996\u5148\u767b\u5f55",(0,i.jsx)(t.a,{href:"https://www.weiyuai.cn/admin",children:"\u7ba1\u7406\u540e\u53f0"}),"\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002"]}),"\n",(0,i.jsx)(t.h2,{id:"\u673a\u5668\u4eba\u5bf9\u8bdd",children:"\u673a\u5668\u4eba\u5bf9\u8bdd"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.img,{alt:"robot",src:s(3400).A+"",width:"2820",height:"982"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",children:"\u4e00\u5bf9\u4e00\u5ba2\u670d"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.img,{alt:"agent",src:s(3919).A+"",width:"2832",height:"1078"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"\u6280\u80fd\u7ec4\u5ba2\u670d",children:"\u6280\u80fd\u7ec4\u5ba2\u670d"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.img,{alt:"wgroup",src:s(5704).A+"",width:"2854",height:"1108"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},3919:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/agent-web-f31858c44b73e3b8477c963e8f93074f.png"},3400:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/robot-web-0a4f366346bd63674c21c3f0f44443fc.png"},5704:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/wgroup-web-f50e08697bad50a759117ed392e12ff7.png"},6246:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>d});var n=s(2155);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/03fb8e57.28ab9b4b.js b/docs/assets/js/03fb8e57.28ab9b4b.js new file mode 100644 index 0000000000..2360bd5966 --- /dev/null +++ b/docs/assets/js/03fb8e57.28ab9b4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1365],{1544:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"solution/helpcenter","title":"Help Center Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/helpcenter.md","sourceDirName":"solution","slug":"/solution/helpcenter","permalink":"/bytedesk/docs/solution/helpcenter","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/helpcenter.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_label":"Help Center","sidebar_position":7},"sidebar":"tutorialSidebar","previous":{"title":"Knowledge Base","permalink":"/bytedesk/docs/solution/kbase"},"next":{"title":"Ticket System","permalink":"/bytedesk/docs/solution/ticket"}}');var s=i(5723),r=i(6246);const t={sidebar_label:"Help Center",sidebar_position:7},d="Help Center Solution",o={},c=[{value:"Features",id:"features",level:2},{value:"User Features",id:"user-features",level:3},{value:"Agent Features",id:"agent-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"help-center-solution",children:"Help Center Solution"})}),"\n",(0,s.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(n.h3,{id:"user-features",children:"User Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Knowledge base"}),"\n",(0,s.jsx)(n.li,{children:"FAQ search"}),"\n",(0,s.jsx)(n.li,{children:"Ticket submission"}),"\n",(0,s.jsx)(n.li,{children:"Ticket tracking"}),"\n",(0,s.jsx)(n.li,{children:"Community forums"}),"\n",(0,s.jsx)(n.li,{children:"Video tutorials"}),"\n",(0,s.jsx)(n.li,{children:"Documentation"}),"\n",(0,s.jsx)(n.li,{children:"Feedback system"}),"\n",(0,s.jsx)(n.li,{children:"Contact support"}),"\n",(0,s.jsx)(n.li,{children:"Self-service tools"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"agent-features",children:"Agent Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Ticket management"}),"\n",(0,s.jsx)(n.li,{children:"Knowledge management"}),"\n",(0,s.jsx)(n.li,{children:"Response templates"}),"\n",(0,s.jsx)(n.li,{children:"SLA management"}),"\n",(0,s.jsx)(n.li,{children:"Queue management"}),"\n",(0,s.jsx)(n.li,{children:"Performance metrics"}),"\n",(0,s.jsx)(n.li,{children:"Customer history"}),"\n",(0,s.jsx)(n.li,{children:"Team collaboration"}),"\n",(0,s.jsx)(n.li,{children:"Work assignment"}),"\n",(0,s.jsx)(n.li,{children:"Quality control"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User management"}),"\n",(0,s.jsx)(n.li,{children:"Team management"}),"\n",(0,s.jsx)(n.li,{children:"Role management"}),"\n",(0,s.jsx)(n.li,{children:"Permission control"}),"\n",(0,s.jsx)(n.li,{children:"Content management"}),"\n",(0,s.jsx)(n.li,{children:"Analytics dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Report generation"}),"\n",(0,s.jsx)(n.li,{children:"System settings"}),"\n",(0,s.jsx)(n.li,{children:"Data backup"}),"\n",(0,s.jsx)(n.li,{children:"Access logs"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"REST API"}),"\n",(0,s.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,s.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,s.jsx)(n.li,{children:"Android SDK"}),"\n",(0,s.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,s.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,s.jsx)(n.li,{children:"Custom development"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var l=i(2155);const s={},r=l.createContext(s);function t(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/06438b7d.d06d8ca0.js b/docs/assets/js/06438b7d.d06d8ca0.js new file mode 100644 index 0000000000..d9a760132f --- /dev/null +++ b/docs/assets/js/06438b7d.d06d8ca0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9309],{2210:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"develop/server/ai/minimax","title":"MiniMax","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/minimax.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/minimax","permalink":"/bytedesk/docs/develop/server/ai/minimax","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/minimax.md","tags":[],"version":"current","frontMatter":{}}');var s=t(5723),o=t(6246);const i={},a="MiniMax",c={},d=[];function u(e){const n={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"minimax",children:"MiniMax"})})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var r=t(2155);const s={},o=r.createContext(s);function i(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1006a4b3.d551642d.js b/docs/assets/js/1006a4b3.d551642d.js new file mode 100644 index 0000000000..56bcfa8ef6 --- /dev/null +++ b/docs/assets/js/1006a4b3.d551642d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8648],{4229:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>o});const l=JSON.parse('{"id":"develop/visitor/platform/flutter","title":"Flutter","description":"- pub.dev","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/flutter.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/flutter","permalink":"/bytedesk/docs/develop/visitor/platform/flutter","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/flutter.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_label":"Flutter","sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"iOS","permalink":"/bytedesk/docs/develop/visitor/platform/ios"},"next":{"title":"React","permalink":"/bytedesk/docs/develop/visitor/platform/react"}}');var s=i(5723),r=i(6246);const t={sidebar_label:"Flutter",sidebar_position:6},d="Flutter",c={},o=[{value:"\u90e8\u5206\u529f\u80fd",id:"\u90e8\u5206\u529f\u80fd",level:2},{value:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d",id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",level:2},{value:"\u96c6\u6210\u6b65\u9aa4",id:"\u96c6\u6210\u6b65\u9aa4",level:2},{value:"\u7b2c\u4e00\u6b65",id:"\u7b2c\u4e00\u6b65",level:3},{value:"\u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316",id:"\u7b2c\u4e8c\u6b65\u521d\u59cb\u5316",level:3},{value:"\u7b2c\u4e09\u6b65\uff1a\u8054\u7cfb\u5ba2\u670d",id:"\u7b2c\u4e09\u6b65\u8054\u7cfb\u5ba2\u670d",level:3},{value:"\u4ee5\u4e0b\u6b65\u9aa4\u4e3a\u975e\u5fc5\u987b\u6b65\u9aa4\uff0c\u5f00\u53d1\u8005\u53ef\u6839\u636e\u9700\u8981\u8c03\u7528",id:"\u4ee5\u4e0b\u6b65\u9aa4\u4e3a\u975e\u5fc5\u987b\u6b65\u9aa4\u5f00\u53d1\u8005\u53ef\u6839\u636e\u9700\u8981\u8c03\u7528",level:2},{value:"\u81ea\u5b9a\u4e49\u754c\u9762",id:"\u81ea\u5b9a\u4e49\u754c\u9762",level:3}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"flutter",children:"Flutter"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://pub.dev/packages/bytedesk_kefu",children:"pub.dev"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u90e8\u5206\u529f\u80fd",children:"\u90e8\u5206\u529f\u80fd"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"SDK\u6e90\u7801100%\u5f00\u6e90"}),"\n",(0,s.jsx)(n.li,{children:"\u652f\u6301\u5b89\u5353\u3001iOS\u3001Web\u3001Mac\u3001Windows"}),"\n",(0,s.jsx)(n.li,{children:"\u673a\u5668\u4eba\u5bf9\u8bdd"}),"\n",(0,s.jsx)(n.li,{children:"\u6280\u80fd\u7ec4\u5ba2\u670d"}),"\n",(0,s.jsx)(n.li,{children:"\u4e00\u5bf9\u4e00\u5ba2\u670d"}),"\n",(0,s.jsx)(n.li,{children:"\u652f\u6301\u53d1\u9001\u7535\u5546\u5546\u54c1\u4fe1\u606f(\u652f\u6301\u70b9\u51fb\u5546\u54c1\u56de\u8c03)"}),"\n",(0,s.jsx)(n.li,{children:"\u652f\u6301\u53d1\u9001\u9644\u8a00\u6d88\u606f"}),"\n",(0,s.jsx)(n.li,{children:"\u5bf9\u63a5APP\u7528\u6237\u4fe1\u606f(\u6635\u79f0/\u5934\u50cf)"}),"\n",(0,s.jsx)(n.li,{children:"\u83b7\u53d6\u5f53\u524d\u5ba2\u670d\u5728\u7ebf\u72b6\u6001"}),"\n",(0,s.jsx)(n.li,{children:"\u83b7\u53d6\u5386\u53f2\u4f1a\u8bdd"}),"\n",(0,s.jsx)(n.li,{children:"\u6d88\u606f\u63d0\u793a\u97f3/\u632f\u52a8\u8bbe\u7f6e"}),"\n",(0,s.jsx)(n.li,{children:"\u6d88\u606f\u9001\u8fbe/\u5df2\u8bfb"}),"\n",(0,s.jsx)(n.li,{children:"\u6d88\u606f\u64a4\u56de"}),"\n",(0,s.jsx)(n.li,{children:"\u8f93\u5165\u72b6\u6001(\u5bf9\u65b9\u6b63\u5728\u8f93\u5165)"}),"\n",(0,s.jsx)(n.li,{children:"\u53d1\u9001/\u64ad\u653e\u89c6\u9891"}),"\n",(0,s.jsx)(n.li,{children:"\u67e5\u8be2\u672a\u8bfb\u6d88\u606f\u6570"}),"\n",(0,s.jsx)(n.li,{children:"\u652f\u6301\u7ed1\u5b9a\u7b2c\u4e09\u65b9\u8d26\u53f7\u53ca\u591a\u8d26\u53f7\u5207\u6362"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",children:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://gitee.com/270580156/bytedesk-flutter",children:"Gitee Demo"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/Bytedesk/bytedesk-flutter",children:"Github Demo"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u96c6\u6210\u6b65\u9aa4",children:"\u96c6\u6210\u6b65\u9aa4"}),"\n",(0,s.jsx)(n.h3,{id:"\u7b2c\u4e00\u6b65",children:"\u7b2c\u4e00\u6b65"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u5fae\u8bed pubspec.yaml\u6dfb\u52a0\uff1abytedesk_kefu: ^2.0.0"}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://www.weiyuai.cn/admin/",children:"\u6ce8\u518c\u8d26\u53f7"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u590d\u5236SDK\u4e2dassets\u6587\u4ef6\u5939\u5230\u81ea\u5df1\u9879\u76ee\u4e2d\uff0c\u5e76\u914d\u7f6epubspec.yaml\u6587\u4ef6"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-dart",children:"# \u6dfb\u52a0\u4e0b\u97623\u6761\nassets:\n - assets/audio/\n - assets/images/chat/\n - assets/images/feedback/\n"})}),"\n",(0,s.jsx)(n.h3,{id:"\u7b2c\u4e8c\u6b65\u521d\u59cb\u5316",children:"\u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-dart",children:'// \u83b7\u53d6\u4f01\u4e1auid\uff0c\u767b\u5f55\u540e\u53f0->\u5ba2\u670d->\u6e20\u9053->flutter\n// http://www.weiyuai.cn/admin/cs/channel\nString orgUid = "df_org_uid";\n// \u7b2c\u4e00\u6b65\uff1a\u521d\u59cb\u5316\nBytedeskKefu.init(orgUid);\n'})}),"\n",(0,s.jsx)(n.h3,{id:"\u7b2c\u4e09\u6b65\u8054\u7cfb\u5ba2\u670d",children:"\u7b2c\u4e09\u6b65\uff1a\u8054\u7cfb\u5ba2\u670d"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u83b7\u53d6\u6280\u80fd\u7ec4workGroupWid\uff1a\u767b\u5f55\u540e\u53f0->\u5ba2\u670d\u7ba1\u7406->\u6280\u80fd\u7ec4->\u552f\u4e00wid"}),"\n",(0,s.jsx)(n.li,{children:'BytedeskKefu.startWorkGroupChat(context, workGroupWid, "\u6280\u80fd\u7ec4\u5ba2\u670dwid");'}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u4ee5\u4e0b\u6b65\u9aa4\u4e3a\u975e\u5fc5\u987b\u6b65\u9aa4\u5f00\u53d1\u8005\u53ef\u6839\u636e\u9700\u8981\u8c03\u7528",children:"\u4ee5\u4e0b\u6b65\u9aa4\u4e3a\u975e\u5fc5\u987b\u6b65\u9aa4\uff0c\u5f00\u53d1\u8005\u53ef\u6839\u636e\u9700\u8981\u8c03\u7528"}),"\n",(0,s.jsx)(n.h3,{id:"\u81ea\u5b9a\u4e49\u754c\u9762",children:"\u81ea\u5b9a\u4e49\u754c\u9762"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u9879\u76ee\u4e2d\u521b\u5efa\u6587\u4ef6\u5939: vendors"}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u5c06 bytedesk_kefu \u6587\u4ef6\u5939\u653e\u5728 vendors \u6587\u4ef6\u5939\u4e2d"}),"\n",(0,s.jsx)(n.li,{children:"pubspect.yaml\u4e2d\u586b\u5199\u5f15\u7528\u672c\u5730\u6e90\u7801"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-dart",children:"bytedesk_kefu:\n path: ./vendors/bytedesk_kefu\n"})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var l=i(2155);const s={},r=l.createContext(s);function t(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/10e43522.0e3f9522.js b/docs/assets/js/10e43522.0e3f9522.js new file mode 100644 index 0000000000..6d316148bd --- /dev/null +++ b/docs/assets/js/10e43522.0e3f9522.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3247],{4975:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var s=n(5763),o=n(5723),i=n(6246);const l={slug:"scan-to-login",title:"QR Code Login Implementation Process",authors:"jackning",tags:["developer","bytedesk"]},r=void 0,c={authorsImageUrls:[void 0]},d=[];function a(e){const t={li:"li",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Desktop client generates a unique device uid: deviceUid"}),"\n",(0,o.jsx)(t.li,{children:"Sends this deviceUid to the server, server returns a random code: randomCode"}),"\n",(0,o.jsx)(t.li,{children:"Desktop client generates QR code using randomCode and deviceUid"}),"\n",(0,o.jsx)(t.li,{children:"Mobile client scans this QR code, obtains deviceUid, sends deviceUid to server, server updates status to SCANED"}),"\n",(0,o.jsx)(t.li,{children:"Mobile client clicks confirm login, sends mobile number and deviceUid to server, server saves mobile number and updates status to CONFIRMED"}),"\n",(0,o.jsx)(t.li,{children:"Desktop client polls to get mobile number and CONFIRMED status, uses mobile number and randomCode to call login API"}),"\n",(0,o.jsx)(t.li,{children:"If desktop client gets EXPIRED status, it needs to fetch a new randomCode and regenerate QR code"}),"\n",(0,o.jsx)(t.li,{children:"After successful login, returns accessToken, desktop client saves this accessToken locally and redirects to homepage"}),"\n"]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>r});var s=n(2155);const o={},i=s.createContext(o);function l(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(i.Provider,{value:t},e.children)}},5763:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/scan-to-login","editUrl":"https://github.com/bytedesk/bytedesk/blog/2024-10-08-scan-to-login.md","source":"@site/i18n/en/docusaurus-plugin-content-blog/2024-10-08-scan-to-login.md","title":"QR Code Login Implementation Process","description":"- Desktop client generates a unique device uid: deviceUid","date":"2024-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Developer","permalink":"/bytedesk/blog/tags/developer","description":"Developer tag description"},{"inline":false,"label":"Bytedesk","permalink":"/bytedesk/blog/tags/bytedesk","description":"Bytedesk tag description"}],"readingTime":0.67,"hasTruncateMarker":true,"authors":[{"name":"Jack Ning","title":"Maintainer of Bytedesk","url":"https://github.com/pengjinning","imageURL":"https://www.kefux.com/assets/img/qrcode/qiye.png","key":"jackning","page":null}],"frontMatter":{"slug":"scan-to-login","title":"QR Code Login Implementation Process","authors":"jackning","tags":["developer","bytedesk"]},"unlisted":false,"nextItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/11d29fa1.5d13b15c.js b/docs/assets/js/11d29fa1.5d13b15c.js new file mode 100644 index 0000000000..ed8951674c --- /dev/null +++ b/docs/assets/js/11d29fa1.5d13b15c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2256],{5372:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"deploy/depend/docker","title":"Docker","description":"Installation","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/docker.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/docker","permalink":"/bytedesk/docs/deploy/depend/docker","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/docker.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Docker","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"SSL Certificate","permalink":"/bytedesk/docs/deploy/depend/letsencrypt"},"next":{"title":"JDK","permalink":"/bytedesk/docs/deploy/depend/jdk"}}');var d=n(5723),r=n(6246);const s={sidebar_label:"Docker",sidebar_position:2},c="Docker",i={},a=[{value:"Installation",id:"installation",level:2}];function l(e){const t={code:"code",h1:"h1",h2:"h2",header:"header",pre:"pre",...(0,r.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.header,{children:(0,d.jsx)(t.h1,{id:"docker",children:"Docker"})}),"\n",(0,d.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,d.jsx)(t.pre,{children:(0,d.jsx)(t.code,{className:"language-bash",children:"# Install Docker\ncurl -fsSL https://get.docker.com | bash -s docker\n# Or\nwget -qO- https://get.docker.com | bash\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var o=n(2155);const d={},r=o.createContext(d);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/157240d8.1136cbe2.js b/docs/assets/js/157240d8.1136cbe2.js new file mode 100644 index 0000000000..1e1c2558e8 --- /dev/null +++ b/docs/assets/js/157240d8.1136cbe2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7134],{7126:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>u,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"develop/server/ai/hunyuan","title":"Tencent Hunyuan","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/hunyuan.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/hunyuan","permalink":"/bytedesk/docs/develop/server/ai/hunyuan","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/hunyuan.md","tags":[],"version":"current","frontMatter":{}}');var s=t(5723),o=t(6246);const u={},c="Tencent Hunyuan",a={},d=[];function i(e){const n={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"tencent-hunyuan",children:"Tencent Hunyuan"})})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>u,x:()=>c});var r=t(2155);const s={},o=r.createContext(s);function u(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:u(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/158c8766.d7f99791.js b/docs/assets/js/158c8766.d7f99791.js new file mode 100644 index 0000000000..0efa27a713 --- /dev/null +++ b/docs/assets/js/158c8766.d7f99791.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9541],{3161:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"solution/hospital","title":"Healthcare Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/hospital.md","sourceDirName":"solution","slug":"/solution/hospital","permalink":"/bytedesk/docs/solution/hospital","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/hospital.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"Healthcare","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Education","permalink":"/bytedesk/docs/solution/edu"},"next":{"title":"E-commerce","permalink":"/bytedesk/docs/solution/shop"}}');var r=i(5723),s=i(6246);const t={sidebar_label:"Healthcare",sidebar_position:4},d="Healthcare Solution",o={},c=[{value:"Features",id:"features",level:2},{value:"Patient Features",id:"patient-features",level:3},{value:"Doctor Features",id:"doctor-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"healthcare-solution",children:"Healthcare Solution"})}),"\n",(0,r.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,r.jsx)(n.h3,{id:"patient-features",children:"Patient Features"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Online consultation"}),"\n",(0,r.jsx)(n.li,{children:"Appointment booking"}),"\n",(0,r.jsx)(n.li,{children:"Medical records"}),"\n",(0,r.jsx)(n.li,{children:"Prescription history"}),"\n",(0,r.jsx)(n.li,{children:"Test results"}),"\n",(0,r.jsx)(n.li,{children:"Treatment plans"}),"\n",(0,r.jsx)(n.li,{children:"Payment history"}),"\n",(0,r.jsx)(n.li,{children:"Insurance claims"}),"\n",(0,r.jsx)(n.li,{children:"Medication reminders"}),"\n",(0,r.jsx)(n.li,{children:"Health tracking"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"doctor-features",children:"Doctor Features"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Patient management"}),"\n",(0,r.jsx)(n.li,{children:"Appointment scheduling"}),"\n",(0,r.jsx)(n.li,{children:"Medical records"}),"\n",(0,r.jsx)(n.li,{children:"Prescription management"}),"\n",(0,r.jsx)(n.li,{children:"Test ordering"}),"\n",(0,r.jsx)(n.li,{children:"Treatment planning"}),"\n",(0,r.jsx)(n.li,{children:"Patient communication"}),"\n",(0,r.jsx)(n.li,{children:"Referral management"}),"\n",(0,r.jsx)(n.li,{children:"Work schedule"}),"\n",(0,r.jsx)(n.li,{children:"Performance reports"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"User management"}),"\n",(0,r.jsx)(n.li,{children:"Department management"}),"\n",(0,r.jsx)(n.li,{children:"Doctor management"}),"\n",(0,r.jsx)(n.li,{children:"Patient management"}),"\n",(0,r.jsx)(n.li,{children:"Appointment management"}),"\n",(0,r.jsx)(n.li,{children:"Billing management"}),"\n",(0,r.jsx)(n.li,{children:"Insurance management"}),"\n",(0,r.jsx)(n.li,{children:"System settings"}),"\n",(0,r.jsx)(n.li,{children:"Analytics dashboard"}),"\n",(0,r.jsx)(n.li,{children:"Data backup"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"REST API"}),"\n",(0,r.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,r.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,r.jsx)(n.li,{children:"Android SDK"}),"\n",(0,r.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,r.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,r.jsx)(n.li,{children:"Custom development"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var l=i(2155);const r={},s=l.createContext(r);function t(e){const n=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),l.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/17fadf48.37e6aba3.js b/docs/assets/js/17fadf48.37e6aba3.js new file mode 100644 index 0000000000..eebeff882a --- /dev/null +++ b/docs/assets/js/17fadf48.37e6aba3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6418],{580:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"develop/visitor/platform/react","title":"React","description":"\u90e8\u5206\u529f\u80fd","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/react.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/react","permalink":"/bytedesk/docs/develop/visitor/platform/react","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/react.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"React","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Flutter","permalink":"/bytedesk/docs/develop/visitor/platform/flutter"},"next":{"title":"Uniapp","permalink":"/bytedesk/docs/develop/visitor/platform/uniapp"}}');var i=n(5723),s=n(6246);const o={sidebar_label:"React",sidebar_position:2},l="React",a={},d=[{value:"\u90e8\u5206\u529f\u80fd",id:"\u90e8\u5206\u529f\u80fd",level:2},{value:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d",id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",level:2},{value:"\u5b89\u88c5",id:"\u5b89\u88c5",level:2},{value:"\u4f7f\u7528",id:"\u4f7f\u7528",level:2},{value:"\u83b7\u53d6\u5ba2\u670d\u94fe\u63a5",id:"\u83b7\u53d6\u5ba2\u670d\u94fe\u63a5",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"react",children:"React"})}),"\n",(0,i.jsx)(t.h2,{id:"\u90e8\u5206\u529f\u80fd",children:"\u90e8\u5206\u529f\u80fd"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\u5fae\u8bed\u5b98\u65b9\u6280\u672f\u652f\u6301"}),"\n",(0,i.jsx)(t.li,{children:"100%\u5168\u90e8\u5f00\u6e90\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u754c\u9762"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u4eba\u5de5\u5ba2\u670d"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u673a\u5668\u4eba"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u6587\u5b57\u3001\u56fe\u7247\u3001\u8bed\u97f3\u3001\u8868\u60c5"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u6d88\u606f\u9884\u77e5\uff1a\u5bf9\u65b9\u6b63\u5728\u8f93\u5165"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u6d88\u606f\u72b6\u6001\uff1a\u9001\u8fbe\u3001\u5df2\u8bfb"}),"\n",(0,i.jsx)(t.li,{children:"\u652f\u6301\u6d88\u606f\u64a4\u56de"}),"\n",(0,i.jsx)(t.li,{children:"\u5bf9\u63a5\u7b2c\u4e09\u65b9\u8d26\u53f7\u7cfb\u7edf/\u591a\u7528\u6237\u5207\u6362"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",children:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://gitee.com/270580156/bytedesk-react",children:"Gitee Demo"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/Bytedesk/bytedesk-react",children:"Github Demo"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"\u5b89\u88c5",children:"\u5b89\u88c5"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"npm install bytedesk-react --save\n# or\nyarn add bytedesk-react\n"})}),"\n",(0,i.jsx)(t.h2,{id:"\u4f7f\u7528",children:"\u4f7f\u7528"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-jsx",children:"import { ChatFloat } from \"bytedesk-react\";\n// \n\n// params:\nchatUrl: \u5ba2\u670d\u94fe\u63a5;\n"})}),"\n",(0,i.jsx)(t.h2,{id:"\u83b7\u53d6\u5ba2\u670d\u94fe\u63a5",children:"\u83b7\u53d6\u5ba2\u670d\u94fe\u63a5"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://www.weiyuai.cn/admin/cs/wgroup",children:"\u767b\u5f55\u7ba1\u7406\u540e\u53f0"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var r=n(2155);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1a871bde.4de27cab.js b/docs/assets/js/1a871bde.4de27cab.js new file mode 100644 index 0000000000..fdd5fc9d9a --- /dev/null +++ b/docs/assets/js/1a871bde.4de27cab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5278],{7617:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"deploy/cicd/agent","title":"Agent Client CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/agent.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/agent","permalink":"/bytedesk/docs/deploy/cicd/agent","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/agent.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Agent Client","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Admin Dashboard","permalink":"/bytedesk/docs/deploy/cicd/admin"},"next":{"title":"Visitor Client","permalink":"/bytedesk/docs/deploy/cicd/visitor"}}');var s=t(5723),a=t(6246);const l={sidebar_label:"Agent Client",sidebar_position:3},r="Agent Client CI/CD",d={},c=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function o(n){const e={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,a.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"agent-client-cicd",children:"Agent Client CI/CD"})}),"\n",(0,s.jsx)(e.admonition,{type:"tip",children:(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,s.jsx)(e.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,s.jsx)(e.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-yaml",children:'name: Build and Deploy Agent\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: \'16.x\'\n \n - name: Install Dependencies\n run: yarn install\n \n - name: Build\n run: yarn build\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: "dist/*"\n target: "/var/www/html/weiyuai/agent/"\n'})}),"\n",(0,s.jsx)(e.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: node:16\n script:\n - yarn install\n - yarn build\n artifacts:\n paths:\n - dist/\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/agent/\n only:\n - main\n"})}),"\n",(0,s.jsx)(e.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n stages {\n stage('Build') {\n steps {\n sh 'yarn install'\n sh 'yarn build'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/agent/'\n }\n }\n }\n}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,a.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(o,{...n})}):o(n)}},6246:(n,e,t)=>{t.d(e,{R:()=>l,x:()=>r});var i=t(2155);const s={},a=i.createContext(s);function l(n){const e=i.useContext(a);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),i.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1d4a64ce.5615deca.js b/docs/assets/js/1d4a64ce.5615deca.js new file mode 100644 index 0000000000..d859efc736 --- /dev/null +++ b/docs/assets/js/1d4a64ce.5615deca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[679],{5446:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>a});const d=JSON.parse('{"id":"develop/visitor/platform/android","title":"Android","description":"\u90e8\u5206\u529f\u80fd","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/android.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/android","permalink":"/bytedesk/docs/develop/visitor/platform/android","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/android.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Android","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Web/H5","permalink":"/bytedesk/docs/develop/visitor/platform/web"},"next":{"title":"iOS","permalink":"/bytedesk/docs/develop/visitor/platform/ios"}}');var r=i(5723),t=i(6246);const s={sidebar_label:"Android",sidebar_position:5},o="Android",l={},a=[{value:"\u90e8\u5206\u529f\u80fd",id:"\u90e8\u5206\u529f\u80fd",level:2},{value:"SDK Demo \u4e0b\u8f7d",id:"sdk-demo-\u4e0b\u8f7d",level:2},{value:"\u96c6\u6210",id:"\u96c6\u6210",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"android",children:"Android"})}),"\n",(0,r.jsx)(n.h2,{id:"\u90e8\u5206\u529f\u80fd",children:"\u90e8\u5206\u529f\u80fd"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u5fae\u8bed\u5b98\u65b9\u6280\u672f\u652f\u6301"}),"\n",(0,r.jsx)(n.li,{children:"100%\u5168\u90e8\u5f00\u6e90\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u754c\u9762"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u4eba\u5de5\u5ba2\u670d"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u673a\u5668\u4eba"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u6587\u5b57\u3001\u56fe\u7247\u3001\u8bed\u97f3\u3001\u8868\u60c5"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u9884\u77e5\uff1a\u5bf9\u65b9\u6b63\u5728\u8f93\u5165"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u72b6\u6001\uff1a\u9001\u8fbe\u3001\u5df2\u8bfb"}),"\n",(0,r.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u64a4\u56de"}),"\n",(0,r.jsx)(n.li,{children:"\u5bf9\u63a5\u7b2c\u4e09\u65b9\u8d26\u53f7\u7cfb\u7edf/\u591a\u7528\u6237\u5207\u6362"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"sdk-demo-\u4e0b\u8f7d",children:"SDK Demo \u4e0b\u8f7d"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://gitee.com/270580156/bytedesk-android",children:"Gitee Demo"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Bytedesk/bytedesk-android",children:"Github Demo"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"\u96c6\u6210",children:"\u96c6\u6210"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u5728\u9879\u76ee\u4e2d\u5f15\u5165bytedesk-android\u6a21\u5757\uff0c\u53c2\u8003bytedesk-demo\nimplementation project(':bytedesk-android')\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u6df7\u6dc6"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u53c2\u8003bytedesk-demo proguard-rules.pro\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>o});var d=i(2155);const r={},t=d.createContext(r);function s(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1fb55056.fe07d6b5.js b/docs/assets/js/1fb55056.fe07d6b5.js new file mode 100644 index 0000000000..3b882a0fd1 --- /dev/null +++ b/docs/assets/js/1fb55056.fe07d6b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8455],{6868:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"develop/server/kbase/helpdoc","title":"Helpdoc","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/kbase/helpdoc.md","sourceDirName":"develop/server/kbase","slug":"/develop/server/kbase/helpdoc","permalink":"/bytedesk/docs/develop/server/kbase/helpdoc","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/kbase/helpdoc.md","tags":[],"version":"current","frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Member","permalink":"/bytedesk/docs/develop/server/team/member"},"next":{"title":"Status","permalink":"/bytedesk/docs/develop/server/ticket/status"}}');var o=s(5723),n=s(6246);const c={},d="Helpdoc",a={},l=[];function i(e){const t={h1:"h1",header:"header",...(0,n.R)(),...e.components};return(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"helpdoc",children:"Helpdoc"})})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},6246:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>d});var r=s(2155);const o={},n=r.createContext(o);function c(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/20e51ce5.e0812c13.js b/docs/assets/js/20e51ce5.e0812c13.js new file mode 100644 index 0000000000..9f8035c2a6 --- /dev/null +++ b/docs/assets/js/20e51ce5.e0812c13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8809],{8839:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"develop/visitor/platform/ios","title":"iOS Swift SDK","description":"\u90e8\u5206\u529f\u80fd","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/ios.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/ios","permalink":"/bytedesk/docs/develop/visitor/platform/ios","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/ios.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"iOS","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Android","permalink":"/bytedesk/docs/develop/visitor/platform/android"},"next":{"title":"Flutter","permalink":"/bytedesk/docs/develop/visitor/platform/flutter"}}');var t=n(5723),r=n(6246);const l={sidebar_label:"iOS",sidebar_position:4},d="iOS Swift SDK",o={},a=[{value:"\u90e8\u5206\u529f\u80fd",id:"\u90e8\u5206\u529f\u80fd",level:2},{value:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d",id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",level:2},{value:"\u96c6\u6210\u65b9\u5f0f",id:"\u96c6\u6210\u65b9\u5f0f",level:2},{value:"\u65b9\u6cd5 1. \u672c\u5730\u96c6\u6210",id:"\u65b9\u6cd5-1-\u672c\u5730\u96c6\u6210",level:3},{value:"\u65b9\u6cd5 2. Swift Package Manager (SPM)",id:"\u65b9\u6cd5-2-swift-package-manager-spm",level:3},{value:"3. Carthage",id:"3-carthage",level:3}];function c(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"ios-swift-sdk",children:"iOS Swift SDK"})}),"\n",(0,t.jsx)(i.h2,{id:"\u90e8\u5206\u529f\u80fd",children:"\u90e8\u5206\u529f\u80fd"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"\u5fae\u8bed\u5b98\u65b9\u6280\u672f\u652f\u6301"}),"\n",(0,t.jsx)(i.li,{children:"\u5168\u90e8\u57fa\u4e8eSwift\u5f00\u53d1\uff0c100%\u5168\u90e8\u5f00\u6e90\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u754c\u9762"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u4eba\u5de5\u5ba2\u670d"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u673a\u5668\u4eba"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u6587\u5b57\u3001\u56fe\u7247\u3001\u8bed\u97f3\u3001\u8868\u60c5"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u6d88\u606f\u9884\u77e5\uff1a\u5bf9\u65b9\u6b63\u5728\u8f93\u5165"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u6d88\u606f\u72b6\u6001\uff1a\u9001\u8fbe\u3001\u5df2\u8bfb"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u6d88\u606f\u64a4\u56de"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u53d1\u9001\u5546\u54c1\u4fe1\u606f"}),"\n",(0,t.jsx)(i.li,{children:"\u672a\u8bfb\u6d88\u606f\u6570\u67e5\u8be2\u63a5\u53e3"}),"\n",(0,t.jsx)(i.li,{children:"\u5bf9\u63a5\u7b2c\u4e09\u65b9\u8d26\u53f7\u7cfb\u7edf"}),"\n",(0,t.jsx)(i.li,{children:"\u652f\u6301\u591a\u7528\u6237\u5207\u6362"}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",children:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://gitee.com/270580156/bytedesk-swift",children:"Gitee"})}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.a,{href:"https://github.com/Bytedesk/bytedesk-swift",children:"Github"})}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"\u96c6\u6210\u65b9\u5f0f",children:"\u96c6\u6210\u65b9\u5f0f"}),"\n",(0,t.jsx)(i.p,{children:"\u5efa\u8bae: Xcode Version 14.3\uff0c\u6700\u4f4e\u517c\u5bb9: iOS 13"}),"\n",(0,t.jsx)(i.h3,{id:"\u65b9\u6cd5-1-\u672c\u5730\u96c6\u6210",children:"\u65b9\u6cd5 1. \u672c\u5730\u96c6\u6210"}),"\n",(0,t.jsx)(i.p,{children:"\u6b64\u65b9\u6cd5\u9002\u7528\u4e8e\u6709\u81ea\u5b9a\u4e49\u754c\u9762\u9700\u6c42\u7684\u5f00\u53d1\u8005"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"\u4e0b\u8f7d\u6e90\u7801\uff0c\u76f4\u63a5\u62d6\u5230\u81ea\u5df1\u9879\u76ee\u4e2d"}),"\n",(0,t.jsx)(i.li,{children:"\u9009\u62e9\u9879\u76ee\uff0c\u9009\u4e2d\u9879\u76eeTARGET\uff0c\u9009\u4e2d General\uff0c\u5728 framework \u4e2d\u6dfb\u52a0 bytedesk_swift.framework"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"\u65b9\u6cd5-2-swift-package-manager-spm",children:"\u65b9\u6cd5 2. Swift Package Manager (SPM)"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-bash",children:'dependencies: [\n .package(url: "https://gitee.com/270580156/bytedesk-swift", .upToNextMajor(from: "3.0.0"))\n]\n\u6216\ndependencies: [\n .package(url: "https://github.com/Bytedesk/bytedesk-swift", .upToNextMajor(from: "3.0.0"))\n]\n'})}),"\n",(0,t.jsx)(i.h3,{id:"3-carthage",children:"3. Carthage"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-bash",children:"github 'bytedesk-swift/bytedesk-swift' ~> 3.0.0\n"})})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},6246:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>d});var s=n(2155);const t={},r=s.createContext(t);function l(e){const i=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2459241d.d38a816d.js b/docs/assets/js/2459241d.d38a816d.js new file mode 100644 index 0000000000..2b96731743 --- /dev/null +++ b/docs/assets/js/2459241d.d38a816d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8582],{1922:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>i});const n=JSON.parse('{"id":"deploy/depend/mysql","title":"MySQL","description":"Installation","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/mysql.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/mysql","permalink":"/bytedesk/docs/deploy/depend/mysql","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/mysql.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"MySQL","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Developer Docs","permalink":"/bytedesk/docs/deploy/cicd/devdoc"},"next":{"title":"PostgreSQL","permalink":"/bytedesk/docs/deploy/depend/postgresql"}}');var o=s(5723),d=s(6246);const l={sidebar_label:"MySQL",sidebar_position:5},r="MySQL",a={},i=[{value:"Installation",id:"installation",level:2}];function c(e){const t={code:"code",h1:"h1",h2:"h2",header:"header",pre:"pre",...(0,d.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"mysql",children:"MySQL"})}),"\n",(0,o.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"# Install MySQL\nsudo apt update\nsudo apt install mysql-server\n# Start MySQL\nsudo systemctl start mysql\n# Check status\nsudo systemctl status mysql\n"})})]})}function p(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},6246:(e,t,s)=>{s.d(t,{R:()=>l,x:()=>r});var n=s(2155);const o={},d=n.createContext(o);function l(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/27c697bf.782cfdb8.js b/docs/assets/js/27c697bf.782cfdb8.js new file mode 100644 index 0000000000..ed33fccbb9 --- /dev/null +++ b/docs/assets/js/27c697bf.782cfdb8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7213],{4614:e=>{e.exports=JSON.parse('{"tag":{"label":"Facebook","permalink":"/bytedesk/blog/tags/facebook","description":"Facebook tag description","allTagsPath":"/bytedesk/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/facebook","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/2b41adb9.b6c34b75.js b/docs/assets/js/2b41adb9.b6c34b75.js new file mode 100644 index 0000000000..4cee794249 --- /dev/null +++ b/docs/assets/js/2b41adb9.b6c34b75.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2090],{7466:e=>{e.exports=JSON.parse('{"metadata":{"permalink":"/bytedesk/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":5,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/2ee0f334.c6e40f4c.js b/docs/assets/js/2ee0f334.c6e40f4c.js new file mode 100644 index 0000000000..d3852a7292 --- /dev/null +++ b/docs/assets/js/2ee0f334.c6e40f4c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6947],{2756:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>d,default:()=>l,frontMatter:()=>c,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"develop/server/ticket/status","title":"Status","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ticket/status.md","sourceDirName":"develop/server/ticket","slug":"/develop/server/ticket/status","permalink":"/bytedesk/docs/develop/server/ticket/status","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ticket/status.md","tags":[],"version":"current","frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Helpdoc","permalink":"/bytedesk/docs/develop/server/kbase/helpdoc"},"next":{"title":"Web/H5","permalink":"/bytedesk/docs/develop/visitor/platform/web"}}');var n=s(5723),o=s(6246);const c={},d="Status",i={},a=[];function u(e){const t={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"status",children:"Status"})})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},6246:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>d});var r=s(2155);const n={},o=r.createContext(n);function c(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/319c6d68.983d2f77.js b/docs/assets/js/319c6d68.983d2f77.js new file mode 100644 index 0000000000..c2b6c5e25f --- /dev/null +++ b/docs/assets/js/319c6d68.983d2f77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[551],{3120:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"manual/admin/kbase/helpcenter","title":"Help Center","description":"What is Help Center?","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/helpcenter.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/helpcenter","permalink":"/bytedesk/docs/manual/admin/kbase/helpcenter","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/helpcenter.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Help Center","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Workgroup","permalink":"/bytedesk/docs/manual/admin/service/workgroup"},"next":{"title":"FAQ","permalink":"/bytedesk/docs/manual/admin/kbase/faq"}}');var a=t(5723),s=t(6246);const i={sidebar_label:"Help Center",sidebar_position:1},l="Help Center",o={},d=[{value:"What is Help Center?",id:"what-is-help-center",level:2},{value:"Features",id:"features",level:2},{value:"Preview",id:"preview",level:2}];function c(e){const n={h1:"h1",h2:"h2",header:"header",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"help-center",children:"Help Center"})}),"\n",(0,a.jsx)(n.h2,{id:"what-is-help-center",children:"What is Help Center?"}),"\n",(0,a.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,a.jsx)(n.h2,{id:"preview",children:"Preview"})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var r=t(2155);const a={},s=r.createContext(a);function i(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/32d11bb6.e9a862a1.js b/docs/assets/js/32d11bb6.e9a862a1.js new file mode 100644 index 0000000000..2414076af3 --- /dev/null +++ b/docs/assets/js/32d11bb6.e9a862a1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8576],{412:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"deploy/cicd/visitor","title":"Visitor Client CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/visitor.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/visitor","permalink":"/bytedesk/docs/deploy/cicd/visitor","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/visitor.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"Visitor Client","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Agent Client","permalink":"/bytedesk/docs/deploy/cicd/agent"},"next":{"title":"Developer Docs","permalink":"/bytedesk/docs/deploy/cicd/devdoc"}}');var s=i(5723),r=i(6246);const l={sidebar_label:"Visitor Client",sidebar_position:4},o="Visitor Client CI/CD",a={},c=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function d(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"visitor-client-cicd",children:"Visitor Client CI/CD"})}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,s.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,s.jsx)(n.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'name: Build and Deploy Visitor\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: \'16.x\'\n \n - name: Install Dependencies\n run: yarn install\n \n - name: Build\n run: yarn build\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: "dist/*"\n target: "/var/www/html/weiyuai/chat/"\n'})}),"\n",(0,s.jsx)(n.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: node:16\n script:\n - yarn install\n - yarn build\n artifacts:\n paths:\n - dist/\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/chat/\n only:\n - main\n"})}),"\n",(0,s.jsx)(n.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n stages {\n stage('Build') {\n steps {\n sh 'yarn install'\n sh 'yarn build'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/chat/'\n }\n }\n }\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>o});var t=i(2155);const s={},r=t.createContext(s);function l(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/36ed5ad5.38df79f8.js b/docs/assets/js/36ed5ad5.38df79f8.js new file mode 100644 index 0000000000..4d80631ee6 --- /dev/null +++ b/docs/assets/js/36ed5ad5.38df79f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6216],{1694:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"develop/server/ai/moonshot","title":"Moonshot","description":"- Official Console","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/moonshot.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/moonshot","permalink":"/bytedesk/docs/develop/server/ai/moonshot","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/moonshot.md","tags":[],"version":"current","frontMatter":{}}');var s=n(5723),r=n(6246);const c={},i="Moonshot",a={},l=[];function d(e){const o={a:"a",h1:"h1",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.header,{children:(0,s.jsx)(o.h1,{id:"moonshot",children:"Moonshot"})}),"\n",(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"https://platform.moonshot.cn/console/info",children:"Official Console"})}),"\n",(0,s.jsx)(o.li,{children:(0,s.jsx)(o.a,{href:"https://docs.spring.io/spring-ai/reference/api/chat/moonshot-chat.html",children:"spring-ai"})}),"\n"]})]})}function h(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6246:(e,o,n)=>{n.d(o,{R:()=>c,x:()=>i});var t=n(2155);const s={},r=t.createContext(s);function c(e){const o=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/37c5fcf1.2cc51ab2.js b/docs/assets/js/37c5fcf1.2cc51ab2.js new file mode 100644 index 0000000000..cbcce53ffd --- /dev/null +++ b/docs/assets/js/37c5fcf1.2cc51ab2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4623],{34:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"deploy/admin","title":"Admin Dashboard Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/admin.md","sourceDirName":"deploy","slug":"/deploy/admin","permalink":"/bytedesk/docs/deploy/admin","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/admin.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Admin Dashboard","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"JAR","permalink":"/bytedesk/docs/deploy/jar"},"next":{"title":"Client","permalink":"/bytedesk/docs/deploy/agent"}}');var o=d(5723),t=d(6246);const s={sidebar_label:"Admin Dashboard",sidebar_position:2},r="Admin Dashboard Deployment",l={},a=[{value:"Dependencies",id:"dependencies",level:2},{value:"Download",id:"download",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Deploy",id:"deploy",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"admin-dashboard-deployment",children:"Admin Dashboard Deployment"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,o.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,o.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/nginx",children:"Nginx"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/letsencrypt",children:"Let's Encrypt"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Download source code\ngit clone https://github.com/bytedesk/bytedesk-admin.git\ncd bytedesk-admin\n# Install dependencies\nyarn install\n# Start development\nyarn dev\n# Build for production\nyarn build\n"})}),"\n",(0,o.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Modify configuration files\nvim .env.production\n# Modify API URL\nVITE_API_URL=https://api.example.com\n"})}),"\n",(0,o.jsx)(n.h2,{id:"deploy",children:"Deploy"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Copy dist directory to nginx html directory\ncp -r dist/* /var/www/html/weiyuai/admin/\n"})})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},6246:(e,n,d)=>{d.d(n,{R:()=>s,x:()=>r});var i=d(2155);const o={},t=i.createContext(o);function s(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/3d510a8c.91891183.js b/docs/assets/js/3d510a8c.91891183.js new file mode 100644 index 0000000000..34d536f244 --- /dev/null +++ b/docs/assets/js/3d510a8c.91891183.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6758],{2342:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"develop/visitor/social/wechatmini","title":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatmini.md","sourceDirName":"develop/visitor/social","slug":"/develop/visitor/social/wechatmini","permalink":"/bytedesk/docs/develop/visitor/social/wechatmini","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/social/wechatmini.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f","sidebar_position":3}}');var s=o(5723),i=o(6246);const r={sidebar_label:"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f",sidebar_position:3},c="\u5fae\u4fe1\u5c0f\u7a0b\u5e8f",a={},d=[];function l(e){const t={h1:"h1",header:"header",...(0,i.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f",children:"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f"})})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>c});var n=o(2155);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/40762991.de569e9f.js b/docs/assets/js/40762991.de569e9f.js new file mode 100644 index 0000000000..2bc96de104 --- /dev/null +++ b/docs/assets/js/40762991.de569e9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4433],{2070:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>u,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"solution/queue-number","title":"Queue Management Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/queue-number.md","sourceDirName":"solution","slug":"/solution/queue-number","permalink":"/bytedesk/docs/solution/queue-number","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/queue-number.md","tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_label":"Queue Management","sidebar_position":9},"sidebar":"tutorialSidebar","previous":{"title":"Ticket System","permalink":"/bytedesk/docs/solution/ticket"},"next":{"title":"Payment","permalink":"/bytedesk/docs/payment"}}');var s=i(5723),r=i(6246);const t={sidebar_label:"Queue Management",sidebar_position:9},d="Queue Management Solution",o={},c=[{value:"Features",id:"features",level:2},{value:"Customer Features",id:"customer-features",level:3},{value:"Staff Features",id:"staff-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"queue-management-solution",children:"Queue Management Solution"})}),"\n",(0,s.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(n.h3,{id:"customer-features",children:"Customer Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Queue number generation"}),"\n",(0,s.jsx)(n.li,{children:"Wait time estimation"}),"\n",(0,s.jsx)(n.li,{children:"Status tracking"}),"\n",(0,s.jsx)(n.li,{children:"SMS notifications"}),"\n",(0,s.jsx)(n.li,{children:"Email notifications"}),"\n",(0,s.jsx)(n.li,{children:"Mobile app tracking"}),"\n",(0,s.jsx)(n.li,{children:"Priority service"}),"\n",(0,s.jsx)(n.li,{children:"Appointment booking"}),"\n",(0,s.jsx)(n.li,{children:"Service selection"}),"\n",(0,s.jsx)(n.li,{children:"Feedback system"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"staff-features",children:"Staff Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Queue management"}),"\n",(0,s.jsx)(n.li,{children:"Customer calling"}),"\n",(0,s.jsx)(n.li,{children:"Service recording"}),"\n",(0,s.jsx)(n.li,{children:"Performance tracking"}),"\n",(0,s.jsx)(n.li,{children:"Work schedule"}),"\n",(0,s.jsx)(n.li,{children:"Service history"}),"\n",(0,s.jsx)(n.li,{children:"Customer info"}),"\n",(0,s.jsx)(n.li,{children:"Service notes"}),"\n",(0,s.jsx)(n.li,{children:"Priority handling"}),"\n",(0,s.jsx)(n.li,{children:"Break management"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User management"}),"\n",(0,s.jsx)(n.li,{children:"Counter management"}),"\n",(0,s.jsx)(n.li,{children:"Service management"}),"\n",(0,s.jsx)(n.li,{children:"Queue configuration"}),"\n",(0,s.jsx)(n.li,{children:"Display management"}),"\n",(0,s.jsx)(n.li,{children:"Report generation"}),"\n",(0,s.jsx)(n.li,{children:"System settings"}),"\n",(0,s.jsx)(n.li,{children:"Analytics dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Data backup"}),"\n",(0,s.jsx)(n.li,{children:"Access logs"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"REST API"}),"\n",(0,s.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,s.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,s.jsx)(n.li,{children:"Android SDK"}),"\n",(0,s.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,s.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,s.jsx)(n.li,{children:"Custom development"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var l=i(2155);const s={},r=l.createContext(s);function t(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/41345d7c.cf252467.js b/docs/assets/js/41345d7c.cf252467.js new file mode 100644 index 0000000000..c2457cac55 --- /dev/null +++ b/docs/assets/js/41345d7c.cf252467.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[782],{8025:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"deploy/agent","title":"Client Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/agent.md","sourceDirName":"deploy","slug":"/deploy/agent","permalink":"/bytedesk/docs/deploy/agent","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/agent.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Client","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Admin Dashboard","permalink":"/bytedesk/docs/deploy/admin"},"next":{"title":"Desktop Client","permalink":"/bytedesk/docs/deploy/desktop"}}');var d=t(5723),o=t(6246);const s={sidebar_label:"Client",sidebar_position:3},l="Client Deployment",r={},a=[{value:"Dependencies",id:"dependencies",level:2},{value:"Download",id:"download",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Deploy",id:"deploy",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"client-deployment",children:"Client Deployment"})}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,d.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,d.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/deploy/depend/nginx",children:"Nginx"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"/docs/deploy/depend/letsencrypt",children:"Let's Encrypt"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"# Download source code\ngit clone https://github.com/bytedesk/bytedesk-agent.git\ncd bytedesk-agent\n# Install dependencies\nyarn install\n# Start development\nyarn dev\n# Build for production\nyarn build\n"})}),"\n",(0,d.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"# Modify configuration files\nvim .env.production\n# Modify API URL\nVITE_API_URL=https://api.example.com\n"})}),"\n",(0,d.jsx)(n.h2,{id:"deploy",children:"Deploy"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"# Copy dist directory to nginx html directory\ncp -r dist/* /var/www/html/weiyuai/agent/\n"})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(c,{...e})}):c(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>l});var i=t(2155);const d={},o=i.createContext(d);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/470a00bf.de443410.js b/docs/assets/js/470a00bf.de443410.js new file mode 100644 index 0000000000..c2907c8811 --- /dev/null +++ b/docs/assets/js/470a00bf.de443410.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4897],{5578:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"develop/server/service/agent","title":"Agent Service API","description":"Authentication","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/service/agent.md","sourceDirName":"develop/server/service","slug":"/develop/server/service/agent","permalink":"/bytedesk/docs/develop/server/service/agent","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/service/agent.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Agent API","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Unassigned","permalink":"/bytedesk/docs/manual/admin/ticket/waiting"},"next":{"title":"Member","permalink":"/bytedesk/docs/develop/server/team/member"}}');var r=t(5723),a=t(6246);const i={sidebar_label:"Agent API",sidebar_position:1},d="Agent Service API",c={},o=[{value:"Authentication",id:"authentication",level:2},{value:"Agent Management",id:"agent-management",level:2},{value:"Get Agent List",id:"get-agent-list",level:3},{value:"Update Agent Status",id:"update-agent-status",level:3},{value:"Get Agent Statistics",id:"get-agent-statistics",level:3},{value:"Error Codes",id:"error-codes",level:2}];function l(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"agent-service-api",children:"Agent Service API"})}),"\n",(0,r.jsx)(n.h2,{id:"authentication",children:"Authentication"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'# Get token\nPOST /api/auth/token\nContent-Type: application/json\n\n{\n "username": "admin@bytedesk.com",\n "password": "password"\n}\n\n# Response\n{\n "access_token": "eyJhbGciOiJIUzI1NiJ9...",\n "token_type": "Bearer",\n "expires_in": 3600\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"agent-management",children:"Agent Management"}),"\n",(0,r.jsx)(n.h3,{id:"get-agent-list",children:"Get Agent List"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'GET /api/agent/list\nAuthorization: Bearer {token}\n\n# Response\n{\n "code": 200,\n "data": [\n {\n "id": "agent_id",\n "nickname": "Agent Name",\n "avatar": "https://example.com/avatar.jpg",\n "status": "online",\n "role": "agent"\n }\n ]\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"update-agent-status",children:"Update Agent Status"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'PUT /api/agent/status\nAuthorization: Bearer {token}\nContent-Type: application/json\n\n{\n "status": "online" // online, offline, busy, away\n}\n\n# Response\n{\n "code": 200,\n "message": "Status updated successfully"\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"get-agent-statistics",children:"Get Agent Statistics"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'GET /api/agent/stats\nAuthorization: Bearer {token}\n\n# Response\n{\n "code": 200,\n "data": {\n "total_chats": 100,\n "avg_response_time": 30,\n "satisfaction_rate": 4.5,\n "online_duration": 28800\n }\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"error-codes",children:"Error Codes"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Code"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"200"}),(0,r.jsx)(n.td,{children:"Success"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"400"}),(0,r.jsx)(n.td,{children:"Bad Request"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"401"}),(0,r.jsx)(n.td,{children:"Unauthorized"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"403"}),(0,r.jsx)(n.td,{children:"Forbidden"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"404"}),(0,r.jsx)(n.td,{children:"Not Found"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"500"}),(0,r.jsx)(n.td,{children:"Server Error"})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>d});var s=t(2155);const r={},a=s.createContext(r);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/49d1d0c0.b1c50de6.js b/docs/assets/js/49d1d0c0.b1c50de6.js new file mode 100644 index 0000000000..7cabcea57a --- /dev/null +++ b/docs/assets/js/49d1d0c0.b1c50de6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7686],{889:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"deploy/depend/letsencrypt","title":"SSL Certificate","description":"Let\'s Encrypt","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/letsencrypt.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/letsencrypt","permalink":"/bytedesk/docs/deploy/depend/letsencrypt","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/letsencrypt.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"SSL Certificate","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Nginx","permalink":"/bytedesk/docs/deploy/depend/nginx"},"next":{"title":"Docker","permalink":"/bytedesk/docs/deploy/depend/docker"}}');var s=n(5723),c=n(6246);const i={sidebar_label:"SSL Certificate",sidebar_position:4},d="SSL Certificate",o={},l=[{value:"Let's Encrypt",id:"lets-encrypt",level:2},{value:"References",id:"references",level:2}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"ssl-certificate",children:"SSL Certificate"})}),"\n",(0,s.jsx)(t.h2,{id:"lets-encrypt",children:"Let's Encrypt"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"# Install certbot\nsudo apt update\nsudo apt install certbot python3-certbot-nginx\n\n# Generate certificate\nsudo certbot --nginx -d weiyuai.cn -d *.weiyuai.cn\n\n# Automatic renewal\nsudo certbot renew --dry-run\n"})}),"\n",(0,s.jsx)(t.h2,{id:"references",children:"References"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://letsencrypt.org/",children:"Let's Encrypt"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal",children:"Certbot Instructions"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>d});var r=n(2155);const s={},c=r.createContext(s);function i(e){const t=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4a99e3d9.65ced346.js b/docs/assets/js/4a99e3d9.65ced346.js new file mode 100644 index 0000000000..f914158b23 --- /dev/null +++ b/docs/assets/js/4a99e3d9.65ced346.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2789],{3943:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"manual/agent/auth/login","title":"\u767b\u5f55","description":"\u65b9\u6cd5\u4e00\uff1a\u81ea\u5b9a\u4e49\u670d\u52a1\u5668","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/auth/login.md","sourceDirName":"manual/agent/auth","slug":"/manual/agent/auth/login","permalink":"/bytedesk/docs/manual/agent/auth/login","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/agent/auth/login.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"\u767b\u5f55","sidebar_position":1}}');var i=t(5723),a=t(6246);const l={sidebar_label:"\u767b\u5f55",sidebar_position:1},o="\u767b\u5f55",r={},c=[{value:"\u65b9\u6cd5\u4e00\uff1a\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",id:"\u65b9\u6cd5\u4e00\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",level:2},{value:"\u65b9\u6cd5\u4e8c\uff1aWeb \u7248\u5ba2\u6237\u7aef",id:"\u65b9\u6cd5\u4e8cweb-\u7248\u5ba2\u6237\u7aef",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"\u767b\u5f55",children:"\u767b\u5f55"})}),"\n",(0,i.jsx)(n.h2,{id:"\u65b9\u6cd5\u4e00\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",children:"\u65b9\u6cd5\u4e00\uff1a\u81ea\u5b9a\u4e49\u670d\u52a1\u5668"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u767b\u5f55\u7ba1\u7406\u540e\u53f0"}),"\n",(0,i.jsxs)(n.li,{children:["\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f\u7684",(0,i.jsx)(n.code,{children:"\u8bbe\u7f6e"})," -\u300b",(0,i.jsx)(n.code,{children:"\u670d\u52a1\u5668\u8bbe\u7f6e"})," -\u300b\u590d\u5236 \u670d\u52a1\u5668\u5730\u5740"]}),"\n",(0,i.jsxs)(n.li,{children:["\u6253\u5f00\u5ba2\u6237\u7aef\uff0c\u767b\u5f55\u754c\u9762\uff0c\u70b9\u51fb",(0,i.jsx)(n.code,{children:"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668"}),"\uff0c\u7c98\u8d34\u670d\u52a1\u5668\u5730\u5740\uff0c\u70b9\u51fb",(0,i.jsx)(n.code,{children:"\u4fdd\u5b58"})]}),"\n",(0,i.jsx)(n.li,{children:"\u8fd4\u56de\u767b\u5f55\u754c\u9762\uff0c\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801\u5373\u53ef"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u65b9\u6cd5\u4e8cweb-\u7248\u5ba2\u6237\u7aef",children:"\u65b9\u6cd5\u4e8c\uff1aWeb \u7248\u5ba2\u6237\u7aef"}),"\n",(0,i.jsx)(n.p,{children:"\u4f7f\u7528\u65b9\u6cd5\u4e00\u83b7\u53d6\u5230\u670d\u52a1\u5668\u5730\u5740"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u627e\u5230 agent/config.json \u6587\u4ef6\uff0c\u9ed8\u8ba4\u683c\u5f0f\u5982\u4e0b\uff1a"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "enabled": false, // false \u6539\u4e3a true\u3002\u53ea\u6709\u4fee\u6539\u4e3a true\uff0c\u4e0b\u9762\u7684 apiHost \u548c htmlHost \u624d\u80fd\u751f\u6548\n "apiHost": "api.weiyuai.cn", // \u91cd\u8981\uff1a\u6539\u4e3a\u7ebf\u4e0a api \u5730\u5740\uff0c\u5982: api.example.com\uff0c\u4e0d\u80fd\u591f\u4ee5 http \u5f00\u5934\n "htmlHost": "www.weiyuai.cn" // \u4fee\u6539\u4e3a\u8bbf\u95ee\u9759\u6001\u7f51\u9875\u5730\u5740\uff0c\u5982: www.example.com\uff0c\u4e0d\u80fd\u591f\u4ee5 http \u5f00\u5934\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"\u5c06 apiHost \u548c htmlHost \u66ff\u6362\u4e3a\u670d\u52a1\u5668\u5730\u5740\u5373\u53ef"})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>o});var s=t(2155);const i={},a=s.createContext(i);function l(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4b0b9693.a0437652.js b/docs/assets/js/4b0b9693.a0437652.js new file mode 100644 index 0000000000..5476199e1f --- /dev/null +++ b/docs/assets/js/4b0b9693.a0437652.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7722],{791:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"solution/edu","title":"Education Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/edu.md","sourceDirName":"solution","slug":"/solution/edu","permalink":"/bytedesk/docs/solution/edu","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/edu.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Education","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Team Chat","permalink":"/bytedesk/docs/solution/teamim"},"next":{"title":"Healthcare","permalink":"/bytedesk/docs/solution/hospital"}}');var l=i(5723),r=i(6246);const t={sidebar_label:"Education",sidebar_position:3},d="Education Solution",c={},o=[{value:"Features",id:"features",level:2},{value:"Learning Features",id:"learning-features",level:3},{value:"Teaching Features",id:"teaching-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",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:"education-solution",children:"Education Solution"})}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsx)(n.h3,{id:"learning-features",children:"Learning Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Online courses"}),"\n",(0,l.jsx)(n.li,{children:"Live streaming classes"}),"\n",(0,l.jsx)(n.li,{children:"Interactive whiteboard"}),"\n",(0,l.jsx)(n.li,{children:"Screen sharing"}),"\n",(0,l.jsx)(n.li,{children:"File sharing"}),"\n",(0,l.jsx)(n.li,{children:"Course materials"}),"\n",(0,l.jsx)(n.li,{children:"Homework submission"}),"\n",(0,l.jsx)(n.li,{children:"Quiz and tests"}),"\n",(0,l.jsx)(n.li,{children:"Progress tracking"}),"\n",(0,l.jsx)(n.li,{children:"Learning analytics"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"teaching-features",children:"Teaching Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Course management"}),"\n",(0,l.jsx)(n.li,{children:"Student management"}),"\n",(0,l.jsx)(n.li,{children:"Attendance tracking"}),"\n",(0,l.jsx)(n.li,{children:"Assignment grading"}),"\n",(0,l.jsx)(n.li,{children:"Performance reports"}),"\n",(0,l.jsx)(n.li,{children:"Class scheduling"}),"\n",(0,l.jsx)(n.li,{children:"Resource library"}),"\n",(0,l.jsx)(n.li,{children:"Teaching tools"}),"\n",(0,l.jsx)(n.li,{children:"Parent communication"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"User management"}),"\n",(0,l.jsx)(n.li,{children:"Course management"}),"\n",(0,l.jsx)(n.li,{children:"Teacher management"}),"\n",(0,l.jsx)(n.li,{children:"Student management"}),"\n",(0,l.jsx)(n.li,{children:"Parent management"}),"\n",(0,l.jsx)(n.li,{children:"Performance analytics"}),"\n",(0,l.jsx)(n.li,{children:"System settings"}),"\n",(0,l.jsx)(n.li,{children:"Data backup"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"REST API"}),"\n",(0,l.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,l.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,l.jsx)(n.li,{children:"Android SDK"}),"\n",(0,l.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,l.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,l.jsx)(n.li,{children:"Custom development"}),"\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,l.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var s=i(2155);const l={},r=s.createContext(l);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4ccc3b76.9700ba73.js b/docs/assets/js/4ccc3b76.9700ba73.js new file mode 100644 index 0000000000..650200b6a6 --- /dev/null +++ b/docs/assets/js/4ccc3b76.9700ba73.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5966],{3445:e=>{e.exports=JSON.parse('{"tags":[{"label":"Developer","permalink":"/bytedesk/blog/tags/developer","description":"Developer tag description","count":1},{"label":"Bytedesk","permalink":"/bytedesk/blog/tags/bytedesk","description":"Bytedesk tag description","count":1},{"label":"Facebook","permalink":"/bytedesk/blog/tags/facebook","description":"Facebook tag description","count":1},{"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description","count":2},{"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description","count":4},{"label":"Hola","permalink":"/bytedesk/blog/tags/hola","description":"Hola tag description","count":1}]}')}}]); \ No newline at end of file diff --git a/docs/assets/js/4d3b6e7e.2fee41c6.js b/docs/assets/js/4d3b6e7e.2fee41c6.js new file mode 100644 index 0000000000..fa9252698d --- /dev/null +++ b/docs/assets/js/4d3b6e7e.2fee41c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2747],{2277:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"solution/im","title":"Customer Service Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/im.md","sourceDirName":"solution","slug":"/solution/im","permalink":"/bytedesk/docs/solution/im","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/im.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Customer Service","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"AI Models","permalink":"/bytedesk/docs/deploy/depend/ai"},"next":{"title":"Team Chat","permalink":"/bytedesk/docs/solution/teamim"}}');var l=i(5723),r=i(6246);const t={sidebar_label:"Customer Service",sidebar_position:1},d="Customer Service Solution",o={},c=[{value:"Features",id:"features",level:2},{value:"Chat Features",id:"chat-features",level:3},{value:"Agent Features",id:"agent-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",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:"customer-service-solution",children:"Customer Service Solution"})}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsx)(n.h3,{id:"chat-features",children:"Chat Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Real-time messaging"}),"\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"]}),"\n",(0,l.jsx)(n.h3,{id:"agent-features",children:"Agent Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Queue management"}),"\n",(0,l.jsx)(n.li,{children:"Visitor routing"}),"\n",(0,l.jsx)(n.li,{children:"Transfer chats"}),"\n",(0,l.jsx)(n.li,{children:"Quick replies"}),"\n",(0,l.jsx)(n.li,{children:"Chat tags"}),"\n",(0,l.jsx)(n.li,{children:"Notes"}),"\n",(0,l.jsx)(n.li,{children:"Visitor info"}),"\n",(0,l.jsx)(n.li,{children:"Chat history"}),"\n",(0,l.jsx)(n.li,{children:"Performance stats"}),"\n",(0,l.jsx)(n.li,{children:"Work reports"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Agent management"}),"\n",(0,l.jsx)(n.li,{children:"Department management"}),"\n",(0,l.jsx)(n.li,{children:"Role management"}),"\n",(0,l.jsx)(n.li,{children:"Permission control"}),"\n",(0,l.jsx)(n.li,{children:"Chat monitoring"}),"\n",(0,l.jsx)(n.li,{children:"Quality control"}),"\n",(0,l.jsx)(n.li,{children:"Performance reports"}),"\n",(0,l.jsx)(n.li,{children:"System settings"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"REST API"}),"\n",(0,l.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,l.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,l.jsx)(n.li,{children:"Android SDK"}),"\n",(0,l.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,l.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,l.jsx)(n.li,{children:"Custom development"}),"\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,l.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var s=i(2155);const l={},r=s.createContext(l);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/50b81116.01ddfc27.js b/docs/assets/js/50b81116.01ddfc27.js new file mode 100644 index 0000000000..b9682e9c68 --- /dev/null +++ b/docs/assets/js/50b81116.01ddfc27.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4493],{7933:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"develop/server/ai/qianfan","title":"Baidu Qianfan","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/qianfan.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/qianfan","permalink":"/bytedesk/docs/develop/server/ai/qianfan","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/qianfan.md","tags":[],"version":"current","frontMatter":{}}');var a=t(5723),s=t(6246);const o={},i="Baidu Qianfan",c={},d=[];function u(e){const n={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"baidu-qianfan",children:"Baidu Qianfan"})})}function f(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>i});var r=t(2155);const a={},s=r.createContext(a);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5144c84c.282ad84a.js b/docs/assets/js/5144c84c.282ad84a.js new file mode 100644 index 0000000000..daa9a68f73 --- /dev/null +++ b/docs/assets/js/5144c84c.282ad84a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6671],{9662:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>i});const t=JSON.parse('{"id":"manual/admin/kbase/llm","title":"Large Language Model","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/llm.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/llm","permalink":"/bytedesk/docs/manual/admin/kbase/llm","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/llm.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Large Language Model","sidebar_position":2}}');var s=a(5723),o=a(6246);const r={sidebar_label:"Large Language Model",sidebar_position:2},l="Large Language Model",d={},i=[];function c(e){const n={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"large-language-model",children:"Large Language Model"})})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,n,a)=>{a.d(n,{R:()=>r,x:()=>l});var t=a(2155);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5721fd23.6318afa9.js b/docs/assets/js/5721fd23.6318afa9.js new file mode 100644 index 0000000000..f6595c1762 --- /dev/null +++ b/docs/assets/js/5721fd23.6318afa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1759],{7690:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"deploy/depend/postgresql","title":"PostgreSQL 16","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/postgresql.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/postgresql","permalink":"/bytedesk/docs/deploy/depend/postgresql","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/postgresql.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"PostgreSQL","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"MySQL","permalink":"/bytedesk/docs/deploy/depend/mysql"},"next":{"title":"Redis","permalink":"/bytedesk/docs/deploy/depend/redis"}}');var o=t(5723),r=t(6246);const i={sidebar_label:"PostgreSQL",sidebar_position:1},l="PostgreSQL 16",a={},d=[{value:"Installation",id:"installation",level:2}];function p(e){const s={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"postgresql-16",children:"PostgreSQL 16"})}),"\n",(0,o.jsx)(s.admonition,{type:"tip",children:(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,o.jsx)(s.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,o.jsx)(s.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"# ubuntu\n# https://www.postgresql.org/download/linux/ubuntu/\nsudo apt install -y postgresql-common\nsudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh\n# Import the repository signing key:\nsudo apt install curl ca-certificates\nsudo install -d /usr/share/postgresql-common/pgdg\nsudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc\n# Create the repository configuration file:\nsudo sh -c 'echo \"deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main\" > /etc/apt/sources.list.d/pgdg.list'\n# Update the package lists:\nsudo apt update\n# Install the latest version of PostgreSQL:\n# If you want a specific version, use 'postgresql-16' or similar instead of 'postgresql'\nsudo apt -y install postgresql\n# Check version\npsql --version\n# Check if running\nlsof -i:5432\n# If you need local client to connect to cloud service, open port 5432 in Tencent Cloud or Alibaba Cloud firewall\n# Find configuration file path\nlocate postgresql.conf\n# /etc/postgresql/16/main/postgresql.conf\n# Download all configuration files from /etc/postgresql/16/main/ for easier modification\n# Enable external access, modify postgresql.conf file\nlisten_addresses = '*'\n# Modify pg_hba.conf file, add the following at the end:\nhost all all 0.0.0.0/0 scram-sha-256\n# Change password\nsudo -u postgres psql\nALTER USER postgres WITH PASSWORD 'password'; # Change password https://suijimimashengcheng.bmcx.com/\n# Press \\q to exit\n# Install pgvector\napt install postgresql-16-pgvector\n# Upload modified configuration files to server, then restart\nservice postgresql restart\n# service postgresql stop\n# Check port 5432\nlsof -i:5432\n# Or\nnetstat -tunlp | grep 5432\n# Use pgadmin client, desktop client remote connection\n# Create database bytedesk_im\n# Add vector extension to the newly created database bytedesk_im (right click extensions, create->General->name: vector)\n"})})]})}function c(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},6246:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>l});var n=t(2155);const o={},r=n.createContext(o);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/57c11a94.652df895.js b/docs/assets/js/57c11a94.652df895.js new file mode 100644 index 0000000000..d6fac13950 --- /dev/null +++ b/docs/assets/js/57c11a94.652df895.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8674],{2649:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"manual/admin/ai/robot","title":"Robot","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/ai/robot.md","sourceDirName":"manual/admin/ai","slug":"/manual/admin/ai/robot","permalink":"/bytedesk/docs/manual/admin/ai/robot","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/ai/robot.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Robot","sidebar_position":1}}');var a=n(5723),r=n(6246);const s={sidebar_label:"Robot",sidebar_position:1},i="Robot",c={},d=[];function u(t){const e={h1:"h1",header:"header",...(0,r.R)(),...t.components};return(0,a.jsx)(e.header,{children:(0,a.jsx)(e.h1,{id:"robot",children:"Robot"})})}function l(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(u,{...t})}):u(t)}},6246:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>i});var o=n(2155);const a={},r=o.createContext(a);function s(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/57f7b7ff.e5991cc5.js b/docs/assets/js/57f7b7ff.e5991cc5.js new file mode 100644 index 0000000000..85ab4d2eda --- /dev/null +++ b/docs/assets/js/57f7b7ff.e5991cc5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9823],{4045:e=>{e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"scan-to-login","metadata":{"permalink":"/bytedesk/blog/scan-to-login","editUrl":"https://github.com/bytedesk/bytedesk/blog/2024-10-08-scan-to-login.md","source":"@site/i18n/en/docusaurus-plugin-content-blog/2024-10-08-scan-to-login.md","title":"QR Code Login Implementation Process","description":"- Desktop client generates a unique device uid: deviceUid","date":"2024-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Developer","permalink":"/bytedesk/blog/tags/developer","description":"Developer tag description"},{"inline":false,"label":"Bytedesk","permalink":"/bytedesk/blog/tags/bytedesk","description":"Bytedesk tag description"}],"readingTime":0.67,"hasTruncateMarker":true,"authors":[{"name":"Jack Ning","title":"Maintainer of Bytedesk","url":"https://github.com/pengjinning","imageURL":"https://www.kefux.com/assets/img/qrcode/qiye.png","key":"jackning","page":null}],"frontMatter":{"slug":"scan-to-login","title":"QR Code Login Implementation Process","authors":"jackning","tags":["developer","bytedesk"]},"unlisted":false,"nextItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"}},"content":"- Desktop client generates a unique device uid: deviceUid\\n- Sends this deviceUid to the server, server returns a random code: randomCode\\n- Desktop client generates QR code using randomCode and deviceUid\\n- Mobile client scans this QR code, obtains deviceUid, sends deviceUid to server, server updates status to SCANED\\n- Mobile client clicks confirm login, sends mobile number and deviceUid to server, server saves mobile number and updates status to CONFIRMED\\n- Desktop client polls to get mobile number and CONFIRMED status, uses mobile number and randomCode to call login API\\n- If desktop client gets EXPIRED status, it needs to fetch a new randomCode and regenerate QR code\\n- After successful login, returns accessToken, desktop client saves this accessToken locally and redirects to homepage\\n\\n\x3c!-- truncate --\x3e\\n\\nQR Code Login Implementation Process"},{"id":"welcome","metadata":{"permalink":"/bytedesk/blog/welcome","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/bytedesk/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"QR Code Login Implementation Process","permalink":"/bytedesk/blog/scan-to-login"},"nextItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"}},"content":"[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).\\n\\nHere are a few tips you might find useful.\\n\\n\x3c!-- truncate --\x3e\\n\\nSimply add Markdown files (or folders) to the `blog` directory.\\n\\nRegular blog authors can be added to `authors.yml`.\\n\\nThe blog post date can be extracted from filenames, such as:\\n\\n- `2019-05-30-welcome.md`\\n- `2019-05-30-welcome/index.md`\\n\\nA blog post folder can be convenient to co-locate blog post images:\\n\\n![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)\\n\\nThe blog supports tags as well!\\n\\n**And if you don\'t want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config."},{"id":"mdx-blog-post","metadata":{"permalink":"/bytedesk/blog/mdx-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}},"content":"Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).\\n\\n:::tip\\n\\nUse the power of React to create interactive blog posts.\\n\\n:::\\n\\n{/* truncate */}\\n\\nFor example, use JSX to create an interactive button:\\n\\n```js\\n\\n```\\n\\n"},{"id":"long-blog-post","metadata":{"permalink":"/bytedesk/blog/long-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/bytedesk/blog/first-blog-post"}},"content":"This is the summary of a very long blog post,\\n\\nUse a `\x3c!--` `truncate` `--\x3e` comment to limit blog post size in the list view.\\n\\n\x3c!-- truncate --\x3e\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"},{"id":"first-blog-post","metadata":{"permalink":"/bytedesk/blog/first-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/bytedesk/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}},"content":"Lorem ipsum dolor sit amet...\\n\\n\x3c!-- truncate --\x3e\\n\\n...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}]}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/59362658.7ebaa791.js b/docs/assets/js/59362658.7ebaa791.js new file mode 100644 index 0000000000..8e215c0d0b --- /dev/null +++ b/docs/assets/js/59362658.7ebaa791.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9325],{8482:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var s=o(1632),n=o(5723),r=o(6246);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},l=void 0,c={authorsImageUrls:[void 0]},u=[];function i(e){const t={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Blog posts support ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,n.jsx)(t.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsx)(t.p,{children:"Use the power of React to create interactive blog posts."})}),"\n","\n",(0,n.jsx)(t.p,{children:"For example, use JSX to create an interactive button:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"\n"})}),"\n",(0,n.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(i,{...e})}):i(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>l});var s=o(2155);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},1632:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/mdx-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/59882872.b8654bf4.js b/docs/assets/js/59882872.b8654bf4.js new file mode 100644 index 0000000000..655a380efd --- /dev/null +++ b/docs/assets/js/59882872.b8654bf4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1344],{3792:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>l,frontMatter:()=>c,metadata:()=>n,toc:()=>i});const n=JSON.parse('{"id":"develop/server/team/member","title":"Member","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/team/member.md","sourceDirName":"develop/server/team","slug":"/develop/server/team/member","permalink":"/bytedesk/docs/develop/server/team/member","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/team/member.md","tags":[],"version":"current","frontMatter":{},"sidebar":"tutorialSidebar","previous":{"title":"Agent API","permalink":"/bytedesk/docs/develop/server/service/agent"},"next":{"title":"Helpdoc","permalink":"/bytedesk/docs/develop/server/kbase/helpdoc"}}');var s=r(5723),o=r(6246);const c={},d="Member",a={},i=[];function m(e){const t={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"member",children:"Member"})})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},6246:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>d});var n=r(2155);const s={},o=n.createContext(s);function c(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5ac84584.acc09955.js b/docs/assets/js/5ac84584.acc09955.js new file mode 100644 index 0000000000..4971fd410c --- /dev/null +++ b/docs/assets/js/5ac84584.acc09955.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6205],{3701:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"manual/chat/ai/robot","title":"Robot","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/ai/robot.md","sourceDirName":"manual/chat/ai","slug":"/manual/chat/ai/robot","permalink":"/bytedesk/docs/manual/chat/ai/robot","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/chat/ai/robot.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Robot","sidebar_position":1}}');var a=o(5723),r=o(6246);const s={sidebar_label:"Robot",sidebar_position:1},c="Robot",i={},u=[];function d(t){const e={h1:"h1",header:"header",...(0,r.R)(),...t.components};return(0,a.jsx)(e.header,{children:(0,a.jsx)(e.h1,{id:"robot",children:"Robot"})})}function l(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},6246:(t,e,o)=>{o.d(e,{R:()=>s,x:()=>c});var n=o(2155);const a={},r=n.createContext(a);function s(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5b44acae.b33f3f8a.js b/docs/assets/js/5b44acae.b33f3f8a.js new file mode 100644 index 0000000000..076aa52919 --- /dev/null +++ b/docs/assets/js/5b44acae.b33f3f8a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[652],{2591:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>o});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":"/bytedesk/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":"Members","permalink":"/bytedesk/docs/manual/admin/team/member"}}');var l=i(5723),r=i(6246);const t={sidebar_label:"Introduction",sidebar_position:1},c="Introduction",d={},o=[{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,l.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"solutions",children:"Solutions"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/im",children:"Customer Service"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/teamim",children:"Team Chat"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/edu",children:"Education"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/hospital",children:"Healthcare"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/shop",children:"E-commerce"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/kbase",children:"Knowledge Base"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/helpcenter",children:"Help Center"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/ticket",children:"Ticket System"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/solution/queue-number",children:"Queue Management"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>c});var s=i(2155);const l={},r=s.createContext(l);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5f77f32f.b4dc3172.js b/docs/assets/js/5f77f32f.b4dc3172.js new file mode 100644 index 0000000000..2dea58803d --- /dev/null +++ b/docs/assets/js/5f77f32f.b4dc3172.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1493],{463:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>d,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"manual/admin/kbase/keyword","title":"Keywords","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/keyword.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/keyword","permalink":"/bytedesk/docs/manual/admin/kbase/keyword","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/keyword.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Keywords","sidebar_position":3}}');var o=t(5723),r=t(6246);const a={sidebar_label:"Keywords",sidebar_position:3},d="Keywords",i={},c=[];function u(e){const n={h1:"h1",header:"header",...(0,r.R)(),...e.components};return(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"keywords",children:"Keywords"})})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>d});var s=t(2155);const o={},r=s.createContext(o);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/62f01485.4fbc1cc9.js b/docs/assets/js/62f01485.4fbc1cc9.js new file mode 100644 index 0000000000..6f1a9b2939 --- /dev/null +++ b/docs/assets/js/62f01485.4fbc1cc9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3931],{6702:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"develop/server/ai/ollama","title":"Ollama","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/ollama.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/ollama","permalink":"/bytedesk/docs/develop/server/ai/ollama","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/ollama.md","tags":[],"version":"current","frontMatter":{}}');var r=n(5723),s=n(6246);const a={},l="Ollama",c={},d=[];function i(e){const t={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"ollama",children:"Ollama"})})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(i,{...e})}):i(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var o=n(2155);const r={},s=o.createContext(r);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/65d9b74f.23fc7121.js b/docs/assets/js/65d9b74f.23fc7121.js new file mode 100644 index 0000000000..cdf842e915 --- /dev/null +++ b/docs/assets/js/65d9b74f.23fc7121.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3702],{6188:a=>{a.exports=JSON.parse('{"tag":{"label":"Hola","permalink":"/bytedesk/blog/tags/hola","description":"Hola tag description","allTagsPath":"/bytedesk/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/686ff8ac.45296e7e.js b/docs/assets/js/686ff8ac.45296e7e.js new file mode 100644 index 0000000000..5a99123372 --- /dev/null +++ b/docs/assets/js/686ff8ac.45296e7e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3999],{1578:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"manual/admin/service/agent","title":"One-on-One Customer Service","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/service/agent.md","sourceDirName":"manual/admin/service","slug":"/manual/admin/service/agent","permalink":"/bytedesk/docs/manual/admin/service/agent","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/service/agent.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"One-on-One","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Roles","permalink":"/bytedesk/docs/manual/admin/team/role"},"next":{"title":"Workgroup","permalink":"/bytedesk/docs/manual/admin/service/workgroup"}}');var o=t(5723),s=t(6246);const a={sidebar_label:"One-on-One",sidebar_position:1},i="One-on-One Customer Service",c={},d=[];function u(e){const n={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"one-on-one-customer-service",children:"One-on-One Customer Service"})})}function l(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var r=t(2155);const o={},s=r.createContext(o);function a(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/69aa092d.8a9bdef4.js b/docs/assets/js/69aa092d.8a9bdef4.js new file mode 100644 index 0000000000..2b8323512a --- /dev/null +++ b/docs/assets/js/69aa092d.8a9bdef4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9637],{3797:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});const r=JSON.parse('{"id":"develop/server/ai/zhipuai","title":"ZhipuAI","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/zhipuai.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/zhipuai","permalink":"/bytedesk/docs/develop/server/ai/zhipuai","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/zhipuai.md","tags":[],"version":"current","frontMatter":{}}');var s=n(5723),o=n(6246);const i={},c="ZhipuAI",a={},u=[];function d(e){const t={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"zhipuai",children:"ZhipuAI"})})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var r=n(2155);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6ce32f15.e3d4899c.js b/docs/assets/js/6ce32f15.e3d4899c.js new file mode 100644 index 0000000000..95fc49b3ba --- /dev/null +++ b/docs/assets/js/6ce32f15.e3d4899c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1336],{3434:s=>{s.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description","allTagsPath":"/bytedesk/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/6cf0cb76.36f7aecc.js b/docs/assets/js/6cf0cb76.36f7aecc.js new file mode 100644 index 0000000000..910de74ea3 --- /dev/null +++ b/docs/assets/js/6cf0cb76.36f7aecc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1084],{5217:(e,l,n)=>{n.r(l),n.d(l,{assets:()=>r,contentTitle:()=>d,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>i});const a=JSON.parse('{"id":"deploy/depend/ollama","title":"Ollama","description":"- ollama github","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/ollama.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/ollama","permalink":"/bytedesk/docs/deploy/depend/ollama","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/ollama.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Ollama","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Redis","permalink":"/bytedesk/docs/deploy/depend/redis"},"next":{"title":"Nginx","permalink":"/bytedesk/docs/deploy/depend/nginx"}}');var t=n(5723),o=n(6246);const s={sidebar_label:"Ollama",sidebar_position:3},d="Ollama",r={},i=[];function c(e){const l={a:"a",code:"code",h1:"h1",header:"header",li:"li",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.header,{children:(0,t.jsx)(l.h1,{id:"ollama",children:"Ollama"})}),"\n",(0,t.jsxs)(l.ul,{children:["\n",(0,t.jsx)(l.li,{children:(0,t.jsx)(l.a,{href:"https://github.com/ollama/ollama",children:"ollama github"})}),"\n",(0,t.jsx)(l.li,{children:(0,t.jsx)(l.a,{href:"https://ollama.com/",children:"Ollama Official Website"})}),"\n"]}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-bash",children:"sudo apt-get update\n# Install Ollama:\nsudo apt-get install ollama\n# Verify installation\nollama --version\n# Install model without docker\nollama run mistral\nollama run llama3.1\n"})})]})}function p(e={}){const{wrapper:l}={...(0,o.R)(),...e.components};return l?(0,t.jsx)(l,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},6246:(e,l,n)=>{n.d(l,{R:()=>s,x:()=>d});var a=n(2155);const t={},o=a.createContext(t);function s(e){const l=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(l):{...l,...e}}),[l,e])}function d(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(o.Provider,{value:l},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6e655c93.56249541.js b/docs/assets/js/6e655c93.56249541.js new file mode 100644 index 0000000000..950608aebb --- /dev/null +++ b/docs/assets/js/6e655c93.56249541.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9775],{1278:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"manual/admin/kbase/faq","title":"FAQ","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/faq.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/faq","permalink":"/bytedesk/docs/manual/admin/kbase/faq","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/faq.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"FAQ","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Help Center","permalink":"/bytedesk/docs/manual/admin/kbase/helpcenter"},"next":{"title":"Unassigned","permalink":"/bytedesk/docs/manual/admin/ticket/waiting"}}');var s=t(5723),i=t(6246);const r={sidebar_label:"FAQ",sidebar_position:4},o="FAQ",d={},c=[];function u(e){const n={h1:"h1",header:"header",...(0,i.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"faq",children:"FAQ"})})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var a=t(2155);const s={},i=a.createContext(s);function r(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/73664a40.c256417d.js b/docs/assets/js/73664a40.c256417d.js new file mode 100644 index 0000000000..7026126d0d --- /dev/null +++ b/docs/assets/js/73664a40.c256417d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1972],{4127:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>a,frontMatter:()=>u,metadata:()=>i,toc:()=>m});var i=t(5802),o=t(5723),n=t(6246);const u={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},r=void 0,l={authorsImageUrls:[void 0]},m=[];function c(e){const s={code:"code",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,o.jsxs)(s.p,{children:["Use a ",(0,o.jsx)(s.code,{children:"\x3c!--"})," ",(0,o.jsx)(s.code,{children:"truncate"})," ",(0,o.jsx)(s.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function a(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},6246:(e,s,t)=>{t.d(s,{R:()=>u,x:()=>r});var i=t(2155);const o={},n=i.createContext(o);function u(e){const s=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:u(e.components),i.createElement(n.Provider,{value:s},e.children)}},5802:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/long-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/bytedesk/blog/first-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/739d5fdf.ce219ebf.js b/docs/assets/js/739d5fdf.ce219ebf.js new file mode 100644 index 0000000000..32e0dd1b47 --- /dev/null +++ b/docs/assets/js/739d5fdf.ce219ebf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7161],{4455:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"manual/admin/auth/login","title":"Login","description":"Custom Server","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/auth/login.md","sourceDirName":"manual/admin/auth","slug":"/manual/admin/auth/login","permalink":"/bytedesk/docs/manual/admin/auth/login","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/auth/login.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Login","sidebar_position":1}}');var a=t(5723),i=t(6246);const o={sidebar_label:"Login",sidebar_position:1},r="Login",l={},d=[{value:"Custom Server",id:"custom-server",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"login",children:"Login"})}),"\n",(0,a.jsx)(n.h2,{id:"custom-server",children:"Custom Server"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Login to admin dashboard"}),"\n",(0,a.jsxs)(n.li,{children:["Click ",(0,a.jsx)(n.code,{children:"Settings"})," -> ",(0,a.jsx)(n.code,{children:"Server Settings"})," in the left menu -> Copy server address"]}),"\n",(0,a.jsx)(n.li,{children:"Find admin/config.json file, default format is as follows:"}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-json",children:'{\n "enabled": false, // Change false to true. Only when changed to true, the apiHost and htmlHost below will take effect\n "apiHost": "api.weiyuai.cn", // Important: Change to online api address, like: api.example.com, cannot start with http\n "htmlHost": "www.weiyuai.cn" // Change to static webpage address, like: www.example.com, cannot start with http\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"Replace apiHost and htmlHost with your server address"})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var s=t(2155);const a={},i=s.createContext(a);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7661071f.cb52e114.js b/docs/assets/js/7661071f.cb52e114.js new file mode 100644 index 0000000000..2d0e9e924a --- /dev/null +++ b/docs/assets/js/7661071f.cb52e114.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8737],{8355:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var s=o(8811),n=o(5723),r=o(6246);const a={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},l=void 0,i={authorsImageUrls:[void 0,void 0]},u=[];function c(e){const t={a:"a",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Here are a few tips you might find useful."})]})}function g(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>l});var s=o(2155);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},8811:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/welcome","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/bytedesk/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"QR Code Login Implementation Process","permalink":"/bytedesk/blog/scan-to-login"},"nextItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/7bb840c3.c9836df2.js b/docs/assets/js/7bb840c3.c9836df2.js new file mode 100644 index 0000000000..9e3ec544f4 --- /dev/null +++ b/docs/assets/js/7bb840c3.c9836df2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8304],{7475:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"manual/chat/auth/login","title":"\u767b\u5f55","description":"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/auth/login.md","sourceDirName":"manual/chat/auth","slug":"/manual/chat/auth/login","permalink":"/bytedesk/docs/manual/chat/auth/login","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/chat/auth/login.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"\u767b\u5f55","sidebar_position":1}}');var a=t(5723),i=t(6246);const o={sidebar_label:"\u767b\u5f55",sidebar_position:1},c="\u767b\u5f55",r={},l=[{value:"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",id:"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"\u767b\u5f55",children:"\u767b\u5f55"})}),"\n",(0,a.jsx)(n.h2,{id:"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668",children:"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"\u767b\u5f55\u7ba1\u7406\u540e\u53f0"}),"\n",(0,a.jsxs)(n.li,{children:["\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f\u7684",(0,a.jsx)(n.code,{children:"\u8bbe\u7f6e"})," -\u300b",(0,a.jsx)(n.code,{children:"\u670d\u52a1\u5668\u8bbe\u7f6e"})," -\u300b\u590d\u5236 \u670d\u52a1\u5668\u5730\u5740"]}),"\n",(0,a.jsx)(n.li,{children:"\u627e\u5230 admin/config.json \u6587\u4ef6\uff0c\u9ed8\u8ba4\u683c\u5f0f\u5982\u4e0b\uff1a"}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-json",children:'{\n "enabled": false, // false \u6539\u4e3a true\u3002\u53ea\u6709\u4fee\u6539\u4e3a true\uff0c\u4e0b\u9762\u7684 apiHost \u548c htmlHost \u624d\u80fd\u751f\u6548\n "apiHost": "api.weiyuai.cn", // \u91cd\u8981\uff1a\u6539\u4e3a\u7ebf\u4e0a api \u5730\u5740\uff0c\u5982: api.example.com\uff0c\u4e0d\u80fd\u591f\u4ee5 http \u5f00\u5934\n "htmlHost": "www.weiyuai.cn" // \u4fee\u6539\u4e3a\u8bbf\u95ee\u9759\u6001\u7f51\u9875\u5730\u5740\uff0c\u5982: www.example.com\uff0c\u4e0d\u80fd\u591f\u4ee5 http \u5f00\u5934\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"\u5c06 apiHost \u548c htmlHost \u66ff\u6362\u4e3a\u670d\u52a1\u5668\u5730\u5740\u5373\u53ef"})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var s=t(2155);const a={},i=s.createContext(a);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7d27dcec.923a39f5.js b/docs/assets/js/7d27dcec.923a39f5.js new file mode 100644 index 0000000000..7dc4546aa3 --- /dev/null +++ b/docs/assets/js/7d27dcec.923a39f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4448],{7557:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>d,toc:()=>l});const d=JSON.parse('{"id":"deploy/jar","title":"JAR Package Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/jar.md","sourceDirName":"deploy","slug":"/deploy/jar","permalink":"/bytedesk/docs/deploy/jar","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/jar.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"JAR","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Docker","permalink":"/bytedesk/docs/deploy/docker"},"next":{"title":"Admin Dashboard","permalink":"/bytedesk/docs/deploy/admin"}}');var r=s(5723),i=s(6246);const a={sidebar_label:"JAR",sidebar_position:3},o="JAR Package Deployment",t={},l=[{value:"Dependencies",id:"dependencies",level:2},{value:"Download",id:"download",level:2},{value:"MySQL 8.0",id:"mysql-80",level:3},{value:"Or PostgreSQL 16",id:"or-postgresql-16",level:3},{value:"Redis",id:"redis",level:3},{value:"Nginx",id:"nginx",level:2},{value:"AI",id:"ai",level:2},{value:"Download IM Server",id:"download-im-server",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Local Preview",id:"local-preview",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"jar-package-deployment",children:"JAR Package Deployment"})}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,r.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,r.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/depend/jdk",children:"JDK"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/docs/deploy/depend/mysql",children:"MySQL"})," or ",(0,r.jsx)(n.a,{href:"/docs/deploy/depend/postgresql",children:"PostgreSQL"})]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/depend/redis",children:"Redis"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/depend/nginx",children:"Nginx"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/docs/deploy/depend/letsencrypt",children:"Let's Encrypt"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Download JAR package\nwget https://github.com/bytedesk/bytedesk/releases/download/v1.0.0/bytedesk.jar\njava --version\n# java 17.0.4 2022-07-19 LTS\n"})}),"\n",(0,r.jsx)(n.h3,{id:"mysql-80",children:(0,r.jsx)(n.a,{href:"./depend/mysql",children:"MySQL 8.0"})}),"\n",(0,r.jsx)(n.p,{children:"MySQL is used by default"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Modify application.properties\nspring.datasource.url=jdbc:mysql://127.0.0.1:3306/bytedesk_im\nspring.datasource.username=root\nspring.datasource.password=password\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"or-postgresql-16",children:["Or ",(0,r.jsx)(n.a,{href:"./depend/postgresql",children:"PostgreSQL 16"})]}),"\n",(0,r.jsx)(n.p,{children:"Choose either MySQL or PostgreSQL, MySQL is used by default"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Modify application.properties\nspring.datasource.url=jdbc:postgresql://127.0.0.1:5433/bytedesk_im\nspring.datasource.username=postgres\nspring.datasource.password=password\n"})}),"\n",(0,r.jsx)(n.h3,{id:"redis",children:(0,r.jsx)(n.a,{href:"./depend/redis",children:"Redis"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"spring.data.redis.database=0\nspring.data.redis.host=127.0.0.1\nspring.data.redis.port=6379\nspring.data.redis.password=password\n"})}),"\n",(0,r.jsx)(n.h2,{id:"nginx",children:(0,r.jsx)(n.a,{href:"./depend/nginx",children:"Nginx"})}),"\n",(0,r.jsx)(n.p,{children:"Not required for local deployment, only recommended for production environment where Nginx serves as reverse proxy."}),"\n",(0,r.jsx)(n.h2,{id:"ai",children:(0,r.jsx)(n.a,{href:"./depend/ai",children:"AI"})}),"\n",(0,r.jsx)(n.p,{children:"Optional, only used for knowledge base Q&A, can be skipped. If only using AI model for conversation, just fill in Zhipu AI key in configuration file."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"Download link: https://github.com/Bytedesk/bytedesk-ai\n"})}),"\n",(0,r.jsxs)(n.h2,{id:"download-im-server",children:["Download ",(0,r.jsx)(n.a,{href:"https://www.weiyuai.cn/download/weiyu-server.zip",children:"IM Server"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# More downloads: https://www.weiyuai.cn/download\n# Extract\nunzip weiyu-server.zip\n"})}),"\n",(0,r.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Edit configuration file: server/config/application.properties\n# Modify database connection info\nspring.datasource.url=jdbc:mysql://127.0.0.1:3306/bytedesk_im\nspring.datasource.username=root\nspring.datasource.password=password\n# Modify redis connection info\nspring.data.redis.database=0\nspring.data.redis.host=127.0.0.1\nspring.data.redis.port=6379\nspring.data.redis.password=password\n\n# Grant permissions\nchmod +x start.sh\nchmod +x stop.sh\n# Start\n# Run on Mac or Linux\n./start.sh\n# Run on Windows\nstart.bat\n# Stop\n# Run on Mac or Linux\n./stop.sh\n# Run on Windows\nstop.bat\n# After starting, wait a moment. Check port, if port 9003 exists, startup successful\nnetstat -ntlp\n# View logs\ntail -f logs/bytedeskim.log\n"})}),"\n",(0,r.jsx)(n.h2,{id:"local-preview",children:"Local Preview"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"web: http://127.0.0.1:9003/\nDeveloper portal: http://127.0.0.1:9003/dev\nAdmin dashboard: http://127.0.0.1:9003/admin, username: admin@email.com, password: admin\nAgent client: http://127.0.0.1:9003/agent/chat, username: admin@email.com, password: admin\nVisitor: http://127.0.0.1:9003/chat?org=df_org_uid&t=0&sid=df_ag_uid&\nAPI docs: http://127.0.0.1:9003/swagger-ui/index.html\nDatabase monitor: http://127.0.0.1:9003/druid, username: admin@email.com, password: admin\nActuator: http://127.0.0.1:9003/actuator\n"})})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},6246:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var d=s(2155);const r={},i=d.createContext(r);function a(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7d8caebe.da26bee4.js b/docs/assets/js/7d8caebe.da26bee4.js new file mode 100644 index 0000000000..4509941963 --- /dev/null +++ b/docs/assets/js/7d8caebe.da26bee4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8732],{3303:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"develop/visitor/foreign/whatsapp","title":"Whatsapp","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/foreign/whatsapp.md","sourceDirName":"develop/visitor/foreign","slug":"/develop/visitor/foreign/whatsapp","permalink":"/bytedesk/docs/develop/visitor/foreign/whatsapp","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/foreign/whatsapp.md","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_label":"Whatsapp","sidebar_position":8}}');var i=t(5723),r=t(6246);const o={sidebar_label:"Whatsapp",sidebar_position:8},a="Whatsapp",d={},c=[{value:"\u673a\u5668\u4eba\u5bf9\u8bdd",id:"\u673a\u5668\u4eba\u5bf9\u8bdd",level:2},{value:"\u4e00\u5bf9\u4e00\u5ba2\u670d",id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",level:2},{value:"\u6280\u80fd\u7ec4\u5ba2\u670d",id:"\u6280\u80fd\u7ec4\u5ba2\u670d",level:2}];function l(e){const s={a:"a",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"whatsapp",children:"Whatsapp"})}),"\n",(0,i.jsxs)(s.p,{children:["\u9996\u5148\u767b\u5f55",(0,i.jsx)(s.a,{href:"https://www.weiyuai.cn/admin",children:"\u7ba1\u7406\u540e\u53f0"}),"\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002"]}),"\n",(0,i.jsx)(s.h2,{id:"\u673a\u5668\u4eba\u5bf9\u8bdd",children:"\u673a\u5668\u4eba\u5bf9\u8bdd"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.img,{alt:"robot",src:t(3400).A+"",width:"2820",height:"982"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",children:"\u4e00\u5bf9\u4e00\u5ba2\u670d"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.img,{alt:"agent",src:t(3919).A+"",width:"2832",height:"1078"})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u6280\u80fd\u7ec4\u5ba2\u670d",children:"\u6280\u80fd\u7ec4\u5ba2\u670d"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.img,{alt:"wgroup",src:t(5704).A+"",width:"2854",height:"1108"})}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3919:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/agent-web-f31858c44b73e3b8477c963e8f93074f.png"},3400:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/robot-web-0a4f366346bd63674c21c3f0f44443fc.png"},5704:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wgroup-web-f50e08697bad50a759117ed392e12ff7.png"},6246:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>a});var n=t(2155);const i={},r=n.createContext(i);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7f7ea3bc.953ee262.js b/docs/assets/js/7f7ea3bc.953ee262.js new file mode 100644 index 0000000000..fc341cdfb6 --- /dev/null +++ b/docs/assets/js/7f7ea3bc.953ee262.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2045],{7622:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"develop/plugin/index","title":"Plugin Development","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/plugin/index.md","sourceDirName":"develop/plugin","slug":"/develop/plugin/","permalink":"/bytedesk/docs/develop/plugin/","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/plugin/index.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"Plugin Development","sidebar_position":4}}');var s=t(5723),i=t(6246);const r={sidebar_label:"Plugin Development",sidebar_position:4},l="Plugin Development",d={},c=[];function u(e){const n={h1:"h1",header:"header",...(0,i.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"plugin-development",children:"Plugin Development"})})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>l});var o=t(2155);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/80bd71a7.555fd8ed.js b/docs/assets/js/80bd71a7.555fd8ed.js new file mode 100644 index 0000000000..b6b7a61d59 --- /dev/null +++ b/docs/assets/js/80bd71a7.555fd8ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8061],{5940:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"deploy/cicd/server","title":"Server CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/server.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/server","permalink":"/bytedesk/docs/deploy/cicd/server","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/server.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Server","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Cluster","permalink":"/bytedesk/docs/deploy/cluster"},"next":{"title":"Admin Dashboard","permalink":"/bytedesk/docs/deploy/cicd/admin"}}');var i=s(5723),r=s(6246);const a={sidebar_label:"Server",sidebar_position:1},c="Server CI/CD",o={},d=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function l(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"server-cicd",children:"Server CI/CD"})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,i.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,i.jsx)(n.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"name: Build and Deploy Server\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Set up JDK\n uses: actions/setup-java@v2\n with:\n java-version: '17'\n distribution: 'adopt'\n \n - name: Build with Maven\n run: mvn -B package --file pom.xml\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: \"target/*.jar\"\n target: \"/opt/bytedesk/\"\n"})}),"\n",(0,i.jsx)(n.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: maven:3.8-openjdk-17\n script:\n - mvn package\n artifacts:\n paths:\n - target/*.jar\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete target/*.jar user@server:/opt/bytedesk/\n only:\n - main\n"})}),"\n",(0,i.jsx)(n.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n tools {\n jdk 'JDK 17'\n maven 'Maven 3'\n }\n \n stages {\n stage('Build') {\n steps {\n sh 'mvn clean package'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete target/*.jar user@server:/opt/bytedesk/'\n }\n }\n }\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},6246:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var t=s(2155);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/814f3328.da5f48d1.js b/docs/assets/js/814f3328.da5f48d1.js new file mode 100644 index 0000000000..6b6fb29f99 --- /dev/null +++ b/docs/assets/js/814f3328.da5f48d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7472],{5513:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"QR Code Login Implementation Process","permalink":"/bytedesk/blog/scan-to-login","unlisted":false,"date":"2024-10-08T00:00:00.000Z"},{"title":"Welcome","permalink":"/bytedesk/blog/welcome","unlisted":false,"date":"2021-08-26T00:00:00.000Z"},{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post","unlisted":false,"date":"2021-08-01T00:00:00.000Z"},{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post","unlisted":false,"date":"2019-05-29T00:00:00.000Z"},{"title":"First Blog Post","permalink":"/bytedesk/blog/first-blog-post","unlisted":false,"date":"2019-05-28T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/docs/assets/js/8189716e.f8dbcf74.js b/docs/assets/js/8189716e.f8dbcf74.js new file mode 100644 index 0000000000..9fb4c2bf9a --- /dev/null +++ b/docs/assets/js/8189716e.f8dbcf74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[476],{4900:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"solution/kbase","title":"Knowledge Base Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/kbase.md","sourceDirName":"solution","slug":"/solution/kbase","permalink":"/bytedesk/docs/solution/kbase","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/kbase.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_label":"Knowledge Base","sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Cross-border E-commerce Smart Service Solution","permalink":"/bytedesk/docs/solution/shop-foreign"},"next":{"title":"Help Center","permalink":"/bytedesk/docs/solution/helpcenter"}}');var s=i(5723),r=i(6246);const t={sidebar_label:"Knowledge Base",sidebar_position:6},o="Knowledge Base Solution",d={},c=[{value:"Features",id:"features",level:2},{value:"Content Features",id:"content-features",level:3},{value:"Editor Features",id:"editor-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"knowledge-base-solution",children:"Knowledge Base Solution"})}),"\n",(0,s.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(n.h3,{id:"content-features",children:"Content Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Article management"}),"\n",(0,s.jsx)(n.li,{children:"Category management"}),"\n",(0,s.jsx)(n.li,{children:"Tag management"}),"\n",(0,s.jsx)(n.li,{children:"Version control"}),"\n",(0,s.jsx)(n.li,{children:"Search functionality"}),"\n",(0,s.jsx)(n.li,{children:"Related articles"}),"\n",(0,s.jsx)(n.li,{children:"Popular articles"}),"\n",(0,s.jsx)(n.li,{children:"Recent updates"}),"\n",(0,s.jsx)(n.li,{children:"PDF export"}),"\n",(0,s.jsx)(n.li,{children:"Print friendly"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"editor-features",children:"Editor Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Rich text editor"}),"\n",(0,s.jsx)(n.li,{children:"Markdown support"}),"\n",(0,s.jsx)(n.li,{children:"Image upload"}),"\n",(0,s.jsx)(n.li,{children:"File attachments"}),"\n",(0,s.jsx)(n.li,{children:"Code highlighting"}),"\n",(0,s.jsx)(n.li,{children:"Table support"}),"\n",(0,s.jsx)(n.li,{children:"Version history"}),"\n",(0,s.jsx)(n.li,{children:"Collaboration tools"}),"\n",(0,s.jsx)(n.li,{children:"Review workflow"}),"\n",(0,s.jsx)(n.li,{children:"Publishing control"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User management"}),"\n",(0,s.jsx)(n.li,{children:"Role management"}),"\n",(0,s.jsx)(n.li,{children:"Permission control"}),"\n",(0,s.jsx)(n.li,{children:"Content approval"}),"\n",(0,s.jsx)(n.li,{children:"Usage analytics"}),"\n",(0,s.jsx)(n.li,{children:"SEO settings"}),"\n",(0,s.jsx)(n.li,{children:"Custom themes"}),"\n",(0,s.jsx)(n.li,{children:"System settings"}),"\n",(0,s.jsx)(n.li,{children:"Data backup"}),"\n",(0,s.jsx)(n.li,{children:"Access logs"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"REST API"}),"\n",(0,s.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,s.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,s.jsx)(n.li,{children:"Android SDK"}),"\n",(0,s.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,s.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,s.jsx)(n.li,{children:"Custom development"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>o});var l=i(2155);const s={},r=l.createContext(s);function t(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/82bd4724.3fa7136f.js b/docs/assets/js/82bd4724.3fa7136f.js new file mode 100644 index 0000000000..ba761426f3 --- /dev/null +++ b/docs/assets/js/82bd4724.3fa7136f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1314],{6138:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"develop/visitor/social/wechat","title":"\u5fae\u4fe1","description":"\u5fae\u8bed\u4e0d\u76f4\u63a5\u63d0\u4f9b\u4e0e\u5fae\u4fe1\u5bf9\u8bdd\u7684\u529f\u80fd\uff0c\u4ec5\u63d0\u4f9b\u901a\u7528AI\u95ee\u7b54API\uff0c\u5fae\u4fe1\u5bf9\u63a5\u9700\u8981\u501f\u52a9\u7b2c\u4e09\u65b9\u5b9e\u73b0\u3002","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechat.md","sourceDirName":"develop/visitor/social","slug":"/develop/visitor/social/wechat","permalink":"/bytedesk/docs/develop/visitor/social/wechat","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/social/wechat.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"\u5fae\u4fe1","sidebar_position":1}}');var s=n(5723),i=n(6246);const r={sidebar_label:"\u5fae\u4fe1",sidebar_position:1},c="\u5fae\u4fe1",a={},d=[{value:"\u65b9\u5f0f\u4e00\uff1a WechatFerry",id:"\u65b9\u5f0f\u4e00-wechatferry",level:2},{value:"\u65b9\u5f0f\u4e8c\uff1a Wxauto",id:"\u65b9\u5f0f\u4e8c-wxauto",level:2}];function l(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"\u5fae\u4fe1",children:"\u5fae\u4fe1"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"\u5fae\u8bed\u4e0d\u76f4\u63a5\u63d0\u4f9b\u4e0e\u5fae\u4fe1\u5bf9\u8bdd\u7684\u529f\u80fd\uff0c\u4ec5\u63d0\u4f9b\u901a\u7528AI\u95ee\u7b54API\uff0c\u5fae\u4fe1\u5bf9\u63a5\u9700\u8981\u501f\u52a9\u7b2c\u4e09\u65b9\u5b9e\u73b0\u3002"})}),"\n",(0,s.jsxs)(t.h2,{id:"\u65b9\u5f0f\u4e00-wechatferry",children:["\u65b9\u5f0f\u4e00\uff1a ",(0,s.jsx)(t.a,{href:"https://github.com/lich0821/WeChatFerry",children:"WechatFerry"})]}),"\n",(0,s.jsx)(t.p,{children:"TODO: \u5f85\u8865\u5145"}),"\n",(0,s.jsxs)(t.h2,{id:"\u65b9\u5f0f\u4e8c-wxauto",children:["\u65b9\u5f0f\u4e8c\uff1a ",(0,s.jsx)(t.a,{href:"https://github.com/cluic/wxauto",children:"Wxauto"})]}),"\n",(0,s.jsx)(t.p,{children:"TODO: \u5f85\u8865\u5145"})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var o=n(2155);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/8359ee0f.d5c10554.js b/docs/assets/js/8359ee0f.d5c10554.js new file mode 100644 index 0000000000..47cd8f7e95 --- /dev/null +++ b/docs/assets/js/8359ee0f.d5c10554.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1338],{4659:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"solution/ticket","title":"Ticket System Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/ticket.md","sourceDirName":"solution","slug":"/solution/ticket","permalink":"/bytedesk/docs/solution/ticket","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/ticket.md","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_label":"Ticket System","sidebar_position":8},"sidebar":"tutorialSidebar","previous":{"title":"Help Center","permalink":"/bytedesk/docs/solution/helpcenter"},"next":{"title":"Queue Management","permalink":"/bytedesk/docs/solution/queue-number"}}');var l=i(5723),t=i(6246);const r={sidebar_label:"Ticket System",sidebar_position:8},c="Ticket System Solution",d={},o=[{value:"Features",id:"features",level:2},{value:"User Features",id:"user-features",level:3},{value:"Agent Features",id:"agent-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"ticket-system-solution",children:"Ticket System Solution"})}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsx)(n.h3,{id:"user-features",children:"User Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Ticket creation"}),"\n",(0,l.jsx)(n.li,{children:"Ticket tracking"}),"\n",(0,l.jsx)(n.li,{children:"File attachments"}),"\n",(0,l.jsx)(n.li,{children:"Status updates"}),"\n",(0,l.jsx)(n.li,{children:"Comment history"}),"\n",(0,l.jsx)(n.li,{children:"Priority levels"}),"\n",(0,l.jsx)(n.li,{children:"Email notifications"}),"\n",(0,l.jsx)(n.li,{children:"Knowledge base"}),"\n",(0,l.jsx)(n.li,{children:"FAQ access"}),"\n",(0,l.jsx)(n.li,{children:"Satisfaction surveys"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"agent-features",children:"Agent Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Ticket management"}),"\n",(0,l.jsx)(n.li,{children:"Queue management"}),"\n",(0,l.jsx)(n.li,{children:"SLA tracking"}),"\n",(0,l.jsx)(n.li,{children:"Response templates"}),"\n",(0,l.jsx)(n.li,{children:"Internal notes"}),"\n",(0,l.jsx)(n.li,{children:"Ticket assignment"}),"\n",(0,l.jsx)(n.li,{children:"Team collaboration"}),"\n",(0,l.jsx)(n.li,{children:"Performance metrics"}),"\n",(0,l.jsx)(n.li,{children:"Work schedule"}),"\n",(0,l.jsx)(n.li,{children:"Quality control"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"User management"}),"\n",(0,l.jsx)(n.li,{children:"Team management"}),"\n",(0,l.jsx)(n.li,{children:"Role management"}),"\n",(0,l.jsx)(n.li,{children:"Permission control"}),"\n",(0,l.jsx)(n.li,{children:"Workflow settings"}),"\n",(0,l.jsx)(n.li,{children:"SLA configuration"}),"\n",(0,l.jsx)(n.li,{children:"Report generation"}),"\n",(0,l.jsx)(n.li,{children:"System settings"}),"\n",(0,l.jsx)(n.li,{children:"Analytics dashboard"}),"\n",(0,l.jsx)(n.li,{children:"Data backup"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"REST API"}),"\n",(0,l.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,l.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,l.jsx)(n.li,{children:"Android SDK"}),"\n",(0,l.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,l.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,l.jsx)(n.li,{children:"Custom development"}),"\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,l.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>c});var s=i(2155);const l={},t=s.createContext(l);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/83af8544.31427b19.js b/docs/assets/js/83af8544.31427b19.js new file mode 100644 index 0000000000..e6b1b780cc --- /dev/null +++ b/docs/assets/js/83af8544.31427b19.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3708],{9338:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>d});const l=JSON.parse('{"id":"payment","title":"Payment","description":"Pricing Plans","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/payment.md","sourceDirName":".","slug":"/payment","permalink":"/bytedesk/docs/payment","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/payment.md","tags":[],"version":"current","sidebarPosition":99,"frontMatter":{"sidebar_label":"Payment","sidebar_position":99},"sidebar":"tutorialSidebar","previous":{"title":"Queue Management","permalink":"/bytedesk/docs/solution/queue-number"}}');var s=i(5723),t=i(6246);const r={sidebar_label:"Payment",sidebar_position:99},a="Payment",c={},d=[{value:"Pricing Plans",id:"pricing-plans",level:2},{value:"Free Plan",id:"free-plan",level:3},{value:"Professional Plan",id:"professional-plan",level:3},{value:"Enterprise Plan",id:"enterprise-plan",level:3},{value:"Payment Methods",id:"payment-methods",level:2},{value:"WeChat Pay",id:"wechat-pay",level:3},{value:"Alipay",id:"alipay",level:3},{value:"Contact Sales",id:"contact-sales",level:2},{value:"Refund Policy",id:"refund-policy",level:2},{value:"Invoice",id:"invoice",level:2},{value:"Terms & Conditions",id:"terms--conditions",level:2}];function o(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"payment",children:"Payment"})}),"\n",(0,s.jsx)(n.h2,{id:"pricing-plans",children:"Pricing Plans"}),"\n",(0,s.jsx)(n.h3,{id:"free-plan",children:"Free Plan"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"1 agent account"}),"\n",(0,s.jsx)(n.li,{children:"Basic features"}),"\n",(0,s.jsx)(n.li,{children:"Community support"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"professional-plan",children:"Professional Plan"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"5 agent accounts"}),"\n",(0,s.jsx)(n.li,{children:"All features"}),"\n",(0,s.jsx)(n.li,{children:"Email support"}),"\n",(0,s.jsx)(n.li,{children:"\xa5299/month or \xa52990/year"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"enterprise-plan",children:"Enterprise Plan"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Unlimited agent accounts"}),"\n",(0,s.jsx)(n.li,{children:"All features"}),"\n",(0,s.jsx)(n.li,{children:"Priority support"}),"\n",(0,s.jsx)(n.li,{children:"Custom deployment"}),"\n",(0,s.jsx)(n.li,{children:"Contact sales for pricing"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"payment-methods",children:"Payment Methods"}),"\n",(0,s.jsx)(n.h3,{id:"wechat-pay",children:"WeChat Pay"}),"\n",(0,s.jsx)("img",{src:"/img/payment/wechat.png",width:"200"}),"\n",(0,s.jsx)(n.h3,{id:"alipay",children:"Alipay"}),"\n",(0,s.jsx)("img",{src:"/img/payment/alipay.png",width:"200"}),"\n",(0,s.jsx)(n.h2,{id:"contact-sales",children:"Contact Sales"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Email: ",(0,s.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"support@bytedesk.com"})]}),"\n",(0,s.jsx)(n.li,{children:"Phone: +86-xxx-xxxx-xxxx"}),"\n",(0,s.jsx)(n.li,{children:"WeChat: bytedesk"}),"\n",(0,s.jsx)(n.li,{children:"QQ: 1600631528"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"refund-policy",children:"Refund Policy"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Full refund within 7 days of purchase"}),"\n",(0,s.jsx)(n.li,{children:"No refund after 7 days"}),"\n",(0,s.jsx)(n.li,{children:"No refund for custom development"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"invoice",children:"Invoice"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Contact customer service for invoice"}),"\n",(0,s.jsx)(n.li,{children:"Need company information"}),"\n",(0,s.jsx)(n.li,{children:"Will be sent within 7 working days"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"terms--conditions",children:"Terms & Conditions"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Prices are in CNY"}),"\n",(0,s.jsx)(n.li,{children:"Prices may change without notice"}),"\n",(0,s.jsx)(n.li,{children:"All features subject to availability"}),"\n",(0,s.jsx)(n.li,{children:"Service level agreement applies"}),"\n",(0,s.jsx)(n.li,{children:"Usage restrictions may apply"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var l=i(2155);const s={},t=l.createContext(s);function r(e){const n=l.useContext(t);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/8717b14a.23041232.js b/docs/assets/js/8717b14a.23041232.js new file mode 100644 index 0000000000..95f1353224 --- /dev/null +++ b/docs/assets/js/8717b14a.23041232.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3694],{5185:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var s=o(5802),n=o(5723),l=o(6246);const r={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},a=void 0,i={authorsImageUrls:[void 0]},c=[];function u(e){const t={code:"code",p:"p",...(0,l.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,n.jsxs)(t.p,{children:["Use a ",(0,n.jsx)(t.code,{children:"\x3c!--"})," ",(0,n.jsx)(t.code,{children:"truncate"})," ",(0,n.jsx)(t.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function g(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>a});var s=o(2155);const n={},l=s.createContext(n);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(l.Provider,{value:t},e.children)}},5802:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/long-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/bytedesk/blog/first-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/925b3f96.aa4c1b04.js b/docs/assets/js/925b3f96.aa4c1b04.js new file mode 100644 index 0000000000..0e0e42e5fd --- /dev/null +++ b/docs/assets/js/925b3f96.aa4c1b04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8609],{4400:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>i,contentTitle:()=>l,default:()=>g,frontMatter:()=>a,metadata:()=>o,toc:()=>u});var o=s(2421),n=s(5723),r=s(6246);const a={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},l=void 0,i={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."})}function g(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},6246:(t,e,s)=>{s.d(e,{R:()=>a,x:()=>l});var o=s(2155);const n={},r=o.createContext(n);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),o.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/bytedesk/blog/first-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/bytedesk/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/9617b332.14cb2028.js b/docs/assets/js/9617b332.14cb2028.js new file mode 100644 index 0000000000..681d358eef --- /dev/null +++ b/docs/assets/js/9617b332.14cb2028.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7336],{8972:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"deploy/source","title":"Source Code Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/source.md","sourceDirName":"deploy","slug":"/deploy/source","permalink":"/bytedesk/docs/deploy/source","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/source.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Source Code","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Uniapp","permalink":"/bytedesk/docs/develop/visitor/platform/uniapp"},"next":{"title":"Docker","permalink":"/bytedesk/docs/deploy/docker"}}');var o=d(5723),r=d(6246);const i={sidebar_label:"Source Code",sidebar_position:1},t="Source Code Deployment",l={},c=[{value:"Dependencies",id:"dependencies",level:2},{value:"Download",id:"download",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Start",id:"start",level:2},{value:"Stop",id:"stop",level:2},{value:"Upgrade",id:"upgrade",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"source-code-deployment",children:"Source Code Deployment"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,o.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,o.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/jdk",children:"JDK"})}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"/docs/deploy/depend/mysql",children:"MySQL"})," or ",(0,o.jsx)(n.a,{href:"/docs/deploy/depend/postgresql",children:"PostgreSQL"})]}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/redis",children:"Redis"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/nginx",children:"Nginx"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/docker",children:"Docker"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/deploy/depend/letsencrypt",children:"Let's Encrypt"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Download source code\ngit clone https://github.com/bytedesk/bytedesk.git\ncd bytedesk\n# Install dependencies\nyarn install\n# Start development\nyarn dev\n# Build for production\nyarn build\n"})}),"\n",(0,o.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Modify configuration files\n# Modify database configuration\nvim config/application.yml\n# Modify redis configuration\nvim config/redis.yml\n"})}),"\n",(0,o.jsx)(n.h2,{id:"start",children:"Start"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Start server\n./startup.sh\n# View logs\ntail -f logs/bytedesk.log\n"})}),"\n",(0,o.jsx)(n.h2,{id:"stop",children:"Stop"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Stop server\n./shutdown.sh\n"})}),"\n",(0,o.jsx)(n.h2,{id:"upgrade",children:"Upgrade"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# Pull latest code\ngit pull\n# Build\nyarn build\n# Stop server\n./shutdown.sh\n# Start server\n./startup.sh\n"})})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},6246:(e,n,d)=>{d.d(n,{R:()=>i,x:()=>t});var s=d(2155);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/9626587a.73303a0e.js b/docs/assets/js/9626587a.73303a0e.js new file mode 100644 index 0000000000..bfdc3413bf --- /dev/null +++ b/docs/assets/js/9626587a.73303a0e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6989],{7027:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"develop/visitor/platform/uniapp","title":"Uniapp","description":"\u90e8\u5206\u529f\u80fd","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/uniapp.md","sourceDirName":"develop/visitor/platform","slug":"/develop/visitor/platform/uniapp","permalink":"/bytedesk/docs/develop/visitor/platform/uniapp","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/platform/uniapp.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Uniapp","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"React","permalink":"/bytedesk/docs/develop/visitor/platform/react"},"next":{"title":"Source Code","permalink":"/bytedesk/docs/deploy/source"}}');var t=i(5723),d=i(6246);const l={sidebar_label:"Uniapp",sidebar_position:3},r="Uniapp",a={},o=[{value:"\u90e8\u5206\u529f\u80fd",id:"\u90e8\u5206\u529f\u80fd",level:2},{value:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d",id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",level:2},{value:"\u914d\u7f6e\u6b65\u9aa4\u8bf4\u660e\uff08\u5171\u4e24\u6b65\uff09",id:"\u914d\u7f6e\u6b65\u9aa4\u8bf4\u660e\u5171\u4e24\u6b65",level:2},{value:"\u5f00\u53d1\u6b65\u9aa4\u8bf4\u660e\uff08\u5171\u4e09\u6b65\uff09",id:"\u5f00\u53d1\u6b65\u9aa4\u8bf4\u660e\u5171\u4e09\u6b65",level:2},{value:"\u56fd\u9645\u5316",id:"\u56fd\u9645\u5316",level:3}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",pre:"pre",ul:"ul",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"uniapp",children:"Uniapp"})}),"\n",(0,t.jsx)(n.h2,{id:"\u90e8\u5206\u529f\u80fd",children:"\u90e8\u5206\u529f\u80fd"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u5168\u90e8\u57fa\u4e8e vuejs \u5f00\u53d1\uff0c\u4e0d\u4f9d\u8d56\u539f\u751f SDK\uff0c100%\u5168\u90e8\u5f00\u6e90\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u754c\u9762"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301 web/h5/\u5c0f\u7a0b\u5e8f/\u5b89\u5353/iOS \u7b49\u5168\u5e73\u53f0"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u4eba\u5de5\u5ba2\u670d"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u673a\u5668\u4eba"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u6587\u5b57\u3001\u56fe\u7247\u3001\u8bed\u97f3\u3001\u8868\u60c5"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u9884\u77e5\uff1a\u5bf9\u65b9\u6b63\u5728\u8f93\u5165"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u72b6\u6001\uff1a\u9001\u8fbe\u3001\u5df2\u8bfb"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u6d88\u606f\u64a4\u56de"}),"\n",(0,t.jsx)(n.li,{children:"\u5bf9\u63a5\u7b2c\u4e09\u65b9\u8d26\u53f7\u7cfb\u7edf/\u591a\u7528\u6237\u5207\u6362"}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301 vue2/vue3"}),"\n",(0,t.jsx)(n.li,{children:"\u6ce8\u610f\uff1a\u8fd0\u884c\u9879\u76ee bytedesk_demo_vue3 \u4e4b\u524d\uff0c\u9996\u5148\u9700\u8981\u8fdb\u5165\u9879\u76ee\u6587\u4ef6\u5939\u6267\u884c yarn \u6216\u8005 npm install \u521d\u59cb\u5316"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"sdk\u6e90\u7801\u53cademo\u4e0b\u8f7d",children:"SDK\u6e90\u7801\u53caDemo\u4e0b\u8f7d"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"bytedesk_demo_vue2 \u548c bytedesk_demo_vue3 \u7684\u5206\u522b\u662fvue2\u548cvue3\u7684demo\uff0c\u8bf7\u9009\u62e9\u5176\u4e2d\u4e00\u4e2a\u5373\u53ef"}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://gitee.com/270580156/bytedesk-uniapp",children:"Gitee Demo"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://github.com/Bytedesk/bytedesk-uniapp",children:"Github Demo"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u6b65\u9aa4\u8bf4\u660e\u5171\u4e24\u6b65",children:"\u914d\u7f6e\u6b65\u9aa4\u8bf4\u660e\uff08\u5171\u4e24\u6b65\uff09"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u9996\u5148\uff1a\u5c06 components/bytedesk_sdk \u6587\u4ef6\u5939\u62f7\u8d1d\u5230\u81ea\u5df1\u5e94\u7528 components \u6587\u4ef6\u5939\uff0c"}),"\n",(0,t.jsx)(n.li,{children:"\u7136\u540e\uff1a\u5728 pages.json \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u51e0\u4e2a\u9875\u9762\uff0c\u5177\u4f53\u53ef\u53c2\u8003 demo \u4e2d pages.json \u6587\u4ef6"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:'{\n "path": "components/bytedesk_sdk/chat-kf",\n "style": {\n "navigationBarTitleText": "\u5fae\u8bed\u667a\u80fd\u5ba2\u670d",\n "navigationBarBackgroundColor":"#007AFF",\n "navigationBarTextStyle":"white"\n }\n},\n{\n "path": "components/bytedesk_sdk/rate",\n "style": {\n "navigationBarTitleText": "\u6ee1\u610f\u5ea6\u8bc4\u4ef7",\n "navigationBarBackgroundColor":"#007AFF",\n "navigationBarTextStyle":"white"\n }\n},\n{\n "path": "components/bytedesk_sdk/webview",\n "style": {\n "navigationBarTitleText": "\u5fae\u8bedH5",\n "navigationBarBackgroundColor":"#007AFF",\n "navigationBarTextStyle":"white"\n }\n},\n{\n "path": "components/bytedesk_sdk/leavemsg",\n "style": {\n "navigationBarTitleText": "\u7559\u8a00",\n "navigationBarBackgroundColor":"#007AFF",\n "navigationBarTextStyle":"white"\n }\n}\n'})}),"\n",(0,t.jsx)(n.h2,{id:"\u5f00\u53d1\u6b65\u9aa4\u8bf4\u660e\u5171\u4e09\u6b65",children:"\u5f00\u53d1\u6b65\u9aa4\u8bf4\u660e\uff08\u5171\u4e09\u6b65\uff09"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u7b2c\u4e00\u6b65\uff1a\u5f15\u5165\u6587\u4ef6\u3002\u5728\u8c03\u7528\u5ba2\u670d\u7684 vue \u9875\u9762\uff0c\u5982\uff1aindex.vue\uff0c\u5f15\u5165"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:'import * as bytedesk from "@/components/bytedesk_sdk/js/bytedesk.js";\n'})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316\u3002\u5728 index.vue \u9875\u9762 onLoad \u51fd\u6570"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"// \u7b2c\u4e8c\u6b65\uff1a\u521d\u59cb\u5316\n// \u83b7\u53d6\u4f01\u4e1auid\uff0c\u767b\u5f55\u540e\u53f0->\u5ba2\u670d->\u6e20\u9053->uniapp\n// http://www.weiyuai.cn/admin/cs/channel\nlet orgUid = 'df_org_uid'\nbytedesk.init(orgUid);\n// \u6ce8\uff1a\u5982\u679c\u9700\u8981\u591a\u5e73\u53f0\u7edf\u4e00\u7528\u6237\uff08\u7528\u4e8e\u540c\u6b65\u804a\u5929\u8bb0\u5f55\u7b49\uff09\uff0c\u53ef\u4f7f\u7528:\n// bytedesk.initWithUidAndNicknameAndAvatar(orgUid, 'myuniappuid', '\u6211\u662f\u7f8e\u5973', 'https://bytedesk.oss-cn-shenzhen.aliyuncs.com/avatars/girl.png');\n// bytedesk.initWithUid(orgUid, 'myuniappuid'); // \u5176\u4e2d\uff1auid\u4e3a\u81ea\u5b9a\u4e49uid\uff0c\u53ef\u4e0e\u5f00\u53d1\u8005\u6240\u5728\u7528\u6237\u7cfb\u7edf\u5bf9\u63a5\uff0c\u7528\u4e8e\u591a\u7528\u6237\u5207\u6362\n// \u5177\u4f53\u53c2\u6570\u53ef\u4ee5\u53c2\u8003 @/components/bytedesk_sdk/js/bytedesk.js \u6587\u4ef6\u4e2d\u63a5\u53e3\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u7b2c\u4e09\u6b65\uff1a\u5f00\u59cb\u4f1a\u8bdd"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"// \u7b2c\u4e09\u6b65\uff1a\u83b7\u53d6\u6280\u80fd\u7ec4uid\uff0c\u767b\u5f55\u540e\u53f0->\u5ba2\u670d->\u6e20\u9053->uniapp\n// http://www.weiyuai.cn/admin/cs/channel\nstartChat () {\n uni.navigateTo({\n url: '../../components/bytedesk_sdk/chat-kf?sid=' + this.workGroupWid + '&type=1'\n });\n}\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u7ed3\u675f"}),"\n",(0,t.jsx)(n.li,{children:"\u5177\u4f53\u8bf7\u53c2\u8003 demo \u4e2d index.vue \u9875\u9762"}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"\u56fd\u9645\u5316",children:"\u56fd\u9645\u5316"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://uniapp.dcloud.net.cn/collocation/i18n",children:"\u5b98\u65b9\u56fd\u9645\u5316\u6587\u6863\u914d\u7f6e"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>r});var s=i(2155);const t={},d=s.createContext(t);function l(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/96ef327d.548eeaae.js b/docs/assets/js/96ef327d.548eeaae.js new file mode 100644 index 0000000000..3fd7d8de00 --- /dev/null +++ b/docs/assets/js/96ef327d.548eeaae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3809],{811:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"manual/admin/kbase/autoreply","title":"Auto Reply","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/autoreply.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/autoreply","permalink":"/bytedesk/docs/manual/admin/kbase/autoreply","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/autoreply.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Auto Reply","sidebar_position":5}}');var o=n(5723),s=n(6246);const r={sidebar_label:"Auto Reply",sidebar_position:5},u="Auto Reply",i={},c=[];function d(e){const t={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"auto-reply",children:"Auto Reply"})})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>u});var a=n(2155);const o={},s=a.createContext(o);function r(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/98fc44fe.66cafb03.js b/docs/assets/js/98fc44fe.66cafb03.js new file mode 100644 index 0000000000..637928b563 --- /dev/null +++ b/docs/assets/js/98fc44fe.66cafb03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3662],{3966:e=>{e.exports=JSON.parse('{"tag":{"label":"Bytedesk","permalink":"/bytedesk/blog/tags/bytedesk","description":"Bytedesk tag description","allTagsPath":"/bytedesk/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/bytedesk","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/9e974ea2.f880af1b.js b/docs/assets/js/9e974ea2.f880af1b.js new file mode 100644 index 0000000000..7c173d02a7 --- /dev/null +++ b/docs/assets/js/9e974ea2.f880af1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3009],{9965:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>c});const d=JSON.parse('{"id":"deploy/depend/ai","title":"AI Models","description":"Supported Models","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/ai.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/ai","permalink":"/bytedesk/docs/deploy/depend/ai","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/ai.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"AI Models","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"JDK","permalink":"/bytedesk/docs/deploy/depend/jdk"},"next":{"title":"Customer Service","permalink":"/bytedesk/docs/solution/im"}}');var s=t(5723),o=t(6246);const i={sidebar_label:"AI Models",sidebar_position:1},r="AI Models",l={},c=[{value:"Supported Models",id:"supported-models",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"ai-models",children:"AI Models"})}),"\n",(0,s.jsx)(n.h2,{id:"supported-models",children:"Supported Models"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./ollama",children:"Ollama"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://cloud.baidu.com/product/wenxinworkshop",children:"Baidu Qianfan"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://help.aliyun.com/zh/dashscope/developer-reference/api-details",children:"Alibaba Qwen"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://cloud.tencent.com/document/product/1729",children:"Tencent Hunyuan"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://open.bigmodel.cn/",children:"ZhipuAI"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://api.minimax.chat/",children:"MiniMax"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.moonshot.cn/",children:"Moonshot"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>r});var d=t(2155);const s={},o=d.createContext(s);function i(e){const n=d.useContext(o);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),d.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a1ad13e0.9790fad5.js b/docs/assets/js/a1ad13e0.9790fad5.js new file mode 100644 index 0000000000..3e0a3e75a1 --- /dev/null +++ b/docs/assets/js/a1ad13e0.9790fad5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5913],{6109:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var s=t(5763),o=t(5723),i=t(6246);const l={slug:"scan-to-login",title:"QR Code Login Implementation Process",authors:"jackning",tags:["developer","bytedesk"]},r=void 0,c={authorsImageUrls:[void 0]},d=[];function a(e){const n={li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Desktop client generates a unique device uid: deviceUid"}),"\n",(0,o.jsx)(n.li,{children:"Sends this deviceUid to the server, server returns a random code: randomCode"}),"\n",(0,o.jsx)(n.li,{children:"Desktop client generates QR code using randomCode and deviceUid"}),"\n",(0,o.jsx)(n.li,{children:"Mobile client scans this QR code, obtains deviceUid, sends deviceUid to server, server updates status to SCANED"}),"\n",(0,o.jsx)(n.li,{children:"Mobile client clicks confirm login, sends mobile number and deviceUid to server, server saves mobile number and updates status to CONFIRMED"}),"\n",(0,o.jsx)(n.li,{children:"Desktop client polls to get mobile number and CONFIRMED status, uses mobile number and randomCode to call login API"}),"\n",(0,o.jsx)(n.li,{children:"If desktop client gets EXPIRED status, it needs to fetch a new randomCode and regenerate QR code"}),"\n",(0,o.jsx)(n.li,{children:"After successful login, returns accessToken, desktop client saves this accessToken locally and redirects to homepage"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"QR Code Login Implementation Process"})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>r});var s=t(2155);const o={},i=s.createContext(o);function l(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(i.Provider,{value:n},e.children)}},5763:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/scan-to-login","editUrl":"https://github.com/bytedesk/bytedesk/blog/2024-10-08-scan-to-login.md","source":"@site/i18n/en/docusaurus-plugin-content-blog/2024-10-08-scan-to-login.md","title":"QR Code Login Implementation Process","description":"- Desktop client generates a unique device uid: deviceUid","date":"2024-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Developer","permalink":"/bytedesk/blog/tags/developer","description":"Developer tag description"},{"inline":false,"label":"Bytedesk","permalink":"/bytedesk/blog/tags/bytedesk","description":"Bytedesk tag description"}],"readingTime":0.67,"hasTruncateMarker":true,"authors":[{"name":"Jack Ning","title":"Maintainer of Bytedesk","url":"https://github.com/pengjinning","imageURL":"https://www.kefux.com/assets/img/qrcode/qiye.png","key":"jackning","page":null}],"frontMatter":{"slug":"scan-to-login","title":"QR Code Login Implementation Process","authors":"jackning","tags":["developer","bytedesk"]},"unlisted":false,"nextItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/a8c22454.a7345a81.js b/docs/assets/js/a8c22454.a7345a81.js new file mode 100644 index 0000000000..ff5125a5d4 --- /dev/null +++ b/docs/assets/js/a8c22454.a7345a81.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3246],{779:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>d,toc:()=>l});const d=JSON.parse('{"id":"deploy/depend/jdk","title":"JDK","description":"Installation","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/jdk.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/jdk","permalink":"/bytedesk/docs/deploy/depend/jdk","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/jdk.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"JDK","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Docker","permalink":"/bytedesk/docs/deploy/depend/docker"},"next":{"title":"AI Models","permalink":"/bytedesk/docs/deploy/depend/ai"}}');var s=t(5723),o=t(6246);const r={sidebar_label:"JDK",sidebar_position:3},a="JDK",i={},l=[{value:"Installation",id:"installation",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",header:"header",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"jdk",children:"JDK"})}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Install OpenJDK 17\nsudo apt update\nsudo apt install openjdk-17-jdk\n# Verify installation\njava -version\n"})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var d=t(2155);const s={},o=d.createContext(s);function r(e){const n=d.useContext(o);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),d.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/aa33ffd5.e2d66c44.js b/docs/assets/js/aa33ffd5.e2d66c44.js new file mode 100644 index 0000000000..7411e5a698 --- /dev/null +++ b/docs/assets/js/aa33ffd5.e2d66c44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5158],{1213:e=>{e.exports=JSON.parse('{"tag":{"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description","allTagsPath":"/bytedesk/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/ac95b37f.f172bc0c.js b/docs/assets/js/ac95b37f.f172bc0c.js new file mode 100644 index 0000000000..aaec3f5265 --- /dev/null +++ b/docs/assets/js/ac95b37f.f172bc0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[387],{2865:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/bytedesk/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Manual","items":[{"type":"category","label":"Admin Dashboard","items":[{"type":"category","label":"Organization","items":[{"type":"link","label":"Members","href":"/bytedesk/docs/manual/admin/team/member","docId":"manual/admin/team/member","unlisted":false},{"type":"link","label":"Roles","href":"/bytedesk/docs/manual/admin/team/role","docId":"manual/admin/team/role","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Customer Service","items":[{"type":"link","label":"One-on-One","href":"/bytedesk/docs/manual/admin/service/agent","docId":"manual/admin/service/agent","unlisted":false},{"type":"link","label":"Workgroup","href":"/bytedesk/docs/manual/admin/service/workgroup","docId":"manual/admin/service/workgroup","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Knowledge Base","items":[{"type":"link","label":"Help Center","href":"/bytedesk/docs/manual/admin/kbase/helpcenter","docId":"manual/admin/kbase/helpcenter","unlisted":false},{"type":"link","label":"FAQ","href":"/bytedesk/docs/manual/admin/kbase/faq","docId":"manual/admin/kbase/faq","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Ticket System","items":[{"type":"link","label":"Unassigned","href":"/bytedesk/docs/manual/admin/ticket/waiting","docId":"manual/admin/ticket/waiting","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Development","items":[{"type":"category","label":"Server","items":[{"type":"link","label":"Agent API","href":"/bytedesk/docs/develop/server/service/agent","docId":"develop/server/service/agent","unlisted":false},{"type":"link","label":"Member","href":"/bytedesk/docs/develop/server/team/member","docId":"develop/server/team/member","unlisted":false},{"type":"link","label":"Helpdoc","href":"/bytedesk/docs/develop/server/kbase/helpdoc","docId":"develop/server/kbase/helpdoc","unlisted":false},{"type":"link","label":"Status","href":"/bytedesk/docs/develop/server/ticket/status","docId":"develop/server/ticket/status","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Client","items":[{"type":"link","label":"Web/H5","href":"/bytedesk/docs/develop/visitor/platform/web","docId":"develop/visitor/platform/web","unlisted":false},{"type":"link","label":"Android","href":"/bytedesk/docs/develop/visitor/platform/android","docId":"develop/visitor/platform/android","unlisted":false},{"type":"link","label":"iOS","href":"/bytedesk/docs/develop/visitor/platform/ios","docId":"develop/visitor/platform/ios","unlisted":false},{"type":"link","label":"Flutter","href":"/bytedesk/docs/develop/visitor/platform/flutter","docId":"develop/visitor/platform/flutter","unlisted":false},{"type":"link","label":"React","href":"/bytedesk/docs/develop/visitor/platform/react","docId":"develop/visitor/platform/react","unlisted":false},{"type":"link","label":"Uniapp","href":"/bytedesk/docs/develop/visitor/platform/uniapp","docId":"develop/visitor/platform/uniapp","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Deployment","items":[{"type":"link","label":"Source Code","href":"/bytedesk/docs/deploy/source","docId":"deploy/source","unlisted":false},{"type":"link","label":"Docker","href":"/bytedesk/docs/deploy/docker","docId":"deploy/docker","unlisted":false},{"type":"link","label":"JAR","href":"/bytedesk/docs/deploy/jar","docId":"deploy/jar","unlisted":false},{"type":"link","label":"Admin Dashboard","href":"/bytedesk/docs/deploy/admin","docId":"deploy/admin","unlisted":false},{"type":"link","label":"Client","href":"/bytedesk/docs/deploy/agent","docId":"deploy/agent","unlisted":false},{"type":"link","label":"Desktop Client","href":"/bytedesk/docs/deploy/desktop","docId":"deploy/desktop","unlisted":false},{"type":"link","label":"Cluster","href":"/bytedesk/docs/deploy/cluster","docId":"deploy/cluster","unlisted":false},{"type":"category","label":"CI/CD","items":[{"type":"link","label":"Server","href":"/bytedesk/docs/deploy/cicd/server","docId":"deploy/cicd/server","unlisted":false},{"type":"link","label":"Admin Dashboard","href":"/bytedesk/docs/deploy/cicd/admin","docId":"deploy/cicd/admin","unlisted":false},{"type":"link","label":"Agent Client","href":"/bytedesk/docs/deploy/cicd/agent","docId":"deploy/cicd/agent","unlisted":false},{"type":"link","label":"Visitor Client","href":"/bytedesk/docs/deploy/cicd/visitor","docId":"deploy/cicd/visitor","unlisted":false},{"type":"link","label":"Developer Docs","href":"/bytedesk/docs/deploy/cicd/devdoc","docId":"deploy/cicd/devdoc","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Dependencies","items":[{"type":"link","label":"MySQL","href":"/bytedesk/docs/deploy/depend/mysql","docId":"deploy/depend/mysql","unlisted":false},{"type":"link","label":"PostgreSQL","href":"/bytedesk/docs/deploy/depend/postgresql","docId":"deploy/depend/postgresql","unlisted":false},{"type":"link","label":"Redis","href":"/bytedesk/docs/deploy/depend/redis","docId":"deploy/depend/redis","unlisted":false},{"type":"link","label":"Ollama","href":"/bytedesk/docs/deploy/depend/ollama","docId":"deploy/depend/ollama","unlisted":false},{"type":"link","label":"Nginx","href":"/bytedesk/docs/deploy/depend/nginx","docId":"deploy/depend/nginx","unlisted":false},{"type":"link","label":"SSL Certificate","href":"/bytedesk/docs/deploy/depend/letsencrypt","docId":"deploy/depend/letsencrypt","unlisted":false},{"type":"link","label":"Docker","href":"/bytedesk/docs/deploy/depend/docker","docId":"deploy/depend/docker","unlisted":false},{"type":"link","label":"JDK","href":"/bytedesk/docs/deploy/depend/jdk","docId":"deploy/depend/jdk","unlisted":false},{"type":"link","label":"AI Models","href":"/bytedesk/docs/deploy/depend/ai","docId":"deploy/depend/ai","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Solutions","items":[{"type":"link","label":"Customer Service","href":"/bytedesk/docs/solution/im","docId":"solution/im","unlisted":false},{"type":"link","label":"Team Chat","href":"/bytedesk/docs/solution/teamim","docId":"solution/teamim","unlisted":false},{"type":"link","label":"Education","href":"/bytedesk/docs/solution/edu","docId":"solution/edu","unlisted":false},{"type":"link","label":"Healthcare","href":"/bytedesk/docs/solution/hospital","docId":"solution/hospital","unlisted":false},{"type":"link","label":"E-commerce","href":"/bytedesk/docs/solution/shop","docId":"solution/shop","unlisted":false},{"type":"link","label":"Cross-border E-commerce Smart Service Solution","href":"/bytedesk/docs/solution/shop-foreign","docId":"solution/shop-foreign","unlisted":false},{"type":"link","label":"Knowledge Base","href":"/bytedesk/docs/solution/kbase","docId":"solution/kbase","unlisted":false},{"type":"link","label":"Help Center","href":"/bytedesk/docs/solution/helpcenter","docId":"solution/helpcenter","unlisted":false},{"type":"link","label":"Ticket System","href":"/bytedesk/docs/solution/ticket","docId":"solution/ticket","unlisted":false},{"type":"link","label":"Queue Management","href":"/bytedesk/docs/solution/queue-number","docId":"solution/queue-number","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"link","label":"Payment","href":"/bytedesk/docs/payment","docId":"payment","unlisted":false}]},"docs":{"deploy/admin":{"id":"deploy/admin","title":"Admin Dashboard Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/agent":{"id":"deploy/agent","title":"Client Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cicd/admin":{"id":"deploy/cicd/admin","title":"Admin Dashboard CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cicd/agent":{"id":"deploy/cicd/agent","title":"Agent Client CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cicd/devdoc":{"id":"deploy/cicd/devdoc","title":"Developer Documentation CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cicd/server":{"id":"deploy/cicd/server","title":"Server CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cicd/visitor":{"id":"deploy/cicd/visitor","title":"Visitor Client CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/cluster":{"id":"deploy/cluster","title":"Cluster Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/depend/ai":{"id":"deploy/depend/ai","title":"AI Models","description":"Supported Models","sidebar":"tutorialSidebar"},"deploy/depend/docker":{"id":"deploy/depend/docker","title":"Docker","description":"Installation","sidebar":"tutorialSidebar"},"deploy/depend/jdk":{"id":"deploy/depend/jdk","title":"JDK","description":"Installation","sidebar":"tutorialSidebar"},"deploy/depend/letsencrypt":{"id":"deploy/depend/letsencrypt","title":"SSL Certificate","description":"Let\'s Encrypt","sidebar":"tutorialSidebar"},"deploy/depend/mysql":{"id":"deploy/depend/mysql","title":"MySQL","description":"Installation","sidebar":"tutorialSidebar"},"deploy/depend/nginx":{"id":"deploy/depend/nginx","title":"Nginx","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/depend/ollama":{"id":"deploy/depend/ollama","title":"Ollama","description":"- ollama github","sidebar":"tutorialSidebar"},"deploy/depend/postgresql":{"id":"deploy/depend/postgresql","title":"PostgreSQL 16","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/depend/redis":{"id":"deploy/depend/redis","title":"Redis-stack-server","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/desktop":{"id":"deploy/desktop","title":"Desktop Client Deployment","description":"- Operating System: Windows/Mac/Linux","sidebar":"tutorialSidebar"},"deploy/docker":{"id":"deploy/docker","title":"Docker Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/jar":{"id":"deploy/jar","title":"JAR Package Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/source":{"id":"deploy/source","title":"Source Code Deployment","description":"- Operating System: Ubuntu 20.04 LTS","sidebar":"tutorialSidebar"},"deploy/visitor":{"id":"deploy/visitor","title":"\u8bbf\u5ba2\u7aef","description":"Nginx"},"develop/plugin/index":{"id":"develop/plugin/index","title":"Plugin Development","description":""},"develop/server/ai/hunyuan":{"id":"develop/server/ai/hunyuan","title":"Tencent Hunyuan","description":""},"develop/server/ai/minimax":{"id":"develop/server/ai/minimax","title":"MiniMax","description":""},"develop/server/ai/moonshot":{"id":"develop/server/ai/moonshot","title":"Moonshot","description":"- Official Console"},"develop/server/ai/ollama":{"id":"develop/server/ai/ollama","title":"Ollama","description":""},"develop/server/ai/qianfan":{"id":"develop/server/ai/qianfan","title":"Baidu Qianfan","description":""},"develop/server/ai/qwen":{"id":"develop/server/ai/qwen","title":"Alibaba Qwen","description":""},"develop/server/ai/zhipuai":{"id":"develop/server/ai/zhipuai","title":"ZhipuAI","description":""},"develop/server/kbase/helpdoc":{"id":"develop/server/kbase/helpdoc","title":"Helpdoc","description":"","sidebar":"tutorialSidebar"},"develop/server/service/agent":{"id":"develop/server/service/agent","title":"Agent Service API","description":"Authentication","sidebar":"tutorialSidebar"},"develop/server/team/member":{"id":"develop/server/team/member","title":"Member","description":"","sidebar":"tutorialSidebar"},"develop/server/ticket/status":{"id":"develop/server/ticket/status","title":"Status","description":"","sidebar":"tutorialSidebar"},"develop/visitor/foreign/whatsapp":{"id":"develop/visitor/foreign/whatsapp","title":"Whatsapp","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002"},"develop/visitor/platform/android":{"id":"develop/visitor/platform/android","title":"Android","description":"\u90e8\u5206\u529f\u80fd","sidebar":"tutorialSidebar"},"develop/visitor/platform/flutter":{"id":"develop/visitor/platform/flutter","title":"Flutter","description":"- pub.dev","sidebar":"tutorialSidebar"},"develop/visitor/platform/ios":{"id":"develop/visitor/platform/ios","title":"iOS Swift SDK","description":"\u90e8\u5206\u529f\u80fd","sidebar":"tutorialSidebar"},"develop/visitor/platform/react":{"id":"develop/visitor/platform/react","title":"React","description":"\u90e8\u5206\u529f\u80fd","sidebar":"tutorialSidebar"},"develop/visitor/platform/uniapp":{"id":"develop/visitor/platform/uniapp","title":"Uniapp","description":"\u90e8\u5206\u529f\u80fd","sidebar":"tutorialSidebar"},"develop/visitor/platform/web":{"id":"develop/visitor/platform/web","title":"Web/H5","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002","sidebar":"tutorialSidebar"},"develop/visitor/shop/qianniu":{"id":"develop/visitor/shop/qianniu","title":"\u5343\u725b","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002"},"develop/visitor/social/wechat":{"id":"develop/visitor/social/wechat","title":"\u5fae\u4fe1","description":"\u5fae\u8bed\u4e0d\u76f4\u63a5\u63d0\u4f9b\u4e0e\u5fae\u4fe1\u5bf9\u8bdd\u7684\u529f\u80fd\uff0c\u4ec5\u63d0\u4f9b\u901a\u7528AI\u95ee\u7b54API\uff0c\u5fae\u4fe1\u5bf9\u63a5\u9700\u8981\u501f\u52a9\u7b2c\u4e09\u65b9\u5b9e\u73b0\u3002"},"develop/visitor/social/wechatkefu":{"id":"develop/visitor/social/wechatkefu","title":"\u5fae\u4fe1\u5ba2\u670d","description":""},"develop/visitor/social/wechatmini":{"id":"develop/visitor/social/wechatmini","title":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f","description":""},"develop/visitor/social/wechatmp":{"id":"develop/visitor/social/wechatmp","title":"\u5fae\u4fe1\u516c\u4f17\u53f7","description":"\u56e0\u5fae\u4fe1\u63a5\u53e3\u9650\u5236\uff0c\u5fc5\u987b\u662f\u5df2\u7ecf\u8ba4\u8bc1\u8fc7\u7684\u516c\u4f17\u53f7\u624d\u80fd\u591f\u4f7f\u7528\u5ba2\u670d\u63a5\u53e3\u3002"},"develop/visitor/social/wechatwork":{"id":"develop/visitor/social/wechatwork","title":"\u4f01\u4e1a\u5fae\u4fe1","description":""},"intro":{"id":"intro","title":"Introduction","description":"ByteDesk is an open-source customer service system that supports:","sidebar":"tutorialSidebar"},"manual/admin/ai/robot":{"id":"manual/admin/ai/robot","title":"Robot","description":""},"manual/admin/auth/login":{"id":"manual/admin/auth/login","title":"Login","description":"Custom Server"},"manual/admin/kbase/autoreply":{"id":"manual/admin/kbase/autoreply","title":"Auto Reply","description":""},"manual/admin/kbase/faq":{"id":"manual/admin/kbase/faq","title":"FAQ","description":"","sidebar":"tutorialSidebar"},"manual/admin/kbase/helpcenter":{"id":"manual/admin/kbase/helpcenter","title":"Help Center","description":"What is Help Center?","sidebar":"tutorialSidebar"},"manual/admin/kbase/keyword":{"id":"manual/admin/kbase/keyword","title":"Keywords","description":""},"manual/admin/kbase/llm":{"id":"manual/admin/kbase/llm","title":"Large Language Model","description":""},"manual/admin/kbase/quickreply":{"id":"manual/admin/kbase/quickreply","title":"Quick Reply","description":"What is Quick Reply?"},"manual/admin/kbase/taboo":{"id":"manual/admin/kbase/taboo","title":"Sensitive Words","description":""},"manual/admin/service/agent":{"id":"manual/admin/service/agent","title":"One-on-One Customer Service","description":"","sidebar":"tutorialSidebar"},"manual/admin/service/workgroup":{"id":"manual/admin/service/workgroup","title":"Workgroup Customer Service","description":"","sidebar":"tutorialSidebar"},"manual/admin/team/member":{"id":"manual/admin/team/member","title":"Members","description":"","sidebar":"tutorialSidebar"},"manual/admin/team/role":{"id":"manual/admin/team/role","title":"Roles","description":"","sidebar":"tutorialSidebar"},"manual/admin/ticket/waiting":{"id":"manual/admin/ticket/waiting","title":"Unassigned","description":"","sidebar":"tutorialSidebar"},"manual/agent/ai/robot":{"id":"manual/agent/ai/robot","title":"Robot","description":""},"manual/agent/auth/login":{"id":"manual/agent/auth/login","title":"\u767b\u5f55","description":"\u65b9\u6cd5\u4e00\uff1a\u81ea\u5b9a\u4e49\u670d\u52a1\u5668"},"manual/agent/thread/thread":{"id":"manual/agent/thread/thread","title":"Thread","description":""},"manual/chat/ai/robot":{"id":"manual/chat/ai/robot","title":"Robot","description":""},"manual/chat/auth/login":{"id":"manual/chat/auth/login","title":"\u767b\u5f55","description":"\u81ea\u5b9a\u4e49\u670d\u52a1\u5668"},"manual/chat/thread/thread":{"id":"manual/chat/thread/thread","title":"Thread","description":""},"payment":{"id":"payment","title":"Payment","description":"Pricing Plans","sidebar":"tutorialSidebar"},"solution/edu":{"id":"solution/edu","title":"Education Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/helpcenter":{"id":"solution/helpcenter","title":"Help Center Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/hospital":{"id":"solution/hospital","title":"Healthcare Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/im":{"id":"solution/im","title":"Customer Service Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/kbase":{"id":"solution/kbase","title":"Knowledge Base Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/queue-number":{"id":"solution/queue-number","title":"Queue Management Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/shop":{"id":"solution/shop","title":"E-commerce Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/shop-foreign":{"id":"solution/shop-foreign","title":"Cross-border E-commerce Smart Service Solution","description":"Feature Comparison","sidebar":"tutorialSidebar"},"solution/teamim":{"id":"solution/teamim","title":"Team Chat Solution","description":"Features","sidebar":"tutorialSidebar"},"solution/ticket":{"id":"solution/ticket","title":"Ticket System Solution","description":"Features","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/acecf23e.cfb6d70b.js b/docs/assets/js/acecf23e.cfb6d70b.js new file mode 100644 index 0000000000..a913480c17 --- /dev/null +++ b/docs/assets/js/acecf23e.cfb6d70b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1903],{1912:s=>{s.exports=JSON.parse('{"blogBasePath":"/bytedesk/blog","blogTitle":"Blog","authorsListPath":"/bytedesk/blog/authors"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/aec06fb2.0c1b7c79.js b/docs/assets/js/aec06fb2.0c1b7c79.js new file mode 100644 index 0000000000..3b164cc986 --- /dev/null +++ b/docs/assets/js/aec06fb2.0c1b7c79.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4960],{1049:e=>{e.exports=JSON.parse('{"tag":{"label":"Developer","permalink":"/bytedesk/blog/tags/developer","description":"Developer tag description","allTagsPath":"/bytedesk/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/bytedesk/blog/tags/developer","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/b088dc07.9a030afd.js b/docs/assets/js/b088dc07.9a030afd.js new file mode 100644 index 0000000000..efd3d0ca07 --- /dev/null +++ b/docs/assets/js/b088dc07.9a030afd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1029],{7146:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"manual/admin/ticket/waiting","title":"Unassigned","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/ticket/waiting.md","sourceDirName":"manual/admin/ticket","slug":"/manual/admin/ticket/waiting","permalink":"/bytedesk/docs/manual/admin/ticket/waiting","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/ticket/waiting.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Unassigned","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"FAQ","permalink":"/bytedesk/docs/manual/admin/kbase/faq"},"next":{"title":"Agent API","permalink":"/bytedesk/docs/develop/server/service/agent"}}');var s=t(5723),a=t(6246);const r={sidebar_label:"Unassigned",sidebar_position:1},o="Unassigned",d={},c=[];function u(e){const n={h1:"h1",header:"header",...(0,a.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"unassigned",children:"Unassigned"})})}function l(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(2155);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b48830f7.2c282308.js b/docs/assets/js/b48830f7.2c282308.js new file mode 100644 index 0000000000..4b4ef65daa --- /dev/null +++ b/docs/assets/js/b48830f7.2c282308.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4549],{8231:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"deploy/cluster","title":"Cluster Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cluster.md","sourceDirName":"deploy","slug":"/deploy/cluster","permalink":"/bytedesk/docs/deploy/cluster","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cluster.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Cluster","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Desktop Client","permalink":"/bytedesk/docs/deploy/desktop"},"next":{"title":"Server","permalink":"/bytedesk/docs/deploy/cicd/server"}}');var t=r(5723),l=r(6246);const i={sidebar_label:"Cluster",sidebar_position:5},d="Cluster Deployment",o={},c=[{value:"Architecture",id:"architecture",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Load Balancer",id:"load-balancer",level:3},{value:"Application Node",id:"application-node",level:3},{value:"Database Cluster",id:"database-cluster",level:3},{value:"Redis Cluster",id:"redis-cluster",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"cluster-deployment",children:"Cluster Deployment"})}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,t.jsx)(n.li,{children:"Server Requirements: Minimum 4 cores 8GB RAM per node, Recommended 8 cores 16GB RAM per node"}),"\n"]})}),"\n",(0,t.jsx)(n.h2,{id:"architecture",children:"Architecture"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Load Balancer (Nginx)"}),"\n",(0,t.jsx)(n.li,{children:"Multiple Application Nodes"}),"\n",(0,t.jsx)(n.li,{children:"Database Cluster (MySQL/PostgreSQL)"}),"\n",(0,t.jsx)(n.li,{children:"Redis Cluster"}),"\n",(0,t.jsx)(n.li,{children:"File Storage (MinIO)"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsx)(n.h3,{id:"load-balancer",children:"Load Balancer"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-nginx",children:"upstream bytedesk {\n server 192.168.1.10:9003;\n server 192.168.1.11:9003;\n server 192.168.1.12:9003;\n}\n\nserver {\n listen 80;\n server_name api.example.com;\n\n location / {\n proxy_pass http://bytedesk;\n }\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"application-node",children:"Application Node"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"spring:\n datasource:\n url: jdbc:mysql://db.example.com:3306/bytedesk_im\n redis:\n cluster:\n nodes: redis1.example.com:6379,redis2.example.com:6379\n minio:\n url: https://minio.example.com\n"})}),"\n",(0,t.jsx)(n.h3,{id:"database-cluster",children:"Database Cluster"}),"\n",(0,t.jsxs)(n.p,{children:["Refer to ",(0,t.jsx)(n.a,{href:"/docs/deploy/depend/mysql",children:"MySQL Cluster"})," or ",(0,t.jsx)(n.a,{href:"/docs/deploy/depend/postgresql",children:"PostgreSQL Cluster"})," documentation."]}),"\n",(0,t.jsx)(n.h3,{id:"redis-cluster",children:"Redis Cluster"}),"\n",(0,t.jsxs)(n.p,{children:["Refer to ",(0,t.jsx)(n.a,{href:"/docs/deploy/depend/redis",children:"Redis Cluster"})," documentation."]})]})}function u(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},6246:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>d});var s=r(2155);const t={},l=s.createContext(t);function i(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b4cf3f2a.db9e7bf4.js b/docs/assets/js/b4cf3f2a.db9e7bf4.js new file mode 100644 index 0000000000..1486025856 --- /dev/null +++ b/docs/assets/js/b4cf3f2a.db9e7bf4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4646],{6653:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"deploy/depend/nginx","title":"Nginx","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/nginx.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/nginx","permalink":"/bytedesk/docs/deploy/depend/nginx","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/nginx.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"Nginx","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Ollama","permalink":"/bytedesk/docs/deploy/depend/ollama"},"next":{"title":"SSL Certificate","permalink":"/bytedesk/docs/deploy/depend/letsencrypt"}}');var s=i(5723),t=i(6246);const a={sidebar_label:"Nginx",sidebar_position:4},o="Nginx",l={},d=[{value:"Installation",id:"installation",level:2},{value:"Preparation",id:"preparation",level:2},{value:"Example Using IP",id:"example-using-ip",level:2},{value:"nginx.conf",id:"nginxconf",level:2},{value:"sites-available",id:"sites-available",level:2},{value:"weiyuai_cn_80.conf",id:"weiyuai_cn_80conf",level:3},{value:"weiyuai_cn_443.conf",id:"weiyuai_cn_443conf",level:3},{value:"weiyuai_cn_api_80.conf",id:"weiyuai_cn_api_80conf",level:3},{value:"weiyuai_cn_api_443.conf",id:"weiyuai_cn_api_443conf",level:3},{value:"Create Symbolic Links",id:"create-symbolic-links",level:2},{value:"Apply Configuration",id:"apply-configuration",level:2},{value:"Open Ports",id:"open-ports",level:2},{value:"Modify TCP Connections (Optional)",id:"modify-tcp-connections-optional",level:2},{value:"Common Issues",id:"common-issues",level:2},{value:"References",id:"references",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"nginx",children:"Nginx"})}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,s.jsx)(n.li,{children:"Server minimum requirements: 2 CPU cores, 4GB RAM. Recommended: 4 CPU cores, 8GB RAM."}),"\n"]})}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"sudo apt update\nsudo apt install nginx\n# Check if installation successful\nnetstat -ntlp\n# If port 80 starts normally, installation is successful\n# Stop nginx\n# service nginx stop\n# Start nginx\n# service nginx start\n# Restart nginx:\n# service nginx restart\n# systemctl restart nginx\n# Reload:\n# service nginx force-reload\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# Check if stream module is installed\nnginx -V | grep stream # Note: capital V\n# Output indicates it\'s installed\nnginx version: nginx/1.18.0 (Ubuntu)\n# ...\n# You can see parameter: --with-stream=dynamic, indicating stream module is installed\n# For error: unknown directive "stream" in /etc/nginx/nginx.conf, need to insert at first line of nginx.conf:\nload_module /usr/lib/nginx/modules/ngx_stream_module.so;\n# Create cache directory, used in nginx.conf\nmkdir -p /var/www/html/nginx/cache/webserver\n# Reload configuration\nnginx -s reload\n# Or restart nginx\nservice nginx restart\n'})}),"\n",(0,s.jsx)(n.h2,{id:"preparation",children:"Preparation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Download and extract ",(0,s.jsx)(n.a,{href:"https://www.weiyuai.cn/download/weiyu-server.zip",children:"server"})," file, the extracted structure is as follows:"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"(base) server % tree -L 1\n.\n\u251c\u2500\u2500 admin\n\u251c\u2500\u2500 agent\n\u251c\u2500\u2500 bytedesk-starter-0.4.0.jar\n\u251c\u2500\u2500 chat\n\u251c\u2500\u2500 config\n\u251c\u2500\u2500 logs\n\u251c\u2500\u2500 readme.md\n\u251c\u2500\u2500 readme.zh.md\n\u251c\u2500\u2500 start.bat\n\u251c\u2500\u2500 start.sh\n\u251c\u2500\u2500 stop.bat\n\u251c\u2500\u2500 stop.sh\n\u2514\u2500\u2500 uploader\n\n7 directories, 7 files\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Copy the admin, agent, chat folders to /var/www/html/weiyuai/"}),"\n",(0,s.jsx)(n.li,{children:"Where: admin is for management dashboard, agent is for client, chat is for visitor interface"}),"\n",(0,s.jsxs)(n.li,{children:["The three components default to accessing server at: ",(0,s.jsx)(n.a,{href:"http://127.0.0.1:9003",children:"http://127.0.0.1:9003"}),", this needs to be modified for production use, specifically:"]}),"\n",(0,s.jsx)(n.li,{children:"Find config.json files in admin/config.json, agent/config.json and chat/config.json"}),"\n",(0,s.jsx)(n.li,{children:"The config.json content is as follows:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "enabled": false,\n "apiUrl": "https://api.weiyuai.cn",\n "websocketUrl": "wss://api.weiyuai.cn/websocket",\n "htmlUrl": "https://www.weiyuai.cn"\n}\n'})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"enabled field determines whether to use custom server address, default is false. Change it to true here. Only when set to true will the apiHost and htmlHost below take effect"}),"\n",(0,s.jsx)(n.li,{children:"apiUrl field is the API address, default is: api.weiyuai.cn, please replace with your domain"}),"\n",(0,s.jsx)(n.li,{children:"websocketUrl field is the websocket address, default is: ws://api.weiyuai.cn/websocket, please replace with your domain"}),"\n",(0,s.jsxs)(n.li,{children:["htmlHost field is the static webpage address, default is: ",(0,s.jsx)(n.a,{href:"http://www.weiyuai.cn",children:"www.weiyuai.cn"}),", please replace with your domain"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"example-using-ip",children:"Example Using IP"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Replace domain with IP"}),"\n",(0,s.jsx)(n.li,{children:"Replace https with http"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "enabled": false,\n "apiUrl": "http://127.0.0.1:9003",\n "websocketUrl": "ws://127.0.0.1:9885/websocket",\n "htmlUrl": "http://127.0.0.1:9006"\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"nginxconf",children:"nginx.conf"}),"\n",(0,s.jsx)(n.p,{children:"Add the following content to the http module in nginx.conf:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"#...\nhttp {\n ##...\n \n ## REST API Load Balancing\n upstream weiyuai {\n # round_robin; # Default, round-robin distribution\n ip_hash; # Same IP accesses same server, so visitors from same IP are fixed to one backend server\n # least_conn; # Fair distribution\n # server 172.16.81.2:9003 weight=2 max_fails=10 fail_timeout=60s;\n server 127.0.0.1:9003 weight=2 max_fails=10 fail_timeout=60s;\n }\n\n # WebSocket Load Balancing\n upstream weiyuaiwss {\n # round_robin; # Default, round-robin distribution\n ip_hash; # Same IP accesses same server, so visitors from same IP are fixed to one backend server\n # least_conn; # Fair distribution\n # server 172.16.81.2:9885 weight=2 max_fails=10 fail_timeout=60s;\n server 127.0.0.1:9885 weight=2 max_fails=10 fail_timeout=60s;\n }\n\n include /etc/nginx/conf.d/*.conf;\n include /etc/nginx/sites-enabled/*;\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"sites-available",children:"sites-available"}),"\n",(0,s.jsx)(n.p,{children:"Create 4 files in the sites-available folder as follows:"}),"\n",(0,s.jsx)(n.h3,{id:"weiyuai_cn_80conf",children:"weiyuai_cn_80.conf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Need to change server_name weiyuai.cn *.weiyuai.cn; to your domain or IP address"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# weiyuai_cn_80.conf content\nserver {\n listen 80;\n listen [::]:80;\n\n root /var/www/html/weiyuai/;\n index index.html index.htm index.nginx-debian.html index.php;\n\n server_name weiyuai.cn *.weiyuai.cn;\n\n location / {\n # Match all paths, try to serve file first, then directory, finally fallback to index.html\n try_files $uri $uri/ /index.html; # This should point to root directory's index.html, not specific path's index.html\n }\n\n # If you need to provide specific index.html for each sub-path, you can add extra location blocks\n location /admin/ {\n try_files $uri $uri/ /admin/index.html;\n }\n\n location /agent/ {\n try_files $uri $uri/ /agent/index.html;\n }\n\n location /chat/ {\n try_files $uri $uri/ /chat/index.html;\n }\n\n location /frame/ {\n try_files $uri $uri/ /chat/index.html;\n }\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"weiyuai_cn_443conf",children:"weiyuai_cn_443.conf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Optional, only needed when SSL is enabled"}),"\n",(0,s.jsx)(n.li,{children:"Need to change server_name weiyuai.cn *.weiyuai.cn; to your domain or IP address"}),"\n",(0,s.jsx)(n.li,{children:"Port 443 configuration requires SSL certificate, here using Let's Encrypt free SSL certificate"}),"\n",(0,s.jsx)(n.li,{children:"Need to modify SSL certificate paths"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# weiyuai_cn_443.conf content\nserver {\n listen 443 ssl;\n listen [::]:443 ssl;\n\n ssl_certificate /etc/letsencrypt/live/weiyuai.cn/fullchain.pem; # managed by Certbot\n ssl_certificate_key /etc/letsencrypt/live/weiyuai.cn/privkey.pem; # managed by Certbot\n\n server_name weiyuai.cn *.weiyuai.cn;\n\n root /var/www/html/weiyuai;\n index index.html index.htm index.nginx-debian.html index.php;\n\n location / {\n # Match all paths, try to serve file first, then directory, finally fallback to index.html\n try_files $uri $uri/ /index.html; # This should point to root directory's index.html, not specific path's index.html\n }\n\n # If you need to provide specific index.html for each sub-path, you can add extra location blocks\n location /admin/ {\n try_files $uri $uri/ /admin/index.html;\n }\n\n location /agent/ {\n try_files $uri $uri/ /agent/index.html;\n }\n\n location /chat/ {\n try_files $uri $uri/ /chat/index.html;\n }\n\n location /frame/ {\n try_files $uri $uri/ /chat/index.html;\n }\n\n location /docs/ {\n try_files $uri $uri/ /docs/index.html;\n }\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"weiyuai_cn_api_80conf",children:"weiyuai_cn_api_80.conf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Need to change server_name api.weiyuai.cn; to your domain or IP address"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# weiyuai_cn_api_80.conf content\nserver {\n listen 80;\n listen [::]:80;\n\n root /var/www/html/weiyuai/;\n index index.html index.htm index.nginx-debian.html;\n\n server_name api.weiyuai.cn;\n\n ## Reverse Proxy\n # Proxy stomp connection\n location /stomp {\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "upgrade";\n proxy_pass http://weiyuai/stomp;\n\n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n }\n\n ## Reverse Proxy\n # Proxy websocket connection\n location /websocket {\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "upgrade";\n proxy_pass http://weiyuaiwss/websocket;\n\n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n }\n\n # Add two headers\n add_header X-Via $server_addr;\n add_header X-Cache $upstream_cache_status;\n\n ## Reverse Proxy\n location @springboot {\n # Forward all nginx requests to port 9003\n proxy_pass http://weiyuai;\n \n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n # X-Real-IP makes logs show real client IP\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n\n # Set cache\n # Set 10-minute cache for response codes 200 and 302, 10-minute cache for 404 code\n #proxy_cache webserver;\n # proxy_cache_valid 200 302 10m;\n proxy_cache_valid 404 10m;\n }\n\n location / {\n # First attempt to serve request as file, then\n # as directory, then fall back to displaying a 404.\n # try_files $uri $uri/ =404;\n try_files $uri $uri/ @springboot;\n }\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"weiyuai_cn_api_443conf",children:"weiyuai_cn_api_443.conf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Optional, only needed when SSL is enabled"}),"\n",(0,s.jsx)(n.li,{children:"Need to change server_name api.weiyuai.cn; to your domain or IP address"}),"\n",(0,s.jsx)(n.li,{children:"Port 443 configuration requires SSL certificate, here using Let's Encrypt free SSL certificate"}),"\n",(0,s.jsx)(n.li,{children:"Need to modify SSL certificate paths"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# weiyuai_cn_api_443.conf content\nserver {\n listen 443 ssl;\n listen [::]:443 ssl;\n\n ssl_certificate /etc/letsencrypt/live/weiyuai.cn/fullchain.pem; # managed by Certbot\n ssl_certificate_key /etc/letsencrypt/live/weiyuai.cn/privkey.pem; # managed by Certbot\n\n server_name api.weiyuai.cn;\n\n root /var/www/html/weiyuai;\n index index.html index.htm index.nginx-debian.html;\n\n ## Reverse Proxy\n # Proxy stomp connection\n location /stomp {\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "upgrade";\n proxy_pass http://weiyuai/stomp;\n\n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n }\n\n ## Reverse Proxy\n # Proxy websocket connection\n location /websocket {\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "upgrade";\n proxy_pass http://weiyuaiwss/websocket;\n\n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n }\n\n # Add two headers\n add_header X-Via $server_addr;\n add_header X-Cache $upstream_cache_status;\n\n ## Reverse Proxy\n location @springboot {\n # Forward all nginx requests to port 9003\n proxy_pass http://weiyuai;\n\n # add_header Access-Control-Allow-Origin *; # Error, cannot add, need to remove corresponding origin in spring boot\n # To record real IP address instead of reverse proxy server address\n proxy_set_header Host $host;\n # X-Real-IP makes logs show real client IP\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n include fastcgi_params;\n\n # Set cache\n # Set 10-minute cache for response codes 200 and 302, 10-minute cache for 404 code\n #proxy_cache webserver;\n #proxy_cache_valid 200 302 10m;\n proxy_cache_valid 404 10m;\n }\n\n location / {\n # First attempt to serve request as file, then\n # as directory, then fall back to displaying a 404.\n # try_files $uri $uri/ =404;\n try_files $uri $uri/ @springboot;\n }\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"create-symbolic-links",children:"Create Symbolic Links"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Create symbolic links\nsudo ln -s /etc/nginx/sites-available/weiyuai_cn_80.conf /etc/nginx/sites-enabled/\nsudo ln -s /etc/nginx/sites-available/weiyuai_cn_443.conf /etc/nginx/sites-enabled/\nsudo ln -s /etc/nginx/sites-available/weiyuai_cn_api_80.conf /etc/nginx/sites-enabled/\nsudo ln -s /etc/nginx/sites-available/weiyuai_cn_api_443.conf /etc/nginx/sites-enabled/\n"})}),"\n",(0,s.jsx)(n.h2,{id:"apply-configuration",children:"Apply Configuration"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Reload nginx configuration\nsudo nginx -s reload\n# Or\nsudo systemctl reload nginx\n"})}),"\n",(0,s.jsx)(n.h2,{id:"open-ports",children:"Open Ports"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Ports to open externally\nhttp: 80\nhttps: 443\n# Optional, may not need to be opened externally\nmysql: 3306\nredis: 6379\nrest api: 9003\nwebsocket: 9885\n"})}),"\n",(0,s.jsx)(n.h2,{id:"modify-tcp-connections-optional",children:"Modify TCP Connections (Optional)"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Check maximum file limit for Linux system user\nulimit -n\n# 65535\n# Modify file limit\nvi /etc/security/limits.conf\nroot soft nofile 655350\nroot hard nofile 655350\nnginx soft nofile 6553500\nnginx hard nofile 6553500\n* soft nofile 655350\n* hard nofile 655350\n# root specifies which user's file limit to modify.\n# '*' can be used to modify limit for all users;\n# soft or hard specifies whether to modify soft or hard limit;\n# 102400 specifies the new limit value, i.e. maximum open files\n# (note: soft limit value must be less than or equal to hard limit)\n# Note: After modifying /etc/security/limits.conf, close Terminal and re-login or restart server to take effect\n# Check open files number\nulimit -a\n"})}),"\n",(0,s.jsx)(n.h2,{id:"common-issues",children:"Common Issues"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# View nginx log\ncd /var/log/nginx\n"})}),"\n",(0,s.jsx)(n.h2,{id:"references",children:"References"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://letsencrypt.org/",children:"letsencrypt"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.jianshu.com/p/c5c9d071e395",children:"LetsEncrypt Wildcard Certificate"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.cnblogs.com/xiao987334176/p/11008812.html",children:"Ubuntu /etc/security/limits.conf Not Taking Effect"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var r=i(2155);const s={},t=r.createContext(s);function a(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b7458bff.722069fe.js b/docs/assets/js/b7458bff.722069fe.js new file mode 100644 index 0000000000..9393125524 --- /dev/null +++ b/docs/assets/js/b7458bff.722069fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3633],{4136:e=>{e.exports=JSON.parse('{"authors":[{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endi","page":null,"count":0},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null,"count":3},{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null,"count":3},{"name":"Jack Ning","title":"Maintainer of Bytedesk","url":"https://github.com/pengjinning","imageURL":"https://www.kefux.com/assets/img/qrcode/qiye.png","key":"jackning","page":null,"count":1}]}')}}]); \ No newline at end of file diff --git a/docs/assets/js/b81b0106.38968714.js b/docs/assets/js/b81b0106.38968714.js new file mode 100644 index 0000000000..54b64832b7 --- /dev/null +++ b/docs/assets/js/b81b0106.38968714.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1095],{6623:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"manual/admin/service/workgroup","title":"Workgroup Customer Service","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/service/workgroup.md","sourceDirName":"manual/admin/service","slug":"/manual/admin/service/workgroup","permalink":"/bytedesk/docs/manual/admin/service/workgroup","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/service/workgroup.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Workgroup","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"One-on-One","permalink":"/bytedesk/docs/manual/admin/service/agent"},"next":{"title":"Help Center","permalink":"/bytedesk/docs/manual/admin/kbase/helpcenter"}}');var o=n(5723),s=n(6246);const i={sidebar_label:"Workgroup",sidebar_position:2},a="Workgroup Customer Service",c={},u=[];function d(e){const r={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,o.jsx)(r.header,{children:(0,o.jsx)(r.h1,{id:"workgroup-customer-service",children:"Workgroup Customer Service"})})}function l(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},6246:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>a});var t=n(2155);const o={},s=t.createContext(o);function i(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/ba63ea60.1b2305d9.js b/docs/assets/js/ba63ea60.1b2305d9.js new file mode 100644 index 0000000000..71db1dce97 --- /dev/null +++ b/docs/assets/js/ba63ea60.1b2305d9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5073],{6022:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"deploy/cicd/admin","title":"Admin Dashboard CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/admin.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/admin","permalink":"/bytedesk/docs/deploy/cicd/admin","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/admin.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Admin Dashboard","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Server","permalink":"/bytedesk/docs/deploy/cicd/server"},"next":{"title":"Agent Client","permalink":"/bytedesk/docs/deploy/cicd/agent"}}');var t=i(5723),a=i(6246);const d={sidebar_label:"Admin Dashboard",sidebar_position:2},r="Admin Dashboard CI/CD",l={},o=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function c(n){const e={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,a.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.header,{children:(0,t.jsx)(e.h1,{id:"admin-dashboard-cicd",children:"Admin Dashboard CI/CD"})}),"\n",(0,t.jsx)(e.admonition,{type:"tip",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,t.jsx)(e.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,t.jsx)(e.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-yaml",children:'name: Build and Deploy Admin\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: \'16.x\'\n \n - name: Install Dependencies\n run: yarn install\n \n - name: Build\n run: yarn build\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: "dist/*"\n target: "/var/www/html/weiyuai/admin/"\n'})}),"\n",(0,t.jsx)(e.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: node:16\n script:\n - yarn install\n - yarn build\n artifacts:\n paths:\n - dist/\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/admin/\n only:\n - main\n"})}),"\n",(0,t.jsx)(e.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n stages {\n stage('Build') {\n steps {\n sh 'yarn install'\n sh 'yarn build'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete dist/ user@server:/var/www/html/weiyuai/admin/'\n }\n }\n }\n}\n"})})]})}function u(n={}){const{wrapper:e}={...(0,a.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(c,{...n})}):c(n)}},6246:(n,e,i)=>{i.d(e,{R:()=>d,x:()=>r});var s=i(2155);const t={},a=s.createContext(t);function d(n){const e=s.useContext(a);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:d(n.components),s.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/bd1f041b.ac157b38.js b/docs/assets/js/bd1f041b.ac157b38.js new file mode 100644 index 0000000000..e284bc4115 --- /dev/null +++ b/docs/assets/js/bd1f041b.ac157b38.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3325],{6137:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>o,contentTitle:()=>d,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"deploy/depend/redis","title":"Redis-stack-server","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/redis.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/redis","permalink":"/bytedesk/docs/deploy/depend/redis","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/redis.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Redis","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"PostgreSQL","permalink":"/bytedesk/docs/deploy/depend/postgresql"},"next":{"title":"Ollama","permalink":"/bytedesk/docs/deploy/depend/ollama"}}');var n=r(5723),t=r(6246);const a={sidebar_label:"Redis",sidebar_position:2},d="Redis-stack-server",o={},c=[{value:"Refer to Redis official installation guide",id:"refer-to-redis-official-installation-guide",level:3},{value:"Docker Installation",id:"docker-installation",level:3},{value:"Ubuntu Installation of Non-Docker redis-stack-server",id:"ubuntu-installation-of-non-docker-redis-stack-server",level:3},{value:"Mac Installation of Non-Docker redis-stack",id:"mac-installation-of-non-docker-redis-stack",level:3}];function l(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"redis-stack-server",children:"Redis-stack-server"})}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,n.jsx)(s.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsx)(s.p,{children:"Due to AI knowledge base Q&A using vector search, redis-stack-server needs to be installed instead of regular redis, otherwise AI knowledge base Q&A cannot function properly"})}),"\n",(0,n.jsxs)(s.h3,{id:"refer-to-redis-official-installation-guide",children:["Refer to ",(0,n.jsx)(s.a,{href:"https://redis.io/docs/install/install-stack/docker/",children:"Redis official installation guide"})]}),"\n",(0,n.jsx)(s.h3,{id:"docker-installation",children:"Docker Installation"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:'# First start docker locally, if not installed, redis/redis-stack-server will be installed automatically\n# Production environment: Install redis/redis-stack-server\n# Password parameter: -e REDIS_ARGS="--requirepass password"\ndocker run -d --name redis-stack-server -p 6379:6379 -e REDIS_ARGS="--requirepass password" redis/redis-stack-server:latest\n# Use redis-cli\ndocker exec -it redis-stack-server redis-cli\n# Local testing: Install redis/redis-stack\n# redisinsight: http://localhost:8001\n# docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 -e REDIS_ARGS="--requirepass password" redis/redis-stack:latest\n#\n# Store content in /local-data/ folder\n# docker run -v /local-data/:/data redis/redis-stack:latest\n# Use local-redis-stack.conf instead of default redis-stack.conf\n# docker run -v `pwd`/local-redis-stack.conf:/redis-stack.conf -p 6379:6379 -p 8001:8001 redis/redis-stack-server:latest\n# Use redis-cli\n# docker exec -it redis-stack redis-cli\n#\n# 1. Enter redis container: docker exec -it redis-stack bash\n# 2. Run command: redis-cli\n# 3. View existing redis password: config get requirepass\n# Random password https://suijimimashengcheng.bmcx.com/\n# 4. Set redis password: config set requirepass password\n# docker container stop redis-stack # Stop Redis service\n# docker container start redis-stack # Start Redis service\n# docker container restart redis-stack # Restart Redis service\n#\n'})}),"\n",(0,n.jsx)(s.h3,{id:"ubuntu-installation-of-non-docker-redis-stack-server",children:"Ubuntu Installation of Non-Docker redis-stack-server"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:'# https://redis.io/docs/install/install-stack/linux/\ncurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg\nsudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg\necho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list\nsudo apt-get update\nsudo apt-get install redis-stack-server\n'})}),"\n",(0,n.jsx)(s.h3,{id:"mac-installation-of-non-docker-redis-stack",children:"Mac Installation of Non-Docker redis-stack"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"# https://redis.io/docs/install/install-stack/mac-os/\narch -arm64 brew tap redis-stack/redis-stack\narch -arm64 brew install redis-stack\n# echo $PATH, output: /opt/homebrew/bin\n# Modify ~/.zshrc\n# export PATH=/opt/homebrew/Caskroom/redis-stack-server//bin:$PATH\n# Find installation directory, modify conf file, password\n# Start\nredis-stack-server\nredisinsight\n# Uninstall\nbrew uninstall redis-stack-redisinsight redis-stack-server redis-stack\nbrew untap redis-stack/redis-stack\n"})})]})}function p(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},6246:(e,s,r)=>{r.d(s,{R:()=>a,x:()=>d});var i=r(2155);const n={},t=i.createContext(n);function a(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/bfa4484b.41ca43fd.js b/docs/assets/js/bfa4484b.41ca43fd.js new file mode 100644 index 0000000000..2a42a0ddfb --- /dev/null +++ b/docs/assets/js/bfa4484b.41ca43fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7286],{3699:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"manual/admin/kbase/quickreply","title":"Quick Reply","description":"What is Quick Reply?","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/quickreply.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/quickreply","permalink":"/bytedesk/docs/manual/admin/kbase/quickreply","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/quickreply.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_label":"Quick Reply","sidebar_position":6}}');var s=t(5723),a=t(6246);const r={sidebar_label:"Quick Reply",sidebar_position:6},c="Quick Reply",u={},l=[{value:"What is Quick Reply?",id:"what-is-quick-reply",level:2},{value:"Features",id:"features",level:2},{value:"Preview",id:"preview",level:2}];function o(e){const n={h1:"h1",h2:"h2",header:"header",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"quick-reply",children:"Quick Reply"})}),"\n",(0,s.jsx)(n.h2,{id:"what-is-quick-reply",children:"What is Quick Reply?"}),"\n",(0,s.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(n.h2,{id:"preview",children:"Preview"})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(2155);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c0fbf920.8249dd56.js b/docs/assets/js/c0fbf920.8249dd56.js new file mode 100644 index 0000000000..c262d6b20d --- /dev/null +++ b/docs/assets/js/c0fbf920.8249dd56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3795],{1246:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"manual/admin/team/role","title":"Roles","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/team/role.md","sourceDirName":"manual/admin/team","slug":"/manual/admin/team/role","permalink":"/bytedesk/docs/manual/admin/team/role","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/team/role.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Roles","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Members","permalink":"/bytedesk/docs/manual/admin/team/member"},"next":{"title":"One-on-One","permalink":"/bytedesk/docs/manual/admin/service/agent"}}');var s=n(5723),o=n(6246);const r={sidebar_label:"Roles",sidebar_position:2},i="Roles",d={},l=[];function c(e){const t={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"roles",children:"Roles"})})}function m(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var a=n(2155);const s={},o=a.createContext(s);function r(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c8e28a8f.ab50eeee.js b/docs/assets/js/c8e28a8f.ab50eeee.js new file mode 100644 index 0000000000..7b1293a47a --- /dev/null +++ b/docs/assets/js/c8e28a8f.ab50eeee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2796],{3613:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>r});const t=JSON.parse('{"id":"deploy/desktop","title":"Desktop Client Deployment","description":"- Operating System: Windows/Mac/Linux","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/desktop.md","sourceDirName":"deploy","slug":"/deploy/desktop","permalink":"/bytedesk/docs/deploy/desktop","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/desktop.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"Desktop Client","sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Client","permalink":"/bytedesk/docs/deploy/agent"},"next":{"title":"Cluster","permalink":"/bytedesk/docs/deploy/cluster"}}');var s=i(5723),o=i(6246);const l={sidebar_label:"Desktop Client",sidebar_position:4},d="Desktop Client Deployment",a={},r=[{value:"Download",id:"download",level:2},{value:"Installation",id:"installation",level:2},{value:"Windows",id:"windows",level:3},{value:"Mac",id:"mac",level:3},{value:"Linux",id:"linux",level:3},{value:"Configuration",id:"configuration",level:2}];function c(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"desktop-client-deployment",children:"Desktop Client Deployment"})}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Operating System: Windows/Mac/Linux"}),"\n",(0,s.jsx)(n.li,{children:"System Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,s.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Download desktop client\nhttps://www.weiyuai.cn/download\n"})}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsx)(n.h3,{id:"windows",children:"Windows"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Double click to install\nweiyu-windows-x64.exe\n"})}),"\n",(0,s.jsx)(n.h3,{id:"mac",children:"Mac"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Double click to install\nweiyu-mac-x64.dmg\n"})}),"\n",(0,s.jsx)(n.h3,{id:"linux",children:"Linux"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Extract and run\nweiyu-linux-x64.AppImage\n"})}),"\n",(0,s.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# First time login\n# Enter server address\nhttps://api.example.com\n# Enter username and password\nusername: admin@email.com\npassword: admin\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>d});var t=i(2155);const s={},o=t.createContext(s);function l(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cc87462c.18d91079.js b/docs/assets/js/cc87462c.18d91079.js new file mode 100644 index 0000000000..bc4d9234e1 --- /dev/null +++ b/docs/assets/js/cc87462c.18d91079.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6881],{1363:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>i});const a=JSON.parse('{"id":"manual/agent/thread/thread","title":"Thread","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/thread/thread.md","sourceDirName":"manual/agent/thread","slug":"/manual/agent/thread/","permalink":"/bytedesk/docs/manual/agent/thread/","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/agent/thread/thread.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Thread","sidebar_position":1}}');var r=n(5723),s=n(6246);const o={sidebar_label:"Thread",sidebar_position:1},d="Thread",c={},i=[];function u(e){const t={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"thread",children:"Thread"})})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var a=n(2155);const r={},s=a.createContext(r);function o(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d1368cbc.47010439.js b/docs/assets/js/d1368cbc.47010439.js new file mode 100644 index 0000000000..4d212dc8a0 --- /dev/null +++ b/docs/assets/js/d1368cbc.47010439.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6799],{3475:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>d,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"deploy/cicd/devdoc","title":"Developer Documentation CI/CD","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/devdoc.md","sourceDirName":"deploy/cicd","slug":"/deploy/cicd/devdoc","permalink":"/bytedesk/docs/deploy/cicd/devdoc","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/cicd/devdoc.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Developer Docs","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Visitor Client","permalink":"/bytedesk/docs/deploy/cicd/visitor"},"next":{"title":"MySQL","permalink":"/bytedesk/docs/deploy/depend/mysql"}}');var t=s(5723),o=s(6246);const d={sidebar_label:"Developer Docs",sidebar_position:5},l="Developer Documentation CI/CD",r={},c=[{value:"GitHub Actions",id:"github-actions",level:2},{value:"GitLab CI",id:"gitlab-ci",level:2},{value:"Jenkins Pipeline",id:"jenkins-pipeline",level:2}];function a(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"developer-documentation-cicd",children:"Developer Documentation CI/CD"})}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,t.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,t.jsx)(n.h2,{id:"github-actions",children:"GitHub Actions"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:'name: Build and Deploy Docs\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n \n steps:\n - uses: actions/checkout@v2\n \n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: \'16.x\'\n \n - name: Install Dependencies\n run: yarn install\n \n - name: Build\n run: yarn build\n \n - name: Deploy\n uses: appleboy/scp-action@master\n with:\n host: ${{ secrets.HOST }}\n username: ${{ secrets.USERNAME }}\n key: ${{ secrets.SSH_KEY }}\n source: "build/*"\n target: "/var/www/html/weiyuai/docs/"\n'})}),"\n",(0,t.jsx)(n.h2,{id:"gitlab-ci",children:"GitLab CI"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"stages:\n - build\n - deploy\n\nbuild:\n stage: build\n image: node:16\n script:\n - yarn install\n - yarn build\n artifacts:\n paths:\n - build/\n\ndeploy:\n stage: deploy\n script:\n - rsync -avz --delete build/ user@server:/var/www/html/weiyuai/docs/\n only:\n - main\n"})}),"\n",(0,t.jsx)(n.h2,{id:"jenkins-pipeline",children:"Jenkins Pipeline"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-groovy",children:"pipeline {\n agent any\n \n stages {\n stage('Build') {\n steps {\n sh 'yarn install'\n sh 'yarn build'\n }\n }\n \n stage('Deploy') {\n steps {\n sh 'rsync -avz --delete build/ user@server:/var/www/html/weiyuai/docs/'\n }\n }\n }\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},6246:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>l});var i=s(2155);const t={},o=i.createContext(t);function d(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d9f32620.e7d2484e.js b/docs/assets/js/d9f32620.e7d2484e.js new file mode 100644 index 0000000000..35cb2981e5 --- /dev/null +++ b/docs/assets/js/d9f32620.e7d2484e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5557],{8065:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});var t=o(8811),n=o(5723),l=o(6246);const r={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},a=void 0,i={authorsImageUrls:[void 0,void 0]},c=[];function u(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"Here are a few tips you might find useful."}),"\n",(0,n.jsxs)(s.p,{children:["Simply add Markdown files (or folders) to the ",(0,n.jsx)(s.code,{children:"blog"})," directory."]}),"\n",(0,n.jsxs)(s.p,{children:["Regular blog authors can be added to ",(0,n.jsx)(s.code,{children:"authors.yml"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Docusaurus Plushie",src:o(8043).A+"",width:"1500",height:"500"})}),"\n",(0,n.jsx)(s.p,{children:"The blog supports tags as well!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,n.jsx)(s.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8043:(e,s,o)=>{o.d(s,{A:()=>t});const t=o.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},6246:(e,s,o)=>{o.d(s,{R:()=>r,x:()=>a});var t=o(2155);const n={},l=t.createContext(n);function r(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(l.Provider,{value:s},e.children)}},8811:e=>{e.exports=JSON.parse('{"permalink":"/bytedesk/blog/welcome","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/bytedesk/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/bytedesk/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"QR Code Login Implementation Process","permalink":"/bytedesk/blog/scan-to-login"},"nextItem":{"title":"MDX Blog Post","permalink":"/bytedesk/blog/mdx-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/da8e626b.fd33d292.js b/docs/assets/js/da8e626b.fd33d292.js new file mode 100644 index 0000000000..e4602fcb1f --- /dev/null +++ b/docs/assets/js/da8e626b.fd33d292.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4551],{5349:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>n,toc:()=>r});const n=JSON.parse('{"id":"develop/visitor/social/wechatmp","title":"\u5fae\u4fe1\u516c\u4f17\u53f7","description":"\u56e0\u5fae\u4fe1\u63a5\u53e3\u9650\u5236\uff0c\u5fc5\u987b\u662f\u5df2\u7ecf\u8ba4\u8bc1\u8fc7\u7684\u516c\u4f17\u53f7\u624d\u80fd\u591f\u4f7f\u7528\u5ba2\u670d\u63a5\u53e3\u3002","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatmp.md","sourceDirName":"develop/visitor/social","slug":"/develop/visitor/social/wechatmp","permalink":"/bytedesk/docs/develop/visitor/social/wechatmp","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/social/wechatmp.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"\u5fae\u4fe1\u516c\u4f17\u53f7","sidebar_position":2}}');var i=t(5723),d=t(6246);const c={sidebar_label:"\u5fae\u4fe1\u516c\u4f17\u53f7",sidebar_position:2},a="\u5fae\u4fe1\u516c\u4f17\u53f7",o={},r=[{value:"\u516c\u4f17\u53f7\u7ba1\u7406\u540e\u53f0-\u300b\u5f00\u53d1\u63a5\u53e3\u7ba1\u7406-\u300b\u57fa\u672c\u914d\u7f6e",id:"\u516c\u4f17\u53f7\u7ba1\u7406\u540e\u53f0-\u5f00\u53d1\u63a5\u53e3\u7ba1\u7406-\u57fa\u672c\u914d\u7f6e",level:2},{value:"\u70b9\u51fb \u4fee\u6539\u914d\u7f6e\u201c \u6309\u94ae",id:"\u70b9\u51fb-\u4fee\u6539\u914d\u7f6e-\u6309\u94ae",level:2},{value:"\u5230\u5fae\u8bed\u540e\u53f0\u83b7\u53d6\u914d\u7f6e\u4fe1\u606f\uff0c\u586b\u5199\u5b8c\u6bd5\u4e4b\u540e\u70b9\u51fb\u63d0\u4ea4",id:"\u5230\u5fae\u8bed\u540e\u53f0\u83b7\u53d6\u914d\u7f6e\u4fe1\u606f\u586b\u5199\u5b8c\u6bd5\u4e4b\u540e\u70b9\u51fb\u63d0\u4ea4",level:2},{value:"\u70b9\u51fb\u63d0\u4ea4\uff0c\u914d\u7f6e\u5b8c\u6210",id:"\u70b9\u51fb\u63d0\u4ea4\u914d\u7f6e\u5b8c\u6210",level:2},{value:"\u8bbe\u7f6eIP\u767d\u540d\u5355",id:"\u8bbe\u7f6eip\u767d\u540d\u5355",level:2}];function l(e){const s={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"\u5fae\u4fe1\u516c\u4f17\u53f7",children:"\u5fae\u4fe1\u516c\u4f17\u53f7"})}),"\n",(0,i.jsx)(s.admonition,{type:"tip",children:(0,i.jsx)(s.p,{children:"\u56e0\u5fae\u4fe1\u63a5\u53e3\u9650\u5236\uff0c\u5fc5\u987b\u662f\u5df2\u7ecf\u8ba4\u8bc1\u8fc7\u7684\u516c\u4f17\u53f7\u624d\u80fd\u591f\u4f7f\u7528\u5ba2\u670d\u63a5\u53e3\u3002"})}),"\n",(0,i.jsx)(s.h2,{id:"\u516c\u4f17\u53f7\u7ba1\u7406\u540e\u53f0-\u5f00\u53d1\u63a5\u53e3\u7ba1\u7406-\u57fa\u672c\u914d\u7f6e",children:"\u516c\u4f17\u53f7\u7ba1\u7406\u540e\u53f0-\u300b\u5f00\u53d1\u63a5\u53e3\u7ba1\u7406-\u300b\u57fa\u672c\u914d\u7f6e"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"wechat_mp_dev_0",src:t(3900).A+"",width:"1054",height:"1112"})}),"\n",(0,i.jsx)(s.h2,{id:"\u70b9\u51fb-\u4fee\u6539\u914d\u7f6e-\u6309\u94ae",children:"\u70b9\u51fb \u4fee\u6539\u914d\u7f6e\u201c \u6309\u94ae"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"wechat_mp_dev_1",src:t(6165).A+"",width:"2060",height:"810"})}),"\n",(0,i.jsx)(s.h2,{id:"\u5230\u5fae\u8bed\u540e\u53f0\u83b7\u53d6\u914d\u7f6e\u4fe1\u606f\u586b\u5199\u5b8c\u6bd5\u4e4b\u540e\u70b9\u51fb\u63d0\u4ea4",children:"\u5230\u5fae\u8bed\u540e\u53f0\u83b7\u53d6\u914d\u7f6e\u4fe1\u606f\uff0c\u586b\u5199\u5b8c\u6bd5\u4e4b\u540e\u70b9\u51fb\u63d0\u4ea4"}),"\n",(0,i.jsx)(s.p,{children:"\u5176\u4e2d\uff1a\u540d\u79f0\u6dfb\u52a0\u81ea\u5df1\u516c\u4f17\u53f7\u7684\u540d\u79f0\uff0cappId \u548c appSecret \u5206\u522b\u586b\u5199\u81ea\u5df1\u516c\u4f17\u53f7\u7684 appId \u548c appSecret"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.img,{alt:"wechat_mp_dev_3",src:t(2903).A+"",width:"2698",height:"1612"}),"\n",(0,i.jsx)(s.img,{alt:"wechat_mp_dev_6",src:t(2394).A+"",width:"2430",height:"998"})]}),"\n",(0,i.jsx)(s.p,{children:'\u5c06\u4e0a\u56fe\u6807\u8bb0\u7684 "URL" \u548c \u201dToken\u201c\uff0c\u8fd8\u6709\u968f\u673a\u751f\u6210\u7684 EncodingAesKey \u5206\u522b\u586b\u5199\u5230\u5fae\u4fe1\u516c\u4f17\u53f7\u7ba1\u7406\u540e\u53f0\u7684 \u201cURL\u201d \u3001 \u201dToken\u201c \u548c EncodingAesKey \u914d\u7f6e\u4e2d'}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"wechat_mp_dev_2",src:t(414).A+"",width:"1746",height:"1424"})}),"\n",(0,i.jsx)(s.h2,{id:"\u70b9\u51fb\u63d0\u4ea4\u914d\u7f6e\u5b8c\u6210",children:"\u70b9\u51fb\u63d0\u4ea4\uff0c\u914d\u7f6e\u5b8c\u6210"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"wechat_mp_dev_4",src:t(3288).A+"",width:"1894",height:"1600"})}),"\n",(0,i.jsx)(s.h2,{id:"\u8bbe\u7f6eip\u767d\u540d\u5355",children:"\u8bbe\u7f6eIP\u767d\u540d\u5355"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-bash",children:"# IP\u767d\u540d\u5355\n124.222.102.45\n"})}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.img,{alt:"wechat_mp_dev_5",src:t(7153).A+"",width:"1484",height:"506"})}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3900:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_0-185a850bd10e2d6d85f1a82ef50cef43.png"},6165:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_1-e9587cfda098eba31609d3c40065c5a4.png"},414:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_2-da406957fca717e8e3739cec3684de78.png"},2903:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_3-a0af2563b9f64508a45d1263eddbf3f1.png"},3288:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_4-e845cd93dd1091a34fabc22ea4dd9d4b.png"},7153:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_5-86e34b3b23f659dd949015fd399ef841.png"},2394:(e,s,t)=>{t.d(s,{A:()=>n});const n=t.p+"assets/images/wechat_mp_dev_6-063309303ebcfba3ca209e9b4fd30e2c.png"},6246:(e,s,t)=>{t.d(s,{R:()=>c,x:()=>a});var n=t(2155);const i={},d=n.createContext(i);function c(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/dd7c7038.ac53ef1f.js b/docs/assets/js/dd7c7038.ac53ef1f.js new file mode 100644 index 0000000000..d86c1de685 --- /dev/null +++ b/docs/assets/js/dd7c7038.ac53ef1f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1249],{6003:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"develop/visitor/social/wechatkefu","title":"\u5fae\u4fe1\u5ba2\u670d","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatkefu.md","sourceDirName":"develop/visitor/social","slug":"/develop/visitor/social/wechatkefu","permalink":"/bytedesk/docs/develop/visitor/social/wechatkefu","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/social/wechatkefu.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"\u5fae\u4fe1\u5ba2\u670d","sidebar_position":5}}');var n=o(5723),i=o(6246);const r={sidebar_label:"\u5fae\u4fe1\u5ba2\u670d",sidebar_position:5},c="\u5fae\u4fe1\u5ba2\u670d",a={},d=[];function l(e){const t={h1:"h1",header:"header",...(0,i.R)(),...e.components};return(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u5fae\u4fe1\u5ba2\u670d",children:"\u5fae\u4fe1\u5ba2\u670d"})})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>c});var s=o(2155);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/debc1240.055afa12.js b/docs/assets/js/debc1240.055afa12.js new file mode 100644 index 0000000000..286dec77e8 --- /dev/null +++ b/docs/assets/js/debc1240.055afa12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8270],{2111:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"develop/visitor/social/wechatwork","title":"\u4f01\u4e1a\u5fae\u4fe1","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatwork.md","sourceDirName":"develop/visitor/social","slug":"/develop/visitor/social/wechatwork","permalink":"/bytedesk/docs/develop/visitor/social/wechatwork","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/social/wechatwork.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_label":"\u4f01\u4e1a\u5fae\u4fe1","sidebar_position":4}}');var n=o(5723),r=o(6246);const i={sidebar_label:"\u4f01\u4e1a\u5fae\u4fe1",sidebar_position:4},c="\u4f01\u4e1a\u5fae\u4fe1",a={},d=[];function l(e){const t={h1:"h1",header:"header",...(0,r.R)(),...e.components};return(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"\u4f01\u4e1a\u5fae\u4fe1",children:"\u4f01\u4e1a\u5fae\u4fe1"})})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},6246:(e,t,o)=>{o.d(t,{R:()=>i,x:()=>c});var s=o(2155);const n={},r=s.createContext(n);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e0d84b05.c704c80e.js b/docs/assets/js/e0d84b05.c704c80e.js new file mode 100644 index 0000000000..a9b514d2e8 --- /dev/null +++ b/docs/assets/js/e0d84b05.c704c80e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9527],{6218:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>u});const o=JSON.parse('{"id":"manual/agent/ai/robot","title":"Robot","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/ai/robot.md","sourceDirName":"manual/agent/ai","slug":"/manual/agent/ai/robot","permalink":"/bytedesk/docs/manual/agent/ai/robot","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/agent/ai/robot.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Robot","sidebar_position":1}}');var a=n(5723),r=n(6246);const s={sidebar_label:"Robot",sidebar_position:1},i="Robot",c={},u=[];function d(t){const e={h1:"h1",header:"header",...(0,r.R)(),...t.components};return(0,a.jsx)(e.header,{children:(0,a.jsx)(e.h1,{id:"robot",children:"Robot"})})}function l(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(d,{...t})}):d(t)}},6246:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>i});var o=n(2155);const a={},r=o.createContext(a);function s(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e157b587.f6ec1c73.js b/docs/assets/js/e157b587.f6ec1c73.js new file mode 100644 index 0000000000..d80634e7cd --- /dev/null +++ b/docs/assets/js/e157b587.f6ec1c73.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6069],{5841:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"manual/admin/kbase/taboo","title":"Sensitive Words","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/taboo.md","sourceDirName":"manual/admin/kbase","slug":"/manual/admin/kbase/taboo","permalink":"/bytedesk/docs/manual/admin/kbase/taboo","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/kbase/taboo.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_label":"Sensitive Words","sidebar_position":7}}');var o=n(5723),a=n(6246);const i={sidebar_label:"Sensitive Words",sidebar_position:7},r="Sensitive Words",d={},c=[];function u(e){const t={h1:"h1",header:"header",...(0,a.R)(),...e.components};return(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"sensitive-words",children:"Sensitive Words"})})}function l(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var s=n(2155);const o={},a=s.createContext(o);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e273c56f.6ea7a4ed.js b/docs/assets/js/e273c56f.6ea7a4ed.js new file mode 100644 index 0000000000..e8952844bf --- /dev/null +++ b/docs/assets/js/e273c56f.6ea7a4ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9328],{308:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var o=s(2421),n=s(5723),r=s(6246);const i={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},a=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."}),"\n",(0,n.jsx)(e.p,{children:"...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function p(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},6246:(t,e,s)=>{s.d(e,{R:()=>i,x:()=>a});var o=s(2155);const n={},r=o.createContext(n);function i(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:i(t.components),o.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/bytedesk/blog/first-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/bytedesk/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/e3d59151.a44451c0.js b/docs/assets/js/e3d59151.a44451c0.js new file mode 100644 index 0000000000..60f572ddb0 --- /dev/null +++ b/docs/assets/js/e3d59151.a44451c0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6034],{7163:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"type":"mdx","permalink":"/bytedesk/markdown-page","source":"@site/i18n/en/docusaurus-plugin-content-pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var a=t(5723),r=t(6246);const s={title:"Markdown page example"},c="Markdown page example",p={},d=[];function i(e){const n={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,a.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(i,{...e})}):i(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var o=t(2155);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e546079d.78fce8f4.js b/docs/assets/js/e546079d.78fce8f4.js new file mode 100644 index 0000000000..515906ac98 --- /dev/null +++ b/docs/assets/js/e546079d.78fce8f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1119],{4901:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"solution/shop","title":"E-commerce Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/shop.md","sourceDirName":"solution","slug":"/solution/shop","permalink":"/bytedesk/docs/solution/shop","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/shop.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"E-commerce","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Healthcare","permalink":"/bytedesk/docs/solution/hospital"},"next":{"title":"Cross-border E-commerce Smart Service Solution","permalink":"/bytedesk/docs/solution/shop-foreign"}}');var s=i(5723),l=i(6246);const t={sidebar_label:"E-commerce",sidebar_position:5},o="E-commerce Solution",d={},c=[{value:"Features",id:"features",level:2},{value:"Customer Features",id:"customer-features",level:3},{value:"Merchant Features",id:"merchant-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"e-commerce-solution",children:"E-commerce Solution"})}),"\n",(0,s.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(n.h3,{id:"customer-features",children:"Customer Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Product browsing"}),"\n",(0,s.jsx)(n.li,{children:"Shopping cart"}),"\n",(0,s.jsx)(n.li,{children:"Order management"}),"\n",(0,s.jsx)(n.li,{children:"Payment processing"}),"\n",(0,s.jsx)(n.li,{children:"Order tracking"}),"\n",(0,s.jsx)(n.li,{children:"Return/refund"}),"\n",(0,s.jsx)(n.li,{children:"Customer support"}),"\n",(0,s.jsx)(n.li,{children:"Product reviews"}),"\n",(0,s.jsx)(n.li,{children:"Wishlist"}),"\n",(0,s.jsx)(n.li,{children:"Price alerts"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"merchant-features",children:"Merchant Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Product management"}),"\n",(0,s.jsx)(n.li,{children:"Order management"}),"\n",(0,s.jsx)(n.li,{children:"Inventory control"}),"\n",(0,s.jsx)(n.li,{children:"Customer management"}),"\n",(0,s.jsx)(n.li,{children:"Promotion tools"}),"\n",(0,s.jsx)(n.li,{children:"Sales analytics"}),"\n",(0,s.jsx)(n.li,{children:"Shipping management"}),"\n",(0,s.jsx)(n.li,{children:"Return handling"}),"\n",(0,s.jsx)(n.li,{children:"Performance reports"}),"\n",(0,s.jsx)(n.li,{children:"Financial reports"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User management"}),"\n",(0,s.jsx)(n.li,{children:"Store management"}),"\n",(0,s.jsx)(n.li,{children:"Product categories"}),"\n",(0,s.jsx)(n.li,{children:"Payment methods"}),"\n",(0,s.jsx)(n.li,{children:"Shipping methods"}),"\n",(0,s.jsx)(n.li,{children:"Tax settings"}),"\n",(0,s.jsx)(n.li,{children:"Commission management"}),"\n",(0,s.jsx)(n.li,{children:"System settings"}),"\n",(0,s.jsx)(n.li,{children:"Analytics dashboard"}),"\n",(0,s.jsx)(n.li,{children:"Data backup"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"REST API"}),"\n",(0,s.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,s.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,s.jsx)(n.li,{children:"Android SDK"}),"\n",(0,s.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,s.jsx)(n.li,{children:"Mini Program SDK"}),"\n",(0,s.jsx)(n.li,{children:"Custom development"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"deployment",children:"Deployment"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/source",children:"Source Code"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/docker",children:"Docker"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/jar",children:"JAR Package"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/desktop",children:"Desktop Client"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/deploy/cluster",children:"Cluster"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>o});var r=i(2155);const s={},l=r.createContext(s);function t(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e721e24a.9e21b0cb.js b/docs/assets/js/e721e24a.9e21b0cb.js new file mode 100644 index 0000000000..baba71360b --- /dev/null +++ b/docs/assets/js/e721e24a.9e21b0cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1788],{7278:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"manual/admin/team/member","title":"Members","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/team/member.md","sourceDirName":"manual/admin/team","slug":"/manual/admin/team/member","permalink":"/bytedesk/docs/manual/admin/team/member","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/admin/team/member.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Members","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Introduction","permalink":"/bytedesk/docs/intro"},"next":{"title":"Roles","permalink":"/bytedesk/docs/manual/admin/team/role"}}');var s=n(5723),a=n(6246);const o={sidebar_label:"Members",sidebar_position:1},i="Members",m={},d=[];function c(e){const t={h1:"h1",header:"header",...(0,a.R)(),...e.components};return(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"members",children:"Members"})})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var r=n(2155);const s={},a=r.createContext(s);function o(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e740fb29.62c67e14.js b/docs/assets/js/e740fb29.62c67e14.js new file mode 100644 index 0000000000..9ed2abe6a8 --- /dev/null +++ b/docs/assets/js/e740fb29.62c67e14.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5636],{980:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"solution/shop-foreign","title":"Cross-border E-commerce Smart Service Solution","description":"Feature Comparison","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/shop-foreign.md","sourceDirName":"solution","slug":"/solution/shop-foreign","permalink":"/bytedesk/docs/solution/shop-foreign","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/shop-foreign.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_label":"Cross-border E-commerce Smart Service Solution","sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"E-commerce","permalink":"/bytedesk/docs/solution/shop"},"next":{"title":"Knowledge Base","permalink":"/bytedesk/docs/solution/kbase"}}');var s=r(5723),n=r(6246);const i={sidebar_label:"Cross-border E-commerce Smart Service Solution",sidebar_position:5},c="Cross-border E-commerce Smart Service Solution",d={},a=[{value:"Feature Comparison",id:"feature-comparison",level:2}];function l(e){const t={h1:"h1",h2:"h2",header:"header",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"cross-border-e-commerce-smart-service-solution",children:"Cross-border E-commerce Smart Service Solution"})}),"\n",(0,s.jsx)(t.h2,{id:"feature-comparison",children:"Feature Comparison"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Feature"}),(0,s.jsx)(t.th,{children:"Community"}),(0,s.jsx)(t.th,{children:"Enterprise"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Header"}),(0,s.jsx)(t.td,{children:"Title"}),(0,s.jsx)(t.td,{children:"Title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Paragraph"}),(0,s.jsx)(t.td,{children:"Text"}),(0,s.jsx)(t.td,{children:"Text"})]})]})]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},6246:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>c});var o=r(2155);const s={},n=o.createContext(s);function i(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/eefce9d7.5dbd74e4.js b/docs/assets/js/eefce9d7.5dbd74e4.js new file mode 100644 index 0000000000..502b732cad --- /dev/null +++ b/docs/assets/js/eefce9d7.5dbd74e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6293],{1405:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"develop/visitor/shop/qianniu","title":"\u5343\u725b","description":"\u9996\u5148\u767b\u5f55\u7ba1\u7406\u540e\u53f0\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/shop/qianniu.md","sourceDirName":"develop/visitor/shop","slug":"/develop/visitor/shop/qianniu","permalink":"/bytedesk/docs/develop/visitor/shop/qianniu","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/visitor/shop/qianniu.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_label":"\u5343\u725b","sidebar_position":7}}');var t=s(5723),o=s(6246);const r={sidebar_label:"\u5343\u725b",sidebar_position:7},d="\u5343\u725b",c={},l=[{value:"\u673a\u5668\u4eba\u5bf9\u8bdd",id:"\u673a\u5668\u4eba\u5bf9\u8bdd",level:2},{value:"\u4e00\u5bf9\u4e00\u5ba2\u670d",id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",level:2},{value:"\u6280\u80fd\u7ec4\u5ba2\u670d",id:"\u6280\u80fd\u7ec4\u5ba2\u670d",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"\u5343\u725b",children:"\u5343\u725b"})}),"\n",(0,t.jsxs)(n.p,{children:["\u9996\u5148\u767b\u5f55",(0,t.jsx)(n.a,{href:"https://www.weiyuai.cn/admin",children:"\u7ba1\u7406\u540e\u53f0"}),"\uff0c\u7136\u540e\u53c2\u8003\u4e0b\u9762\u622a\u56fe\u83b7\u53d6\u76f8\u5173\u4ee3\u7801\u3002"]}),"\n",(0,t.jsx)(n.h2,{id:"\u673a\u5668\u4eba\u5bf9\u8bdd",children:"\u673a\u5668\u4eba\u5bf9\u8bdd"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.img,{alt:"robot",src:s(3400).A+"",width:"2820",height:"982"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"\u4e00\u5bf9\u4e00\u5ba2\u670d",children:"\u4e00\u5bf9\u4e00\u5ba2\u670d"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.img,{alt:"agent",src:s(3919).A+"",width:"2832",height:"1078"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"\u6280\u80fd\u7ec4\u5ba2\u670d",children:"\u6280\u80fd\u7ec4\u5ba2\u670d"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.img,{alt:"wgroup",src:s(5704).A+"",width:"2854",height:"1108"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3919:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/agent-web-f31858c44b73e3b8477c963e8f93074f.png"},3400:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/robot-web-0a4f366346bd63674c21c3f0f44443fc.png"},5704:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/wgroup-web-f50e08697bad50a759117ed392e12ff7.png"},6246:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>d});var i=s(2155);const t={},o=i.createContext(t);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f0dbaee1.b7fd6c46.js b/docs/assets/js/f0dbaee1.b7fd6c46.js new file mode 100644 index 0000000000..0e383502c9 --- /dev/null +++ b/docs/assets/js/f0dbaee1.b7fd6c46.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2491],{5181:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"deploy/docker","title":"Docker Deployment","description":"- Operating System: Ubuntu 20.04 LTS","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/docker.md","sourceDirName":"deploy","slug":"/deploy/docker","permalink":"/bytedesk/docs/deploy/docker","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/docker.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Docker","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Source Code","permalink":"/bytedesk/docs/deploy/source"},"next":{"title":"JAR","permalink":"/bytedesk/docs/deploy/jar"}}');var t=d(5723),s=d(6246);const r={sidebar_label:"Docker",sidebar_position:2},i="Docker Deployment",c={},l=[{value:"Dependencies",id:"dependencies",level:2},{value:"Download",id:"download",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Start",id:"start",level:2},{value:"Stop",id:"stop",level:2},{value:"Upgrade",id:"upgrade",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"docker-deployment",children:"Docker Deployment"})}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Operating System: Ubuntu 20.04 LTS"}),"\n",(0,t.jsx)(n.li,{children:"Server Requirements: Minimum 2 cores 4GB RAM, Recommended 4 cores 8GB RAM"}),"\n"]})}),"\n",(0,t.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/deploy/depend/docker",children:"Docker"})}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/docs/deploy/depend/mysql",children:"MySQL"})," or ",(0,t.jsx)(n.a,{href:"/docs/deploy/depend/postgresql",children:"PostgreSQL"})]}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/deploy/depend/redis",children:"Redis"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/deploy/depend/nginx",children:"Nginx"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/deploy/depend/letsencrypt",children:"Let's Encrypt"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"download",children:"Download"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Pull docker image\ndocker pull bytedesk/bytedesk:latest\n"})}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Create configuration directory\nmkdir -p /etc/bytedesk/config\n# Copy configuration files\ncp config/* /etc/bytedesk/config/\n# Modify database configuration\nvim /etc/bytedesk/config/application.yml\n# Modify redis configuration\nvim /etc/bytedesk/config/redis.yml\n"})}),"\n",(0,t.jsx)(n.h2,{id:"start",children:"Start"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Start container\ndocker run -d \\\n --name bytedesk \\\n -p 9003:9003 \\\n -v /etc/bytedesk/config:/app/config \\\n -v /etc/bytedesk/logs:/app/logs \\\n bytedesk/bytedesk:latest\n# View logs\ndocker logs -f bytedesk\n"})}),"\n",(0,t.jsx)(n.h2,{id:"stop",children:"Stop"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Stop container\ndocker stop bytedesk\n# Remove container\ndocker rm bytedesk\n"})}),"\n",(0,t.jsx)(n.h2,{id:"upgrade",children:"Upgrade"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Pull latest image\ndocker pull bytedesk/bytedesk:latest\n# Stop container\ndocker stop bytedesk\n# Remove container\ndocker rm bytedesk\n# Start new container\ndocker run -d \\\n --name bytedesk \\\n -p 9003:9003 \\\n -v /etc/bytedesk/config:/app/config \\\n -v /etc/bytedesk/logs:/app/logs \\\n bytedesk/bytedesk:latest\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},6246:(e,n,d)=>{d.d(n,{R:()=>r,x:()=>i});var o=d(2155);const t={},s=o.createContext(t);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f11c0a91.6aa5e4ef.js b/docs/assets/js/f11c0a91.6aa5e4ef.js new file mode 100644 index 0000000000..376531652b --- /dev/null +++ b/docs/assets/js/f11c0a91.6aa5e4ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1455],{2699:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>i});const a=JSON.parse('{"id":"manual/chat/thread/thread","title":"Thread","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/thread/thread.md","sourceDirName":"manual/chat/thread","slug":"/manual/chat/thread/","permalink":"/bytedesk/docs/manual/chat/thread/","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/manual/chat/thread/thread.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_label":"Thread","sidebar_position":1}}');var r=n(5723),s=n(6246);const o={sidebar_label:"Thread",sidebar_position:1},d="Thread",c={},i=[];function u(e){const t={h1:"h1",header:"header",...(0,s.R)(),...e.components};return(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"thread",children:"Thread"})})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},6246:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var a=n(2155);const r={},s=a.createContext(r);function o(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f1fc7d61.d1acb7b7.js b/docs/assets/js/f1fc7d61.d1acb7b7.js new file mode 100644 index 0000000000..910a32b03e --- /dev/null +++ b/docs/assets/js/f1fc7d61.d1acb7b7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[4539],{1220:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"develop/server/ai/qwen","title":"Alibaba Qwen","description":"","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/qwen.md","sourceDirName":"develop/server/ai","slug":"/develop/server/ai/qwen","permalink":"/bytedesk/docs/develop/server/ai/qwen","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/develop/server/ai/qwen.md","tags":[],"version":"current","frontMatter":{}}');var s=t(5723),o=t(6246);const a={},c="Alibaba Qwen",i={},d=[];function u(e){const n={h1:"h1",header:"header",...(0,o.R)(),...e.components};return(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"alibaba-qwen",children:"Alibaba Qwen"})})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6246:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var r=t(2155);const s={},o=r.createContext(s);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f4cb7f76.301ff045.js b/docs/assets/js/f4cb7f76.301ff045.js new file mode 100644 index 0000000000..780dafe7f6 --- /dev/null +++ b/docs/assets/js/f4cb7f76.301ff045.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1290],{6546:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"solution/teamim","title":"Team Chat Solution","description":"Features","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/teamim.md","sourceDirName":"solution","slug":"/solution/teamim","permalink":"/bytedesk/docs/solution/teamim","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/solution/teamim.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_label":"Team Chat","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Customer Service","permalink":"/bytedesk/docs/solution/im"},"next":{"title":"Education","permalink":"/bytedesk/docs/solution/edu"}}');var l=i(5723),r=i(6246);const t={sidebar_label:"Team Chat",sidebar_position:2},d="Team Chat Solution",a={},c=[{value:"Features",id:"features",level:2},{value:"Chat Features",id:"chat-features",level:3},{value:"Team Features",id:"team-features",level:3},{value:"Admin Features",id:"admin-features",level:3},{value:"Integration",id:"integration",level:3},{value:"Deployment",id:"deployment",level:2},{value:"Development",id:"development",level:2},{value:"Support",id:"support",level:2}];function o(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",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:"team-chat-solution",children:"Team Chat Solution"})}),"\n",(0,l.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,l.jsx)(n.h3,{id:"chat-features",children:"Chat Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Real-time messaging"}),"\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:"@mentions"}),"\n",(0,l.jsx)(n.li,{children:"Reactions"}),"\n",(0,l.jsx)(n.li,{children:"Threads"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"team-features",children:"Team Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Team management"}),"\n",(0,l.jsx)(n.li,{children:"Channel management"}),"\n",(0,l.jsx)(n.li,{children:"Role management"}),"\n",(0,l.jsx)(n.li,{children:"Permission control"}),"\n",(0,l.jsx)(n.li,{children:"File storage"}),"\n",(0,l.jsx)(n.li,{children:"Team directory"}),"\n",(0,l.jsx)(n.li,{children:"Team calendar"}),"\n",(0,l.jsx)(n.li,{children:"Task management"}),"\n",(0,l.jsx)(n.li,{children:"Meeting scheduling"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"admin-features",children:"Admin Features"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"User management"}),"\n",(0,l.jsx)(n.li,{children:"Team management"}),"\n",(0,l.jsx)(n.li,{children:"Role management"}),"\n",(0,l.jsx)(n.li,{children:"Permission control"}),"\n",(0,l.jsx)(n.li,{children:"Usage statistics"}),"\n",(0,l.jsx)(n.li,{children:"System settings"}),"\n",(0,l.jsx)(n.li,{children:"Audit logs"}),"\n",(0,l.jsx)(n.li,{children:"Data backup"}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"integration",children:"Integration"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"REST API"}),"\n",(0,l.jsx)(n.li,{children:"WebSocket API"}),"\n",(0,l.jsx)(n.li,{children:"JavaScript SDK"}),"\n",(0,l.jsx)(n.li,{children:"Android SDK"}),"\n",(0,l.jsx)(n.li,{children:"iOS SDK"}),"\n",(0,l.jsx)(n.li,{children:"Desktop apps"}),"\n",(0,l.jsx)(n.li,{children:"Custom plugins"}),"\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,l.jsx)(n.a,{href:"/docs/develop/server/service/agent",children:"Server API"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/web",children:"Client SDK"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/develop/visitor/platform/android",children:"Mobile SDK"})}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"support",children:"Support"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/bytedesk/bytedesk/issues",children:"GitHub Issues"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"mailto:support@bytedesk.com",children:"Email Support"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://www.bytedesk.com/support",children:"Commercial Support"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var s=i(2155);const l={},r=s.createContext(l);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f4f34a3a.3e0a8d0b.js b/docs/assets/js/f4f34a3a.3e0a8d0b.js new file mode 100644 index 0000000000..dba44742d5 --- /dev/null +++ b/docs/assets/js/f4f34a3a.3e0a8d0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3637],{3206:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>u,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var o=s(1632),r=s(5723),n=s(6246);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},u=void 0,l={authorsImageUrls:[void 0]},c=[];function i(t){const e={a:"a",admonition:"admonition",p:"p",...(0,n.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.p,{children:["Blog posts support ",(0,r.jsx)(e.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,r.jsx)(e.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,r.jsx)(e.admonition,{type:"tip",children:(0,r.jsx)(e.p,{children:"Use the power of React to create interactive blog posts."})})]})}function d(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(i,{...t})}):i(t)}},6246:(t,e,s)=>{s.d(e,{R:()=>a,x:()=>u});var o=s(2155);const r={},n=o.createContext(r);function a(t){const e=o.useContext(n);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function u(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:a(t.components),o.createElement(n.Provider,{value:e},t.children)}},1632:t=>{t.exports=JSON.parse('{"permalink":"/bytedesk/blog/mdx-blog-post","editUrl":"https://github.com/bytedesk/bytedesk/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/bytedesk/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/bytedesk/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/bytedesk/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/fdeb5368.33d62648.js b/docs/assets/js/fdeb5368.33d62648.js new file mode 100644 index 0000000000..340deac9fd --- /dev/null +++ b/docs/assets/js/fdeb5368.33d62648.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1954],{8357:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"deploy/visitor","title":"\u8bbf\u5ba2\u7aef","description":"Nginx","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/visitor.md","sourceDirName":"deploy","slug":"/deploy/visitor","permalink":"/bytedesk/docs/deploy/visitor","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/visitor.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_label":"\u8bbf\u5ba2\u7aef","sidebar_position":7}}');var t=i(5723),r=i(6246);const l={sidebar_label:"\u8bbf\u5ba2\u7aef",sidebar_position:7},c="\u8bbf\u5ba2\u7aef",a={},d=[{value:"Nginx",id:"nginx",level:2},{value:"\u51c6\u5907",id:"\u51c6\u5907",level:2},{value:"\u66ff\u6362\u4e3aip\u5b9e\u4f8b",id:"\u66ff\u6362\u4e3aip\u5b9e\u4f8b",level:2}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"\u8bbf\u5ba2\u7aef",children:"\u8bbf\u5ba2\u7aef"})}),"\n",(0,t.jsx)(n.h2,{id:"nginx",children:(0,t.jsx)(n.a,{href:"./depend/nginx",children:"Nginx"})}),"\n",(0,t.jsx)(n.p,{children:"\u672c\u5730\u90e8\u7f72\u53ef\u4e0d\u9700\u8981\uff0c\u4ec5\u5728\u751f\u4ea7\u73af\u5883\u63a8\u8350\u5b89\u88c5nginx\uff0cnginx\u505a\u53cd\u5411\u4ee3\u7406\uff0c"}),"\n",(0,t.jsx)(n.h2,{id:"\u51c6\u5907",children:"\u51c6\u5907"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u5c06\u4e0b\u8f7d\u7684 ",(0,t.jsx)(n.a,{href:"https://www.weiyuai.cn/download/weiyu-server.zip",children:"server"})," \u6587\u4ef6\u89e3\u538b\uff0c\u89e3\u538b\u540e\u7684\u6587\u4ef6\u7ed3\u6784\u5982\u4e0b"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"(base) server % tree -L 1\n.\n\u251c\u2500\u2500 admin\n\u251c\u2500\u2500 agent\n\u251c\u2500\u2500 bytedesk-starter-0.4.0.jar\n\u251c\u2500\u2500 chat\n\u251c\u2500\u2500 config\n\u251c\u2500\u2500 logs\n\u251c\u2500\u2500 readme.md\n\u251c\u2500\u2500 readme.zh.md\n\u251c\u2500\u2500 start.bat\n\u251c\u2500\u2500 start.sh\n\u251c\u2500\u2500 stop.bat\n\u251c\u2500\u2500 stop.sh\n\u2514\u2500\u2500 uploader\n\n7 directories, 7 files\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u5c06\u5176\u4e2d\u7684 admin\uff0cagent\uff0cchat \u4e09\u4e2a\u6587\u4ef6\u5939\u590d\u5236\u5230 /var/www/html/weiyuai/ \u6587\u4ef6\u5939\u4e0b\u3002"}),"\n",(0,t.jsx)(n.li,{children:"\u5176\u4e2d\uff1aadmin \u4e3a\u7ba1\u7406\u540e\u53f0\uff0cagent \u4e3a\u5ba2\u6237\u7aef\uff0cchat \u4e3a\u8bbf\u5ba2\u7aef"}),"\n",(0,t.jsxs)(n.li,{children:["\u4e09\u8005\u9ed8\u8ba4\u8bbf\u95ee\u7684\u670d\u52a1\u5668\u5730\u5740\u4e3a: ",(0,t.jsx)(n.a,{href:"http://127.0.0.1:9003",children:"http://127.0.0.1:9003"}),", \u53d1\u5e03\u5230\u7ebf\u4e0a\u65f6\u9700\u8981\u4fee\u6539\u624d\u80fd\u591f\u6b63\u5e38\u4f7f\u7528\uff0c\u5177\u4f53\u4fee\u6539\u65b9\u6cd5\u5982\u4e0b\uff1a"]}),"\n",(0,t.jsx)(n.li,{children:"\u627e\u5230 admin/config.json \u3001 agent/config.json \u548c chat/config.json \u4e09\u4e2a\u6587\u4ef6"}),"\n",(0,t.jsx)(n.li,{children:"config.json \u6587\u4ef6\u5185\u5bb9\u5982\u4e0b\uff1a"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "enabled": true,\n "apiUrl": "https://api.weiyuai.cn",\n "websocketUrl": "wss://api.weiyuai.cn/websocket",\n "htmlUrl": "https://www.weiyuai.cn"\n}\n'})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"enabled \u5b57\u6bb5\u4e3a\u662f\u5426\u542f\u7528\u81ea\u5b9a\u4e49\u670d\u52a1\u5668\u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a false\u3002\u8fd9\u91cc\u9700\u8981\u5c06 false \u6539\u4e3a true\u3002\u53ea\u6709\u4fee\u6539\u4e3a true\uff0c\u4e0b\u9762\u7684 apiHost \u548c htmlHost \u624d\u80fd\u751f\u6548"}),"\n",(0,t.jsx)(n.li,{children:"apiUrl \u5b57\u6bb5\u4e3a api \u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a\uff1aapi.weiyuai.cn\uff0c\u8bf7\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\u57df\u540d"}),"\n",(0,t.jsx)(n.li,{children:"websocketUrl \u5b57\u6bb5\u4e3a websocket \u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a\uff1aws://api.weiyuai.cn/websocket\uff0c\u8bf7\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\u57df\u540d"}),"\n",(0,t.jsxs)(n.li,{children:["htmlHost \u5b57\u6bb5\u4e3a\u9759\u6001\u7f51\u9875\u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a\uff1a",(0,t.jsx)(n.a,{href:"http://www.weiyuai.cn%EF%BC%8C%E8%AF%B7%E6%9B%BF%E6%8D%A2%E4%B8%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E5%9F%9F%E5%90%8D",children:"www.weiyuai.cn\uff0c\u8bf7\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\u57df\u540d"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"\u66ff\u6362\u4e3aip\u5b9e\u4f8b",children:"\u66ff\u6362\u4e3aip\u5b9e\u4f8b"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u5c06\u57df\u540d\u66ff\u6362\u4e3aip"}),"\n",(0,t.jsx)(n.li,{children:"\u5c06https\u66ff\u6362\u4e3ahttp"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "enabled": true,\n "apiUrl": "http://127.0.0.1:9003",\n "websocketUrl": "ws://127.0.0.1:9885/websocket",\n "htmlUrl": "http://127.0.0.1:9006"\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},6246:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var s=i(2155);const t={},r=s.createContext(t);function l(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/main.3e71904f.js b/docs/assets/js/main.3e71904f.js new file mode 100644 index 0000000000..29ad893f7e --- /dev/null +++ b/docs/assets/js/main.3e71904f.js @@ -0,0 +1,2 @@ +/*! For license information please see main.3e71904f.js.LICENSE.txt */ +(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8792],{2923:(e,t,n)=>{var r={"./":2727};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=2923},5308:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(2155);var r=n(7528),o=n.n(r),a=n(4054);const i={"003373f3":[()=>n.e(2778).then(n.bind(n,2347)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/web.md",2347],"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,369)),"@theme/BlogTagsListPage",369],"03fb8e57":[()=>n.e(1365).then(n.bind(n,1544)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/helpcenter.md",1544],"06438b7d":[()=>n.e(9309).then(n.bind(n,2210)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/minimax.md",2210],"1006a4b3":[()=>n.e(8648).then(n.bind(n,4229)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/flutter.md",4229],"10e43522":[()=>n.e(3247).then(n.bind(n,4975)),"@site/i18n/en/docusaurus-plugin-content-blog/2024-10-08-scan-to-login.md?truncated=true",4975],"11d29fa1":[()=>n.e(2256).then(n.bind(n,5372)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/docker.md",5372],"157240d8":[()=>n.e(7134).then(n.bind(n,7126)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/hunyuan.md",7126],"158c8766":[()=>n.e(9541).then(n.bind(n,3161)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/hospital.md",3161],17896441:[()=>Promise.all([n.e(1869),n.e(8155),n.e(8401)]).then(n.bind(n,8833)),"@theme/DocItem",8833],"17fadf48":[()=>n.e(6418).then(n.bind(n,580)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/react.md",580],"1a871bde":[()=>n.e(5278).then(n.bind(n,7617)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/agent.md",7617],"1d4a64ce":[()=>n.e(679).then(n.bind(n,5446)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/android.md",5446],"1df93b7f":[()=>Promise.all([n.e(1869),n.e(4583)]).then(n.bind(n,1775)),"@site/src/pages/index.tsx",1775],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(8155),n.e(6061)]).then(n.bind(n,9043)),"@theme/MDXPage",9043],"1fb55056":[()=>n.e(8455).then(n.bind(n,6868)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/kbase/helpdoc.md",6868],"20e51ce5":[()=>n.e(8809).then(n.bind(n,8839)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/ios.md",8839],"2459241d":[()=>n.e(8582).then(n.bind(n,1922)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/mysql.md",1922],"27c697bf":[()=>n.e(7213).then(n.t.bind(n,4614,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-facebook-02f.json",4614],"2b41adb9":[()=>n.e(2090).then(n.t.bind(n,7466,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-9df.json",7466],"2ee0f334":[()=>n.e(6947).then(n.bind(n,2756)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ticket/status.md",2756],"319c6d68":[()=>n.e(551).then(n.bind(n,3120)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/helpcenter.md",3120],"32d11bb6":[()=>n.e(8576).then(n.bind(n,412)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/visitor.md",412],"36994c47":[()=>n.e(9858).then(n.t.bind(n,5516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",5516],"36ed5ad5":[()=>n.e(6216).then(n.bind(n,1694)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/moonshot.md",1694],"37c5fcf1":[()=>n.e(4623).then(n.bind(n,34)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/admin.md",34],"3d510a8c":[()=>n.e(6758).then(n.bind(n,2342)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatmini.md",2342],40762991:[()=>n.e(4433).then(n.bind(n,2070)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/queue-number.md",2070],"41345d7c":[()=>n.e(782).then(n.bind(n,8025)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/agent.md",8025],"470a00bf":[()=>n.e(4897).then(n.bind(n,5578)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/service/agent.md",5578],"49d1d0c0":[()=>n.e(7686).then(n.bind(n,889)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/letsencrypt.md",889],"4a99e3d9":[()=>n.e(2789).then(n.bind(n,3943)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/auth/login.md",3943],"4b0b9693":[()=>n.e(7722).then(n.bind(n,791)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/edu.md",791],"4ccc3b76":[()=>n.e(5966).then(n.t.bind(n,3445,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-ea2.json",3445],"4d3b6e7e":[()=>n.e(2747).then(n.bind(n,2277)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/im.md",2277],"50b81116":[()=>n.e(4493).then(n.bind(n,7933)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/qianfan.md",7933],"5144c84c":[()=>n.e(6671).then(n.bind(n,9662)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/llm.md",9662],"5721fd23":[()=>n.e(1759).then(n.bind(n,7690)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/postgresql.md",7690],"57c11a94":[()=>n.e(8674).then(n.bind(n,2649)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/ai/robot.md",2649],"57f7b7ff":[()=>n.e(9823).then(n.t.bind(n,4045,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-archive-007.json",4045],59362658:[()=>n.e(9325).then(n.bind(n,8482)),"@site/blog/2021-08-01-mdx-blog-post.mdx",8482],59882872:[()=>n.e(1344).then(n.bind(n,3792)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/team/member.md",3792],"5ac84584":[()=>n.e(6205).then(n.bind(n,3701)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/ai/robot.md",3701],"5b44acae":[()=>n.e(652).then(n.bind(n,2591)),"@site/i18n/en/docusaurus-plugin-content-docs/current/intro.md",2591],"5e95c892":[()=>n.e(9647).then(n.bind(n,2341)),"@theme/DocsRoot",2341],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5f77f32f":[()=>n.e(1493).then(n.bind(n,463)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/keyword.md",463],"621db11d":[()=>Promise.all([n.e(1869),n.e(8090),n.e(4212)]).then(n.bind(n,4789)),"@theme/Blog/Pages/BlogAuthorsListPage",4789],"62f01485":[()=>n.e(3931).then(n.bind(n,6702)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/ollama.md",6702],"65d9b74f":[()=>n.e(3702).then(n.t.bind(n,6188,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-hola-ac8.json",6188],"686ff8ac":[()=>n.e(3999).then(n.bind(n,1578)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/service/agent.md",1578],"6875c492":[()=>Promise.all([n.e(1869),n.e(8155),n.e(8090),n.e(4813)]).then(n.bind(n,2809)),"@theme/BlogTagsPostsPage",2809],"69aa092d":[()=>n.e(9637).then(n.bind(n,3797)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/zhipuai.md",3797],"6ce32f15":[()=>n.e(1336).then(n.t.bind(n,3434,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-docusaurus-73d.json",3434],"6cf0cb76":[()=>n.e(1084).then(n.bind(n,5217)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/ollama.md",5217],"6e655c93":[()=>n.e(9775).then(n.bind(n,1278)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/faq.md",1278],"73664a40":[()=>n.e(1972).then(n.bind(n,4127)),"@site/blog/2019-05-29-long-blog-post.md",4127],"739d5fdf":[()=>n.e(7161).then(n.bind(n,4455)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/auth/login.md",4455],"7661071f":[()=>n.e(8737).then(n.bind(n,8355)),"@site/blog/2021-08-26-welcome/index.md?truncated=true",8355],"7bb840c3":[()=>n.e(8304).then(n.bind(n,7475)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/auth/login.md",7475],"7d27dcec":[()=>n.e(4448).then(n.bind(n,7557)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/jar.md",7557],"7d8caebe":[()=>n.e(8732).then(n.bind(n,3303)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/foreign/whatsapp.md",3303],"7f7ea3bc":[()=>n.e(2045).then(n.bind(n,7622)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/plugin/index.md",7622],"80bd71a7":[()=>n.e(8061).then(n.bind(n,5940)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/server.md",5940],"814f3328":[()=>n.e(7472).then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"8189716e":[()=>n.e(476).then(n.bind(n,4900)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/kbase.md",4900],"82bd4724":[()=>n.e(1314).then(n.bind(n,6138)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechat.md",6138],"8359ee0f":[()=>n.e(1338).then(n.bind(n,4659)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/ticket.md",4659],"83af8544":[()=>n.e(3708).then(n.bind(n,9338)),"@site/i18n/en/docusaurus-plugin-content-docs/current/payment.md",9338],"8717b14a":[()=>n.e(3694).then(n.bind(n,5185)),"@site/blog/2019-05-29-long-blog-post.md?truncated=true",5185],"925b3f96":[()=>n.e(8609).then(n.bind(n,4400)),"@site/blog/2019-05-28-first-blog-post.md?truncated=true",4400],"9617b332":[()=>n.e(7336).then(n.bind(n,8972)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/source.md",8972],"9626587a":[()=>n.e(6989).then(n.bind(n,7027)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/platform/uniapp.md",7027],"96ef327d":[()=>n.e(3809).then(n.bind(n,811)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/autoreply.md",811],"98fc44fe":[()=>n.e(3662).then(n.t.bind(n,3966,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-bytedesk-ce9.json",3966],"9e4087bc":[()=>n.e(2711).then(n.bind(n,4463)),"@theme/BlogArchivePage",4463],"9e974ea2":[()=>n.e(3009).then(n.bind(n,9965)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/ai.md",9965],a1ad13e0:[()=>n.e(5913).then(n.bind(n,6109)),"@site/i18n/en/docusaurus-plugin-content-blog/2024-10-08-scan-to-login.md",6109],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(8155),n.e(8090),n.e(7643)]).then(n.bind(n,4137)),"@theme/BlogListPage",4137],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,8569)),"@theme/DocVersionRoot",8569],a8c22454:[()=>n.e(3246).then(n.bind(n,779)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/jdk.md",779],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,9505)),"@theme/DocRoot",9505],aa33ffd5:[()=>n.e(5158).then(n.t.bind(n,1213,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-hello-3f2.json",1213],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],ac95b37f:[()=>n.e(387).then(n.t.bind(n,2865,19)),"@generated/docusaurus-plugin-content-docs/default/p/bytedesk-docs-e4c.json",2865],acecf23e:[()=>n.e(1903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],aec06fb2:[()=>n.e(4960).then(n.t.bind(n,1049,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-tags-developer-319.json",1049],b088dc07:[()=>n.e(1029).then(n.bind(n,7146)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/ticket/waiting.md",7146],b48830f7:[()=>n.e(4549).then(n.bind(n,8231)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cluster.md",8231],b4cf3f2a:[()=>n.e(4646).then(n.bind(n,6653)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/nginx.md",6653],b7458bff:[()=>n.e(3633).then(n.t.bind(n,4136,19)),"@generated/docusaurus-plugin-content-blog/default/p/bytedesk-blog-authors-1cf.json",4136],b81b0106:[()=>n.e(1095).then(n.bind(n,6623)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/service/workgroup.md",6623],ba63ea60:[()=>n.e(5073).then(n.bind(n,6022)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/admin.md",6022],bd1f041b:[()=>n.e(3325).then(n.bind(n,6137)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/depend/redis.md",6137],bfa4484b:[()=>n.e(7286).then(n.bind(n,3699)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/quickreply.md",3699],c0fbf920:[()=>n.e(3795).then(n.bind(n,1246)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/team/role.md",1246],c8e28a8f:[()=>n.e(2796).then(n.bind(n,3613)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/desktop.md",3613],cc87462c:[()=>n.e(6881).then(n.bind(n,1363)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/thread/thread.md",1363],ccc49370:[()=>Promise.all([n.e(1869),n.e(8155),n.e(8090),n.e(3249)]).then(n.bind(n,9983)),"@theme/BlogPostPage",9983],d1368cbc:[()=>n.e(6799).then(n.bind(n,3475)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/cicd/devdoc.md",3475],d9f32620:[()=>n.e(5557).then(n.bind(n,8065)),"@site/blog/2021-08-26-welcome/index.md",8065],da8e626b:[()=>n.e(4551).then(n.bind(n,5349)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatmp.md",5349],dd7c7038:[()=>n.e(1249).then(n.bind(n,6003)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatkefu.md",6003],debc1240:[()=>n.e(8270).then(n.bind(n,2111)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/social/wechatwork.md",2111],e0d84b05:[()=>n.e(9527).then(n.bind(n,6218)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/agent/ai/robot.md",6218],e157b587:[()=>n.e(6069).then(n.bind(n,5841)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/kbase/taboo.md",5841],e273c56f:[()=>n.e(9328).then(n.bind(n,308)),"@site/blog/2019-05-28-first-blog-post.md",308],e3d59151:[()=>n.e(6034).then(n.bind(n,7163)),"@site/i18n/en/docusaurus-plugin-content-pages/markdown-page.md",7163],e546079d:[()=>n.e(1119).then(n.bind(n,4901)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/shop.md",4901],e721e24a:[()=>n.e(1788).then(n.bind(n,7278)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/admin/team/member.md",7278],e740fb29:[()=>n.e(5636).then(n.bind(n,980)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/shop-foreign.md",980],eefce9d7:[()=>n.e(6293).then(n.bind(n,1405)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/visitor/shop/qianniu.md",1405],f0dbaee1:[()=>n.e(2491).then(n.bind(n,5181)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/docker.md",5181],f11c0a91:[()=>n.e(1455).then(n.bind(n,2699)),"@site/i18n/en/docusaurus-plugin-content-docs/current/manual/chat/thread/thread.md",2699],f1fc7d61:[()=>n.e(4539).then(n.bind(n,1220)),"@site/i18n/en/docusaurus-plugin-content-docs/current/develop/server/ai/qwen.md",1220],f4cb7f76:[()=>n.e(1290).then(n.bind(n,6546)),"@site/i18n/en/docusaurus-plugin-content-docs/current/solution/teamim.md",6546],f4f34a3a:[()=>n.e(3637).then(n.bind(n,3206)),"@site/blog/2021-08-01-mdx-blog-post.mdx?truncated=true",3206],fdeb5368:[()=>n.e(1954).then(n.bind(n,8357)),"@site/i18n/en/docusaurus-plugin-content-docs/current/deploy/visitor.md",8357]};var l=n(5723);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9611),u=n(632);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(6825).then(n.bind(n,6825)),modules:["@theme/NotFound"],webpack:()=>[6825],render(e,t){const n=e.default;return(0,l.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const s=o.__props;return delete o.__props,(0,l.jsx)(u.W,{value:i,children:(0,l.jsx)(a,{...o,...s,...n})})}})}const p=[{path:"/bytedesk/blog",component:d("/bytedesk/blog","959"),exact:!0},{path:"/bytedesk/blog/archive",component:d("/bytedesk/blog/archive","104"),exact:!0},{path:"/bytedesk/blog/authors",component:d("/bytedesk/blog/authors","a94"),exact:!0},{path:"/bytedesk/blog/first-blog-post",component:d("/bytedesk/blog/first-blog-post","5b3"),exact:!0},{path:"/bytedesk/blog/long-blog-post",component:d("/bytedesk/blog/long-blog-post","20b"),exact:!0},{path:"/bytedesk/blog/mdx-blog-post",component:d("/bytedesk/blog/mdx-blog-post","433"),exact:!0},{path:"/bytedesk/blog/scan-to-login",component:d("/bytedesk/blog/scan-to-login","be0"),exact:!0},{path:"/bytedesk/blog/tags",component:d("/bytedesk/blog/tags","bc8"),exact:!0},{path:"/bytedesk/blog/tags/bytedesk",component:d("/bytedesk/blog/tags/bytedesk","6f7"),exact:!0},{path:"/bytedesk/blog/tags/developer",component:d("/bytedesk/blog/tags/developer","66c"),exact:!0},{path:"/bytedesk/blog/tags/docusaurus",component:d("/bytedesk/blog/tags/docusaurus","a0e"),exact:!0},{path:"/bytedesk/blog/tags/facebook",component:d("/bytedesk/blog/tags/facebook","427"),exact:!0},{path:"/bytedesk/blog/tags/hello",component:d("/bytedesk/blog/tags/hello","edf"),exact:!0},{path:"/bytedesk/blog/tags/hola",component:d("/bytedesk/blog/tags/hola","533"),exact:!0},{path:"/bytedesk/blog/welcome",component:d("/bytedesk/blog/welcome","2ec"),exact:!0},{path:"/bytedesk/markdown-page",component:d("/bytedesk/markdown-page","587"),exact:!0},{path:"/bytedesk/docs",component:d("/bytedesk/docs","04a"),routes:[{path:"/bytedesk/docs",component:d("/bytedesk/docs","815"),routes:[{path:"/bytedesk/docs",component:d("/bytedesk/docs","646"),routes:[{path:"/bytedesk/docs/deploy/admin",component:d("/bytedesk/docs/deploy/admin","086"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/agent",component:d("/bytedesk/docs/deploy/agent","5e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cicd/admin",component:d("/bytedesk/docs/deploy/cicd/admin","dea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cicd/agent",component:d("/bytedesk/docs/deploy/cicd/agent","517"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cicd/devdoc",component:d("/bytedesk/docs/deploy/cicd/devdoc","136"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cicd/server",component:d("/bytedesk/docs/deploy/cicd/server","7ed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cicd/visitor",component:d("/bytedesk/docs/deploy/cicd/visitor","e8b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/cluster",component:d("/bytedesk/docs/deploy/cluster","a88"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/ai",component:d("/bytedesk/docs/deploy/depend/ai","5ac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/docker",component:d("/bytedesk/docs/deploy/depend/docker","856"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/jdk",component:d("/bytedesk/docs/deploy/depend/jdk","3df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/letsencrypt",component:d("/bytedesk/docs/deploy/depend/letsencrypt","932"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/mysql",component:d("/bytedesk/docs/deploy/depend/mysql","f09"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/nginx",component:d("/bytedesk/docs/deploy/depend/nginx","9bb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/ollama",component:d("/bytedesk/docs/deploy/depend/ollama","ec6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/postgresql",component:d("/bytedesk/docs/deploy/depend/postgresql","096"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/depend/redis",component:d("/bytedesk/docs/deploy/depend/redis","29e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/desktop",component:d("/bytedesk/docs/deploy/desktop","847"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/docker",component:d("/bytedesk/docs/deploy/docker","715"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/jar",component:d("/bytedesk/docs/deploy/jar","266"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/source",component:d("/bytedesk/docs/deploy/source","72e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/deploy/visitor",component:d("/bytedesk/docs/deploy/visitor","658"),exact:!0},{path:"/bytedesk/docs/develop/plugin/",component:d("/bytedesk/docs/develop/plugin/","32c"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/hunyuan",component:d("/bytedesk/docs/develop/server/ai/hunyuan","c6e"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/minimax",component:d("/bytedesk/docs/develop/server/ai/minimax","0ae"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/moonshot",component:d("/bytedesk/docs/develop/server/ai/moonshot","b65"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/ollama",component:d("/bytedesk/docs/develop/server/ai/ollama","595"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/qianfan",component:d("/bytedesk/docs/develop/server/ai/qianfan","6b6"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/qwen",component:d("/bytedesk/docs/develop/server/ai/qwen","808"),exact:!0},{path:"/bytedesk/docs/develop/server/ai/zhipuai",component:d("/bytedesk/docs/develop/server/ai/zhipuai","5ff"),exact:!0},{path:"/bytedesk/docs/develop/server/kbase/helpdoc",component:d("/bytedesk/docs/develop/server/kbase/helpdoc","30c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/server/service/agent",component:d("/bytedesk/docs/develop/server/service/agent","5f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/server/team/member",component:d("/bytedesk/docs/develop/server/team/member","614"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/server/ticket/status",component:d("/bytedesk/docs/develop/server/ticket/status","0a7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/foreign/whatsapp",component:d("/bytedesk/docs/develop/visitor/foreign/whatsapp","13f"),exact:!0},{path:"/bytedesk/docs/develop/visitor/platform/android",component:d("/bytedesk/docs/develop/visitor/platform/android","201"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/platform/flutter",component:d("/bytedesk/docs/develop/visitor/platform/flutter","76e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/platform/ios",component:d("/bytedesk/docs/develop/visitor/platform/ios","338"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/platform/react",component:d("/bytedesk/docs/develop/visitor/platform/react","aa8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/platform/uniapp",component:d("/bytedesk/docs/develop/visitor/platform/uniapp","272"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/platform/web",component:d("/bytedesk/docs/develop/visitor/platform/web","75e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/develop/visitor/shop/qianniu",component:d("/bytedesk/docs/develop/visitor/shop/qianniu","cfb"),exact:!0},{path:"/bytedesk/docs/develop/visitor/social/wechat",component:d("/bytedesk/docs/develop/visitor/social/wechat","9b9"),exact:!0},{path:"/bytedesk/docs/develop/visitor/social/wechatkefu",component:d("/bytedesk/docs/develop/visitor/social/wechatkefu","b36"),exact:!0},{path:"/bytedesk/docs/develop/visitor/social/wechatmini",component:d("/bytedesk/docs/develop/visitor/social/wechatmini","868"),exact:!0},{path:"/bytedesk/docs/develop/visitor/social/wechatmp",component:d("/bytedesk/docs/develop/visitor/social/wechatmp","fdd"),exact:!0},{path:"/bytedesk/docs/develop/visitor/social/wechatwork",component:d("/bytedesk/docs/develop/visitor/social/wechatwork","88f"),exact:!0},{path:"/bytedesk/docs/intro",component:d("/bytedesk/docs/intro","745"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/ai/robot",component:d("/bytedesk/docs/manual/admin/ai/robot","cb9"),exact:!0},{path:"/bytedesk/docs/manual/admin/auth/login",component:d("/bytedesk/docs/manual/admin/auth/login","d60"),exact:!0},{path:"/bytedesk/docs/manual/admin/kbase/autoreply",component:d("/bytedesk/docs/manual/admin/kbase/autoreply","bcc"),exact:!0},{path:"/bytedesk/docs/manual/admin/kbase/faq",component:d("/bytedesk/docs/manual/admin/kbase/faq","d70"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/kbase/helpcenter",component:d("/bytedesk/docs/manual/admin/kbase/helpcenter","b46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/kbase/keyword",component:d("/bytedesk/docs/manual/admin/kbase/keyword","a63"),exact:!0},{path:"/bytedesk/docs/manual/admin/kbase/llm",component:d("/bytedesk/docs/manual/admin/kbase/llm","c6e"),exact:!0},{path:"/bytedesk/docs/manual/admin/kbase/quickreply",component:d("/bytedesk/docs/manual/admin/kbase/quickreply","173"),exact:!0},{path:"/bytedesk/docs/manual/admin/kbase/taboo",component:d("/bytedesk/docs/manual/admin/kbase/taboo","d16"),exact:!0},{path:"/bytedesk/docs/manual/admin/service/agent",component:d("/bytedesk/docs/manual/admin/service/agent","0ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/service/workgroup",component:d("/bytedesk/docs/manual/admin/service/workgroup","969"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/team/member",component:d("/bytedesk/docs/manual/admin/team/member","49b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/team/role",component:d("/bytedesk/docs/manual/admin/team/role","1ee"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/admin/ticket/waiting",component:d("/bytedesk/docs/manual/admin/ticket/waiting","d4d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/manual/agent/ai/robot",component:d("/bytedesk/docs/manual/agent/ai/robot","148"),exact:!0},{path:"/bytedesk/docs/manual/agent/auth/login",component:d("/bytedesk/docs/manual/agent/auth/login","a6a"),exact:!0},{path:"/bytedesk/docs/manual/agent/thread/",component:d("/bytedesk/docs/manual/agent/thread/","e01"),exact:!0},{path:"/bytedesk/docs/manual/chat/ai/robot",component:d("/bytedesk/docs/manual/chat/ai/robot","17c"),exact:!0},{path:"/bytedesk/docs/manual/chat/auth/login",component:d("/bytedesk/docs/manual/chat/auth/login","131"),exact:!0},{path:"/bytedesk/docs/manual/chat/thread/",component:d("/bytedesk/docs/manual/chat/thread/","769"),exact:!0},{path:"/bytedesk/docs/payment",component:d("/bytedesk/docs/payment","c24"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/edu",component:d("/bytedesk/docs/solution/edu","8ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/helpcenter",component:d("/bytedesk/docs/solution/helpcenter","9bf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/hospital",component:d("/bytedesk/docs/solution/hospital","407"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/im",component:d("/bytedesk/docs/solution/im","501"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/kbase",component:d("/bytedesk/docs/solution/kbase","260"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/queue-number",component:d("/bytedesk/docs/solution/queue-number","315"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/shop",component:d("/bytedesk/docs/solution/shop","390"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/shop-foreign",component:d("/bytedesk/docs/solution/shop-foreign","941"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/teamim",component:d("/bytedesk/docs/solution/teamim","b92"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bytedesk/docs/solution/ticket",component:d("/bytedesk/docs/solution/ticket","352"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/bytedesk/",component:d("/bytedesk/","ae4"),exact:!0},{path:"*",component:d("*")}]},9735:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(2155),o=n(5723);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},2106:(e,t,n)=>{"use strict";var r=n(2155),o=n(8997),a=n(8345),i=n(1713),l=n(4784),s=n(7779);const c=[n(1069),n(407),n(5602),n(3044)];var u=n(5308),d=n(2934),p=n(8782),f=n(5723);function m(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var h=n(4570),g=n(6660),b=n(5415),y=n(8951),v=n(4576),k=n(4388),w=n(5534);var x=n(1721),S=n(5427);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,k.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,b.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,y.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(E,{}),(0,f.jsx)(_,{}),(0,f.jsx)(S.A,{tag:"default",locale:e}),(0,f.jsx)(h.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var T=n(9735),j=n(5856),L=n(239);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,L.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const D=O,I="__docusaurus-base-url-issue-banner-suggestion-container";function M(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(D,{location:e,children:H})}function V(){return(0,f.jsx)($.A,{children:(0,f.jsx)(j.l,{children:(0,f.jsxs)(T.x,{children:[(0,f.jsxs)(m,{children:[(0,f.jsx)(B,{}),(0,f.jsx)(C,{}),(0,f.jsx)(z,{}),(0,f.jsx)(G,{})]}),(0,f.jsx)(q,{})]})})})}var W=n(4054);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Q=n(9611);const Y=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,p.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Q.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),R(e))},ee=Object.freeze(J);function te(e){let{children:t}=e;return"hash"===l.default.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const ne=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=ee;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(te,{children:(0,f.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ne)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};R(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},5856:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(2155),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/bytedesk/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/bytedesk/docs","mainDocId":"intro","docs":[{"id":"deploy/admin","path":"/bytedesk/docs/deploy/admin","sidebar":"tutorialSidebar"},{"id":"deploy/agent","path":"/bytedesk/docs/deploy/agent","sidebar":"tutorialSidebar"},{"id":"deploy/cicd/admin","path":"/bytedesk/docs/deploy/cicd/admin","sidebar":"tutorialSidebar"},{"id":"deploy/cicd/agent","path":"/bytedesk/docs/deploy/cicd/agent","sidebar":"tutorialSidebar"},{"id":"deploy/cicd/devdoc","path":"/bytedesk/docs/deploy/cicd/devdoc","sidebar":"tutorialSidebar"},{"id":"deploy/cicd/server","path":"/bytedesk/docs/deploy/cicd/server","sidebar":"tutorialSidebar"},{"id":"deploy/cicd/visitor","path":"/bytedesk/docs/deploy/cicd/visitor","sidebar":"tutorialSidebar"},{"id":"deploy/cluster","path":"/bytedesk/docs/deploy/cluster","sidebar":"tutorialSidebar"},{"id":"deploy/depend/ai","path":"/bytedesk/docs/deploy/depend/ai","sidebar":"tutorialSidebar"},{"id":"deploy/depend/docker","path":"/bytedesk/docs/deploy/depend/docker","sidebar":"tutorialSidebar"},{"id":"deploy/depend/jdk","path":"/bytedesk/docs/deploy/depend/jdk","sidebar":"tutorialSidebar"},{"id":"deploy/depend/letsencrypt","path":"/bytedesk/docs/deploy/depend/letsencrypt","sidebar":"tutorialSidebar"},{"id":"deploy/depend/mysql","path":"/bytedesk/docs/deploy/depend/mysql","sidebar":"tutorialSidebar"},{"id":"deploy/depend/nginx","path":"/bytedesk/docs/deploy/depend/nginx","sidebar":"tutorialSidebar"},{"id":"deploy/depend/ollama","path":"/bytedesk/docs/deploy/depend/ollama","sidebar":"tutorialSidebar"},{"id":"deploy/depend/postgresql","path":"/bytedesk/docs/deploy/depend/postgresql","sidebar":"tutorialSidebar"},{"id":"deploy/depend/redis","path":"/bytedesk/docs/deploy/depend/redis","sidebar":"tutorialSidebar"},{"id":"deploy/desktop","path":"/bytedesk/docs/deploy/desktop","sidebar":"tutorialSidebar"},{"id":"deploy/docker","path":"/bytedesk/docs/deploy/docker","sidebar":"tutorialSidebar"},{"id":"deploy/jar","path":"/bytedesk/docs/deploy/jar","sidebar":"tutorialSidebar"},{"id":"deploy/source","path":"/bytedesk/docs/deploy/source","sidebar":"tutorialSidebar"},{"id":"deploy/visitor","path":"/bytedesk/docs/deploy/visitor"},{"id":"develop/plugin/index","path":"/bytedesk/docs/develop/plugin/"},{"id":"develop/server/ai/hunyuan","path":"/bytedesk/docs/develop/server/ai/hunyuan"},{"id":"develop/server/ai/minimax","path":"/bytedesk/docs/develop/server/ai/minimax"},{"id":"develop/server/ai/moonshot","path":"/bytedesk/docs/develop/server/ai/moonshot"},{"id":"develop/server/ai/ollama","path":"/bytedesk/docs/develop/server/ai/ollama"},{"id":"develop/server/ai/qianfan","path":"/bytedesk/docs/develop/server/ai/qianfan"},{"id":"develop/server/ai/qwen","path":"/bytedesk/docs/develop/server/ai/qwen"},{"id":"develop/server/ai/zhipuai","path":"/bytedesk/docs/develop/server/ai/zhipuai"},{"id":"develop/server/kbase/helpdoc","path":"/bytedesk/docs/develop/server/kbase/helpdoc","sidebar":"tutorialSidebar"},{"id":"develop/server/service/agent","path":"/bytedesk/docs/develop/server/service/agent","sidebar":"tutorialSidebar"},{"id":"develop/server/team/member","path":"/bytedesk/docs/develop/server/team/member","sidebar":"tutorialSidebar"},{"id":"develop/server/ticket/status","path":"/bytedesk/docs/develop/server/ticket/status","sidebar":"tutorialSidebar"},{"id":"develop/visitor/foreign/whatsapp","path":"/bytedesk/docs/develop/visitor/foreign/whatsapp"},{"id":"develop/visitor/platform/android","path":"/bytedesk/docs/develop/visitor/platform/android","sidebar":"tutorialSidebar"},{"id":"develop/visitor/platform/flutter","path":"/bytedesk/docs/develop/visitor/platform/flutter","sidebar":"tutorialSidebar"},{"id":"develop/visitor/platform/ios","path":"/bytedesk/docs/develop/visitor/platform/ios","sidebar":"tutorialSidebar"},{"id":"develop/visitor/platform/react","path":"/bytedesk/docs/develop/visitor/platform/react","sidebar":"tutorialSidebar"},{"id":"develop/visitor/platform/uniapp","path":"/bytedesk/docs/develop/visitor/platform/uniapp","sidebar":"tutorialSidebar"},{"id":"develop/visitor/platform/web","path":"/bytedesk/docs/develop/visitor/platform/web","sidebar":"tutorialSidebar"},{"id":"develop/visitor/shop/qianniu","path":"/bytedesk/docs/develop/visitor/shop/qianniu"},{"id":"develop/visitor/social/wechat","path":"/bytedesk/docs/develop/visitor/social/wechat"},{"id":"develop/visitor/social/wechatkefu","path":"/bytedesk/docs/develop/visitor/social/wechatkefu"},{"id":"develop/visitor/social/wechatmini","path":"/bytedesk/docs/develop/visitor/social/wechatmini"},{"id":"develop/visitor/social/wechatmp","path":"/bytedesk/docs/develop/visitor/social/wechatmp"},{"id":"develop/visitor/social/wechatwork","path":"/bytedesk/docs/develop/visitor/social/wechatwork"},{"id":"intro","path":"/bytedesk/docs/intro","sidebar":"tutorialSidebar"},{"id":"manual/admin/ai/robot","path":"/bytedesk/docs/manual/admin/ai/robot"},{"id":"manual/admin/auth/login","path":"/bytedesk/docs/manual/admin/auth/login"},{"id":"manual/admin/kbase/autoreply","path":"/bytedesk/docs/manual/admin/kbase/autoreply"},{"id":"manual/admin/kbase/faq","path":"/bytedesk/docs/manual/admin/kbase/faq","sidebar":"tutorialSidebar"},{"id":"manual/admin/kbase/helpcenter","path":"/bytedesk/docs/manual/admin/kbase/helpcenter","sidebar":"tutorialSidebar"},{"id":"manual/admin/kbase/keyword","path":"/bytedesk/docs/manual/admin/kbase/keyword"},{"id":"manual/admin/kbase/llm","path":"/bytedesk/docs/manual/admin/kbase/llm"},{"id":"manual/admin/kbase/quickreply","path":"/bytedesk/docs/manual/admin/kbase/quickreply"},{"id":"manual/admin/kbase/taboo","path":"/bytedesk/docs/manual/admin/kbase/taboo"},{"id":"manual/admin/service/agent","path":"/bytedesk/docs/manual/admin/service/agent","sidebar":"tutorialSidebar"},{"id":"manual/admin/service/workgroup","path":"/bytedesk/docs/manual/admin/service/workgroup","sidebar":"tutorialSidebar"},{"id":"manual/admin/team/member","path":"/bytedesk/docs/manual/admin/team/member","sidebar":"tutorialSidebar"},{"id":"manual/admin/team/role","path":"/bytedesk/docs/manual/admin/team/role","sidebar":"tutorialSidebar"},{"id":"manual/admin/ticket/waiting","path":"/bytedesk/docs/manual/admin/ticket/waiting","sidebar":"tutorialSidebar"},{"id":"manual/agent/ai/robot","path":"/bytedesk/docs/manual/agent/ai/robot"},{"id":"manual/agent/auth/login","path":"/bytedesk/docs/manual/agent/auth/login"},{"id":"manual/agent/thread/thread","path":"/bytedesk/docs/manual/agent/thread/"},{"id":"manual/chat/ai/robot","path":"/bytedesk/docs/manual/chat/ai/robot"},{"id":"manual/chat/auth/login","path":"/bytedesk/docs/manual/chat/auth/login"},{"id":"manual/chat/thread/thread","path":"/bytedesk/docs/manual/chat/thread/"},{"id":"payment","path":"/bytedesk/docs/payment","sidebar":"tutorialSidebar"},{"id":"solution/edu","path":"/bytedesk/docs/solution/edu","sidebar":"tutorialSidebar"},{"id":"solution/helpcenter","path":"/bytedesk/docs/solution/helpcenter","sidebar":"tutorialSidebar"},{"id":"solution/hospital","path":"/bytedesk/docs/solution/hospital","sidebar":"tutorialSidebar"},{"id":"solution/im","path":"/bytedesk/docs/solution/im","sidebar":"tutorialSidebar"},{"id":"solution/kbase","path":"/bytedesk/docs/solution/kbase","sidebar":"tutorialSidebar"},{"id":"solution/queue-number","path":"/bytedesk/docs/solution/queue-number","sidebar":"tutorialSidebar"},{"id":"solution/shop","path":"/bytedesk/docs/solution/shop","sidebar":"tutorialSidebar"},{"id":"solution/shop-foreign","path":"/bytedesk/docs/solution/shop-foreign","sidebar":"tutorialSidebar"},{"id":"solution/teamim","path":"/bytedesk/docs/solution/teamim","sidebar":"tutorialSidebar"},{"id":"solution/ticket","path":"/bytedesk/docs/solution/ticket","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/bytedesk/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh-CN","zh-TW"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh-CN":{"label":"\u7b80\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-CN"},"zh-TW":{"label":"\u7e41\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-TW","calendar":"gregory","path":"zh-TW"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.6.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.3"}}}');var c=n(5723);const u={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},2949:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(2155),o=n(7779),a=n(4570),i=n(1721),l=n(5712),s=n(632),c=n(5723);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(l.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},7779:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},4570:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(2155);var r=n(8345),o=n(5723);function a(e){return(0,o.jsx)(r.mg,{...e})}},3452:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(2155),o=n(1713),a=n(1721),i=n(6660),l=n(3204),s=n(7779),c=n(3193),u=n(5415),d=n(5723);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:k,baseUrl:w}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),_=(0,c.A)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const C=p||f;const A=(0,l.A)(C),T=C?.replace("pathname://","");let j=void 0!==T?(L=T,b&&(e=>e.startsWith("/"))(L)?S(L):L):void 0;var L;"hash"===x&&j?.startsWith("./")&&(j=j?.slice(1)),j&&A&&(j=(0,a.Ks)(j,{trailingSlash:k,baseUrl:w}));const P=(0,r.useRef)(!1),N=n?o.k2:o.N_,R=s.A.canUseIntersectionObserver,O=(0,r.useRef)(),D=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,r.useEffect)((()=>(!R&&A&&s.A.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{R&&O.current&&O.current.disconnect()})),[O,j,R,A]);const I=j?.startsWith("#")??!1,M=!y.target||"_self"===y.target,F=!j||!A||!M||I&&"hash"!==x;g||!I&&F||_.collectLink(j),y.id&&_.collectAnchor(y.id);const z={};return F?(0,d.jsx)("a",{ref:E,href:j,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...y,...z}):(0,d.jsx)(N,{...y,onMouseEnter:D,onTouchStart:D,innerRef:e=>{E.current=e,R&&e&&A&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),O.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m},...z})}const f=r.forwardRef(p)},2204:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},2941:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>s});var r=n(2155),o=n(5723);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},3147:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},3204:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},5415:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(2155),o=n(6660),a=n(3204);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,l=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:l}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===l)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:l}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3193:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(2155);n(5723);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},6660:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(2155),o=n(5856);function a(){return(0,r.useContext)(o.o)}},2301:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(2155),o=n(9735);function a(){return(0,r.useContext)(o.o)}},239:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2155);const o=n(7779).A.canUseDOM?r.useLayoutEffect:r.useEffect},3045:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(2155),o=n(632);function a(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},9611:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},632:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(2155),o=n(5723);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},1888:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,g1:()=>y});var r=n(2155),o=n(7642),a=n(3147),i=n(8951),l=n(3911),s=n(3285),c=n(5723);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,l.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(f.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function b(){const e=(0,r.useContext)(f);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1559:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>c});var r=n(2155),o=n(3285),a=n(5723);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},9018:(e,t,n)=>{"use strict";n.d(t,{B5:()=>S,Nr:()=>p,OF:()=>v,QB:()=>x,Vd:()=>k,Y:()=>b,fW:()=>w,w8:()=>h});var r=n(2155),o=n(2934),a=n(8782),i=n(7642),l=n(226),s=n(9345),c=n(1888),u=n(927),d=n(1559);function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}const f=(e,t)=>void 0!==e&&(0,l.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function g(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,l.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,l.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function v(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,s.sb)([t,n,o].filter(Boolean))),[t,n,o])}function w(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,s.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function S(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,l=i.find((e=>(0,o.B6)(n.pathname,e)));if(!l)return null;const s=l.sidebar,c=s?r.docsSidebars[s]:void 0;return{docElement:(0,a.v)(i),sidebarName:s,sidebarItems:c}}},927:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(2155),o=n(3285),a=n(5723);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},7642:(e,t,n)=>{"use strict";n.d(t,{zK:()=>h,vT:()=>p,Gy:()=>u,HW:()=>g,ht:()=>d,r7:()=>m,jh:()=>f});var r=n(2934),o=n(6660),a=n(3147);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},7528:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(7747),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},407:(e,t,n)=>{"use strict";var r=n(4346),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(4905),n(2923)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},3053:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(2155);var r=n(851),o=n(2941),a=n(8951),i=n(3452),l=n(3193);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_mZwI",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_cuea"};var c=n(5723);function u(e){let{as:t,id:n,...u}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},8026:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(2155);const r={iconExternalLink:"iconExternalLink_HxLw"};var o=n(5723);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},5712:(e,t,n)=>{"use strict";n.d(t,{A:()=>ft});var r=n(2155),o=n(851),a=n(2949),i=n(4576),l=n(2934),s=n(2941),c=n(1865),u=n(5723);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(4992),b=n(5534);const y={skipToContent:"skipToContent_NkfX"};function v(){return(0,u.jsx)(h,{className:y.skipToContent})}var k=n(8951),w=n(96);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_KvKh"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_fCPn"};function C(e){const{announcementBar:t}=(0,k.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.A)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_DG9t",announcementBarPlaceholder:"announcementBarPlaceholder_GS3S",announcementBarClose:"announcementBarClose_Ib8E",announcementBarContent:"announcementBarContent_dQOA"};function T(){const{announcementBar:e}=(0,k.p)(),{isActive:t,close:n}=(0,w.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:A.announcementBarPlaceholder}),(0,u.jsx)(C,{className:A.announcementBarContent}),a&&(0,u.jsx)(_,{onClick:n,className:A.announcementBarClose})]})}var j=n(5132),L=n(847);var P=n(3285),N=n(8317);const R=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,N.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(R.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(R);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,N.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:D(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=I();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(6296),z=n(2301);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vpq5",toggleButton:"toggleButton_SxqB",darkToggleIcon:"darkToggleIcon_sG53",lightToggleIcon:"lightToggleIcon_szGB",toggleButtonDisabled:"toggleButtonDisabled_qwT6"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,u.jsx)(B,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_Rf2q"};function V(e){let{className:t}=e;const n=(0,k.p)().navbar.style,r=(0,k.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,F.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(69);function K(){return(0,u.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,j.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(K,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var Z=n(3452),X=n(5415),J=n(3204);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(8026);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...c}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,J.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,m&&(0,u.jsx)(te.A,{...l&&{width:12,height:12}})]})};return o?(0,u.jsx)(Z.A,{href:s?f:o,...c,...h}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(5155),le=n(226),se=n(6660);const ce="dropdownNavbarItemMobile_MSt6";function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:l.children??l.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ee,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.A)(ce,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ee,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var me=n(4388);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_uoIN";var be=n(2204);const ye={navbarSearchContainer:"navbarSearchContainer_ag_F"};function ve(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.A)(n,ye.navbarSearchContainer),children:t})}var ke=n(7642),we=n(9018);var xe=n(1888);function Se(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const _e={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,l.zy)(),h=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ve,{className:n,children:(0,u.jsx)(be.A,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ke.zK)(r),i=(0,we.QB)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ke.zK)(r),i=(0,we.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,we.Vd)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,l.zy)(),p=(0,ke.zK)(n),f=(0,ke.jh)(n),{savePreferredVersionName:m}=(0,xe.g1)(n),h=[...o,...f.map((function(e){const t=Se(e,p);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,we.Vd)(n)[0],b=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&h.length>1?void 0:Se(g,p).path;return h.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:y,items:h,isActive:r?()=>!1:void 0})}};function Ee(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=_e[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Ce(){const e=(0,j.M)(),t=(0,k.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ee,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ae(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Te(){const e=0===(0,k.p)().navbar.items.length,t=I();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ae,{onClick:()=>t.hide()}),t.content]})}function je(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ce,{}),secondaryMenu:(0,u.jsx)(Te,{})}):null}const Le={navbarHideable:"navbarHideable_sv9d",navbarHidden:"navbarHidden_CVEM"};function Pe(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Ne(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,k.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,L.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Pe,{onClick:i.toggle}),(0,u.jsx)(je,{})]})}var Re=n(1721);const Oe={errorBoundaryError:"errorBoundaryError_MFxT",errorBoundaryFallback:"errorBoundaryFallback_GKfx"};function De(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Re.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Me extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Fe="right";function ze(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,j.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_Bafy"};function Ue(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Me,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ee,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,j.M)(),t=(0,k.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Fe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(qe,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Be,{}),(0,u.jsx)(K,{}),(0,u.jsx)(Ue,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ue,{items:r}),(0,u.jsx)(V,{className:$e.colorModeToggle}),!o&&(0,u.jsx)(ve,{children:(0,u.jsx)(be.A,{})})]})})}function Ge(){return(0,u.jsx)(Ne,{children:(0,u.jsx)(He,{})})}function Ve(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,X.Ay)(n),s=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function We(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ve,{item:t})},t.href??t.to)}function Ke(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(We,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(Ke,{column:e},t)))})}function Ye(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ze(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ve,{item:t})}function Xe(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(Ze,{item:e}),t.length!==n+1&&(0,u.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Qe,{columns:t}):(0,u.jsx)(Xe,{links:t})}var et=n(1088);const tt="footerLogoLink_GzJ2";function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(et.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:tt,target:t.target,children:(0,u.jsx)(nt,{logo:t})}):(0,u.jsx)(nt,{logo:t})}function ot(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function at(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function it(){const{footer:e}=(0,k.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(at,{style:o,links:n&&n.length>0&&(0,u.jsx)(Je,{links:n}),logo:r&&(0,u.jsx)(rt,{logo:r}),copyright:t&&(0,u.jsx)(ot,{copyright:t})})}const lt=r.memo(it),st=(0,P.fM)([F.a,w.o,L.Tv,xe.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(N.y_,{children:(0,u.jsx)(j.e,{children:(0,u.jsx)(O,{children:t})})})}]);function ct(e){let{children:t}=e;return(0,u.jsx)(st,{children:t})}var ut=n(3053);function dt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(ut.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_siKr"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,b.J)(),(0,u.jsxs)(ct,{children:[(0,u.jsx)(i.be,{title:l,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(Ge,{}),(0,u.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,pt.mainWrapper,r),children:(0,u.jsx)(a.A,{fallback:e=>(0,u.jsx)(dt,{...e}),children:t})}),!n&&(0,u.jsx)(lt,{})]})}},69:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(2155);var r=n(3452),o=n(5415),a=n(6660),i=n(8951),l=n(1088),s=n(5723);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Ay)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:h,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},5427:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(2155);var r=n(4570),o=n(5723);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1088:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(2155),o=n(851),a=n(2301),i=n(6296);const l={themedComponent:"themedComponent_E98H","themedComponent--light":"themedComponent--light_O0S4","themedComponent--dark":"themedComponent--dark_koH5"};var s=n(5723);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},5155:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>c});var r=n(2155),o=n(7779),a=n(239),i=n(5176),l=n(5723);const s="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,l.jsx)(h,{...n,collapsed:s}):null}function b(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},96:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(2155),o=n(2301),a=n(3911),i=n(3285),l=n(8951),s=n(5723);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},6296:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>g});var r=n(2155),o=n(7779),a=n(3285),i=n(3911),l=n(8951),s=n(5723);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5132:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>m});var r=n(2155),o=n(8317),a=n(2710),i=n(2934),l=n(3285);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(8951),u=n(5723);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const u=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},8317:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>s,y_:()=>l});var r=n(2155),o=n(3285),a=n(5723);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},5534:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(2155);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},2710:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(2155),o=n(7779);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},4992:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},5176:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},9345:(e,t,n)=>{"use strict";function r(e){return Array.from(new Set(e))}function o(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{$z:()=>o,sb:()=>r})},4576:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>u,Jx:()=>f});var r=n(2155),o=n(851),a=n(4570),i=n(3045),l=n(5415),s=n(6660);var c=n(5723);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=function(e){const{siteConfig:t}=(0,s.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,o.A)(i,t);return(0,c.jsxs)(d.Provider,{value:l,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function f(e){let{children:t}=e;const n=(0,i.A)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.A)(r,a),children:t})}},3285:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>u});var r=n(2155),o=n(239),a=n(5723);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},226:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(2155),o=n(5308),a=n(6660);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},847:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,gk:()=>f});var r=n(2155),o=n(7779),a=n(2301),i=(n(239),n(3285)),l=n(5723);const s=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3911:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(2155);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?s:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},4388:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(6660),o=n(2934),a=n(1721);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),c=(0,a.Ks)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},1865:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(2155),o=n(2934),a=n(3285);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},8951:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(6660);function o(){return(0,r.A)().siteConfig.themeConfig}},3980:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,c=n,c?o(s):a(s));var s,c;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(7307);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},2026:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},1721:(e,t,n)=>{"use strict";t.rA=t.Ks=t.LU=void 0;const r=n(5959);t.LU="__blog-post-container";var o=n(3980);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(7307);var i=n(2026);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},7307:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},143:(e,t,n)=>{"use strict";n.d(t,{zR:()=>k,TM:()=>C,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(7527);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(5166);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),k.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(k.entries[k.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=k.index+e;return t>=0&&t{"use strict";var r=n(7020),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},3389:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},3044:(e,t,n)=>{"use strict";n.r(t)},1069:(e,t,n)=>{"use strict";n.r(t)},7747:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},634:(e,t,n)=>{var r=n(3389);e.exports=m,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,l=0,s="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(l,f),l=f+d.length,p)s+=p[1];else{var m=e[l],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],k=n[7];s&&(r.push(s),s="");var w=null!=h&&null!=m&&m!==h,x="+"===v||"*"===v,S="?"===v||"*"===v,_=h||c,E=b||y,C=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:g||a++,prefix:h||"",delimiter:_,optional:S,repeat:x,partial:w,asterisk:!!k,pattern:E?u(E):k?".*":i(_,C)})}}return l-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function l(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),o=0;o{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2727:(e,t,n)=>{const r=n(944),o=n(9141),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(7496).resolve(t)],delete Prism.languages[e],n(7496)(t),a.add(e)}))}i.silent=!1,e.exports=i},4905:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++o;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),y=[];h&&y.push.apply(y,i([h])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},7496:(e,t,n)=>{var r={"./":2727};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=7496},9141:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(s),m=u;o(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var y in f(b))if(y in u){p[b]=!0;break}for(var v in m=p)u[v]=!0}var k={getIds:function(){var e=[];return k.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return l[e]=o}for(var u in n)c(u);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,u,t,n)}};return k}}();e.exports=t},7265:(e,t,n)=>{"use strict";var r=n(3034);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5821:(e,t,n)=>{e.exports=n(7265)()},3034:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3396:(e,t,n)=>{"use strict";var r=n(2155),o=n(9593);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n