|
| 1 | +## 懒人客服简介 |
| 2 | +本项目是基于大模型的智能对话客服工具,支持微信、千牛、哔哩哔哩、抖音企业号、抖音、抖店、微博聊天、小红书专业号运营、小红书、知乎等平台接入,可选择 GPT3.5/GPT4.0/ [懒人百宝箱](https://chat.lazaytools.top/) (后续会支持更多平台),能处理文本、语音和图片,通过插件访问操作系统和互联网等外部资源,支持基于自有知识库定制企业 AI 应用。 |
1 | 3 |
|
| 4 | +注:本项目只是一个用于对接外部平台的客服工具,不提供任何平台的账号,需要自行准备。并且知识库功能也需要自行准备,该项目目前只支持的 OpenAI 的 API 接口(或代理)接入 |
| 5 | + |
| 6 | +## 主要功能 |
| 7 | +- [x] 多平台支持:当前支持哔哩哔哩、抖音企业号、抖音、抖店、微博聊天、小红书专业号运营、小红书、知乎等平台,未来将不断扩展支持更多社交媒体平台。 |
| 8 | +- [x] 预设回复内容:允许用户设置自定义回复,以应对常见问题,提高回复效率。 |
| 9 | +- [x] 接入ChatGPT接口,根据客户的咨询内容智能生成回复,适用于处理复杂或者个性化的客户咨询。 |
| 10 | +- [x] 发送图片和二进制文件:支持发送图片等二进制文件,满足多样化的客户服务需求。 |
| 11 | +- [x] 知识库: 通过上传知识库文件自定义专属机器人,可作为数字分身、智能客服、私域助手使用,基于 [懒人百宝箱](https://chat.lazaytools.top/) 实现 |
| 12 | +- [x] 各个平台独立的插件系统,支持插件访问操作系统和互联网等外部资源,支持基于自有知识库定制企业 AI 应用。 |
| 13 | + |
| 14 | + |
| 15 | +## 演示视频 |
| 16 | +[观看视频](https://www.bilibili.com/video/BV1qz421Q73S) |
| 17 | + |
| 18 | +## 开源社区 |
| 19 | +如果有问题需要反馈,或者对项目有什么特性希望支持的,可以添加小助手微信加入开源项目交流群: |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +<!-- |
| 24 | +## 商业支持 |
| 25 | +我们还提供企业级的 AI应用平台,包含知识库、Agent插件、应用管理等能力,支持多平台聚合的应用接入、客户端管理、对话管理,以及提供 SaaS服务、私有化部署、稳定托管接入 等多种模式。 |
| 26 | +
|
| 27 | +目前已在私域运营、智能客服、企业效率助手等场景积累了丰富的 AI 解决方案, 在电商、文教、健康、新消费等各行业沉淀了 AI 落地的最佳实践,致力于打造助力中小企业拥抱 AI 的一站式平台。 企业服务和商用咨询可联系产品顾问: |
| 28 | +
|
| 29 | + --> |
| 30 | + |
| 31 | + |
| 32 | +## 下载地址 |
| 33 | + |
| 34 | +<a href="https://wwp.lanzouo.com/iwxdP1r4g41e" style="display: inline-block; background-color: #008CBA; color: white; padding: 10px 20px; text-align: center; text-decoration: none; font-weight: bold; border-radius: 5px; margin: 4px 2px; cursor: pointer;">点击下载</a> |
| 35 | + |
| 36 | + |
| 37 | +## 使用说明 |
| 38 | +第一次启动时可能会有点慢,因为它需要先下载驱动文件和初始化回复数据库,所以请耐心等待。 |
| 39 | + |
| 40 | +### 1、设置 GPT 地址 |
| 41 | + |
| 42 | +启动程序后,点击设置按钮,设置好你的 OpenAPI Key 和 代理服务器地址,然后点击保存。 |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | +### 2、首页操作说明 |
| 50 | +首先可以看到首页这里的 “连接” 项,有两个勾选框,默认是暂停软件的,如果你想让软件开始工作,就把这个勾选框去掉。 |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | +当第一次打开时,默认是没有任何的登录态的,所以会需要你手动暂停一下,然后登录后再,再取消勾选暂停,让它开始工作。 |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | +自动回复开启后它就会读取你下面勾选的平台,自动打开该页面开始工作。注意上面部分的勾选框无法点击,是因为作者没有相关平台的账号,所以无法登录调试该平台的信息,如果你有相关平台的账号并且想要支持该平台的自动回复,可以联系上面的客服。 |
| 59 | + |
| 60 | +### 3、关键词的编写 |
| 61 | +当上面的 “开启关键词匹配” 勾选后,会优先匹配这里设置的关键词,如果匹配到了关键词,就会回复关键词的回复内容,当没有匹配上关键词的问题,则会调用你提供的 ChatGPT API 去询问 GPT 回答用户问题。 |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | +点击 “新增关键词” 按钮可以自定义关键词和回复内容。 |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +可以添加若干个用于匹配的关键词 |
| 70 | + |
| 71 | +关键词的编写规则是,如果只写 `你好`,那么只要用户输入的内容为 `你好` 时则会回复你设置的回复内容。如果想要模糊匹配可以使用 `*` 符号,例如 `你好*`,那么只要用户输入的内容以 `你好` 开头就会回复你设置的回复内容。 |
| 72 | + |
| 73 | +同理,如果你设置的关键词为 `*你好*`,那么只要用户输入的内容中包含 `你好` 就会回复你设置的回复内容。 |
| 74 | + |
| 75 | +比较特殊的,如果使用下面的 “开始关键词” 和 “结束关键词” 时,那么只要用户输入的内容以 “开始关键词” 开头,并且以 “结束关键词” 结尾,就能匹配上你设置的关键词。 |
| 76 | + |
| 77 | + |
| 78 | +### 4、回复的编写 |
| 79 | +一条关键词规则可以对应多条回复内容,当匹配到关键词时,会随机选择一条作为回复内容。 |
| 80 | + |
| 81 | +这里的 “插入随肌符” 是因为在拼多多平台等平台,是不允许每次重复一个回答的,所以可以插入一个随机符,以规避这个问题。 |
| 82 | + |
| 83 | +这里的 “插入文件” 则主要是用于插入图片,可以插入图片的链接,这样就可以回复图片了。 |
| 84 | + |
| 85 | +### 5、平台独立的 ChatGPT API 设置 |
| 86 | +有时候,我们可能需要针对不同的平台设置不同的 ChatGPT API 地址,这时候就可以在这里设置。你可以基于 [懒人百宝箱](https://chat.lazaytools.top/) 实现自己的知识库,然后设置到这里。 |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | +当设置了平台单独的 ChatGPT API 地址后,就会优先使用这个地址去调用 ChatGPT API,如果没有设置,则会使用上面设置的全局 ChatGPT API 地址。 |
| 91 | + |
| 92 | +### 6、客服相关设置 |
| 93 | + |
| 94 | + |
| 95 | +**提取信息**:勾选提取手机号或者提取咨询商品名后,它会去提取用户消息中的手机号或者商品名,然后将它存储到下面的路径中。 |
| 96 | + |
| 97 | +**等待回复时间**:当用户发送消息后,会等待这么长时间后再回复用户,如果希望马上回复,可以将这个值设置成零。 |
| 98 | + |
| 99 | +**上下文消息数**:当前使用 ChatGPT API 时,会将指定数量的聊天上下文,拿去调用 ChatGPT API,以便 ChatGPT API 更好的理解用户的问题。注意,这个值设置的越大,调用 ChatGPT API 的速度就会越慢。 |
| 100 | + |
| 101 | +**等待人工间隔**:当遇到 ChatGPT 阻塞的时候,会等待这么长时间然后终止客服自动任务,转交给人工客服手动处理。 |
| 102 | + |
| 103 | +## 项目计划 |
| 104 | +- [ ] 支持拼多多、淘宝、京东等电商平台(如果急需可以私聊小助手) |
| 105 | +- [ ] 支持本地模型的加载 |
2 | 106 |
|
3 | | -## 目录结构设计 |
4 | | -``` |
5 | | -my-app/ |
6 | | -├── node_modules/ |
7 | | -├── public/ |
8 | | -├── src/ |
9 | | -│ ├── components/ |
10 | | -│ │ ├── layout/ |
11 | | -│ │ │ ├── Navbar.js |
12 | | -│ │ │ ├── Sidebar.js |
13 | | -│ │ │ └── Footer.js |
14 | | -│ │ ├── ui/ |
15 | | -│ │ └── common/ |
16 | | -│ ├── pages/ |
17 | | -│ │ ├── HomePage.js |
18 | | -│ │ ├── SettingsPage.js |
19 | | -│ │ └── AboutPage.js |
20 | | -│ ├── utils/ (或者 helpers/) |
21 | | -│ ├── hooks/ |
22 | | -│ ├── assets/ |
23 | | -│ │ ├── images/ |
24 | | -│ │ └── styles/ |
25 | | -│ ├── constants/ |
26 | | -│ ├── context/ |
27 | | -│ ├── services/ (或者 api/) |
28 | | -│ └── App.js |
29 | | -├── .gitignore |
30 | | -├── package.json |
31 | | -└── README.md |
32 | | -``` |
33 | | - |
34 | | -- `components/`: 存放可复用的组件,如按钮、输入框等。 |
35 | | - - `layout/`: 用于布局相关的组件,如导航栏、侧边栏、页脚等。 |
36 | | - - `ui/`: UI 组件,可能包括主题特定的组件。 |
37 | | - - `common/`: 其他通用组件。 |
38 | | -- `pages/`: 存放应用的页面组件,通常这些组件会对应不同的路由。 |
39 | | -- `utils/` 或 `helpers/`: 存放工具函数或者帮助函数。 |
40 | | -- `hooks/`: 存放自定义钩子。 |
41 | | -- `assets/`: 存放静态资源,如图片、CSS 文件等。 |
42 | | -- `constants/`: 存放常量定义。 |
43 | | -- `context/`: 存放 React 的 Context 文件,用于状态管理。 |
44 | | -- `services/` 或 `api/`: 存放与后端交互的服务或 API 调用。 |
45 | | - |
46 | | - |
47 | | -## webpack 配置说明 |
48 | | -在 Electron-React-Boilerplate 项目中,Webpack配置被细分以适应不同的用途和环境。这些配置包括基础配置、针对ESLint的配置、主进程和渲染进程的开发与生产配置,以及预加载(preload)脚本和动态链接库(DLL)的特定配置。为了使`.env`文件中的环境变量在你的应用中可用,主要关注点应是主进程和渲染进程的配置文件。下面是每个文件的简要说明,以及你可能需要修改的文件: |
49 | | - |
50 | | -- **webpack.config.base.ts**: 基础配置,被其他所有配置文件共享。如果你想要全局应用一些配置(如解析规则、插件等),这是一个好地方。 |
51 | | -- **webpack.config.eslint.ts**: 专门为ESLint设置的Webpack配置。通常,不需要在这里添加`.env`文件支持。 |
52 | | -- **webpack.config.main.prod.ts**: 主进程的生产环境配置。如果你需要在生产环境的主进程中使用环境变量,应修改此文件。 |
53 | | -- **webpack.config.preload.dev.ts**: 开发环境的预加载脚本配置。这个配置用于预加载脚本,除非你特别需要在预加载脚本中使用环境变量,否则无需修改。 |
54 | | -- **webpack.config.renderer.dev.dll.ts**: 用于渲染进程开发环境的DLL配置。这主要用于性能优化,不是加载`.env`的目标。 |
55 | | -- **webpack.config.renderer.dev.ts**: 渲染进程的开发环境配置。如果你需要在开发环境的渲染进程中使用环境变量,应修改此文件。 |
56 | | -- **webpack.config.renderer.prod.ts**: 渲染进程的生产环境配置。如果你需要在生产环境的渲染进程中使用环境变量,应修改此文件。 |
57 | | -- **webpack.paths.ts**: 定义Webpack使用的各种路径。通常,不需要为了`.env`支持而修改此文件。 |
58 | | - |
59 | | -### 如何确定修改哪个? |
60 | | -直接看 package.json 中的 scripts,找到对应的配置文件,然后修改即可。 |
61 | | - |
62 | | -```json |
63 | | -"scripts": { |
64 | | - // ... |
65 | | - "start": "ts-node ./.erb/scripts/check-port-in-use.js && pnpm run start:renderer", |
66 | | - "start:main": "cross-env NODE_ENV=development electronmon -r ts-node/register/transpile-only .", |
67 | | - "start:preload": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload.dev.ts", |
68 | | - "start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts", |
69 | | - "test": "jest" |
70 | | -}, |
71 | | -``` |
|
0 commit comments