Skip to content

Commit f6ecfc3

Browse files
author
lrhh123
committed
update: 更新 README 文件
1 parent c9d0211 commit f6ecfc3

File tree

1 file changed

+104
-69
lines changed

1 file changed

+104
-69
lines changed

README.md

Lines changed: 104 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,106 @@
1+
## 懒人客服简介
2+
本项目是基于大模型的智能对话客服工具,支持微信、千牛、哔哩哔哩、抖音企业号、抖音、抖店、微博聊天、小红书专业号运营、小红书、知乎等平台接入,可选择 GPT3.5/GPT4.0/ [懒人百宝箱](https://chat.lazaytools.top/) (后续会支持更多平台),能处理文本、语音和图片,通过插件访问操作系统和互联网等外部资源,支持基于自有知识库定制企业 AI 应用。
13

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+
![微信扫码添加客服](docs/contact.png)
22+
23+
<!--
24+
## 商业支持
25+
我们还提供企业级的 AI应用平台,包含知识库、Agent插件、应用管理等能力,支持多平台聚合的应用接入、客户端管理、对话管理,以及提供 SaaS服务、私有化部署、稳定托管接入 等多种模式。
26+
27+
目前已在私域运营、智能客服、企业效率助手等场景积累了丰富的 AI 解决方案, 在电商、文教、健康、新消费等各行业沉淀了 AI 落地的最佳实践,致力于打造助力中小企业拥抱 AI 的一站式平台。 企业服务和商用咨询可联系产品顾问:
28+
29+
![微信扫码添加客服](docs/contact.png) -->
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+
![alt text](docs/first_settings_1.png)
45+
46+
![alt text](docs/first_settings_2.png)
47+
48+
49+
### 2、首页操作说明
50+
首先可以看到首页这里的 “连接” 项,有两个勾选框,默认是暂停软件的,如果你想让软件开始工作,就把这个勾选框去掉。
51+
52+
![alt text](docs/home_settings_1.png)
53+
54+
当第一次打开时,默认是没有任何的登录态的,所以会需要你手动暂停一下,然后登录后再,再取消勾选暂停,让它开始工作。
55+
56+
![alt text](docs/home_settings_2.png)
57+
58+
自动回复开启后它就会读取你下面勾选的平台,自动打开该页面开始工作。注意上面部分的勾选框无法点击,是因为作者没有相关平台的账号,所以无法登录调试该平台的信息,如果你有相关平台的账号并且想要支持该平台的自动回复,可以联系上面的客服。
59+
60+
### 3、关键词的编写
61+
当上面的 “开启关键词匹配” 勾选后,会优先匹配这里设置的关键词,如果匹配到了关键词,就会回复关键词的回复内容,当没有匹配上关键词的问题,则会调用你提供的 ChatGPT API 去询问 GPT 回答用户问题。
62+
63+
![alt text](docs/reply_settings_1.png)
64+
65+
点击 “新增关键词” 按钮可以自定义关键词和回复内容。
66+
67+
![alt text](docs/reply_settings_2.png)
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+
![alt text](docs/other_settings_1.png)
89+
90+
当设置了平台单独的 ChatGPT API 地址后,就会优先使用这个地址去调用 ChatGPT API,如果没有设置,则会使用上面设置的全局 ChatGPT API 地址。
91+
92+
### 6、客服相关设置
93+
![alt text](docs/other_settings_2.png)
94+
95+
**提取信息**:勾选提取手机号或者提取咨询商品名后,它会去提取用户消息中的手机号或者商品名,然后将它存储到下面的路径中。
96+
97+
**等待回复时间**:当用户发送消息后,会等待这么长时间后再回复用户,如果希望马上回复,可以将这个值设置成零。
98+
99+
**上下文消息数**:当前使用 ChatGPT API 时,会将指定数量的聊天上下文,拿去调用 ChatGPT API,以便 ChatGPT API 更好的理解用户的问题。注意,这个值设置的越大,调用 ChatGPT API 的速度就会越慢。
100+
101+
**等待人工间隔**:当遇到 ChatGPT 阻塞的时候,会等待这么长时间然后终止客服自动任务,转交给人工客服手动处理。
102+
103+
## 项目计划
104+
- [ ] 支持拼多多、淘宝、京东等电商平台(如果急需可以私聊小助手)
105+
- [ ] 支持本地模型的加载
2106

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

Comments
 (0)