教程:Dify零基础给网站搭建AI 客服助手
这篇文章毫无保留地分享一套进阶版 AI 客服搭建方案。我们将利用 Dify 的可视化工作流,配合Notion,实现:
- 自动同步: 只要你改一下 Notion 笔记,AI 的知识储备秒级更新。
- 聪明省钱: 通过“意图路由”技术,让 AI 先思考再检索,节省 90% 的运营成本。
不需要你会写复杂的代码,跟着这四步走,你也能拥有一个 24 小时在线、懂逻辑、能成交的“金牌”外贸助理。
视频教程
第一步. 准备 Notion 数据库
这一步相当于创建一个资料文档,AI可以调用里面的数据来回答用户的问题。而Notion可以说是应用最广,在各个工具上都能轻松链接的工具。
1.1 创建答疑文档
直接进入Notion的官网,用邮箱创建个账号。
然后创建个文档,将自己的资料放到里面,建议问题清晰,采用Markdown的形式,方便AI读取。

第二步. Dify搭建工作流
2.1 创建Chatflow
关于Dify的注册和使用在之前讲SEO优化工作流创建的时候讲过了,大家可以点击下面的按钮查看。
我们直接到Dify的Chatflow选项,然后创建空白应用。

接着起个名称,描述部分自己看着填,接着点击创建。

默认会有3个节点。第一个是用户输入选项,第二个是LLM,第三个输出的回复。

2.2 如何链接我们问答库
这里有两种方式:
第一种是在Dify的知识库中将前面的Notion笔记链接过来,然后插入【知识检索】节点。但是这种方式一方面问答的检索能力非常差,给用户的回答乱七八糟,很难调整。另一方面后面的问答资料如果修改不能及时反应。
第二种是直接用【Http请求】节点连接到我们的Notion笔记,这种的回答效果要好很多,而且随时更改笔记,随时更新。
2.3 HTTP 节点:实时读取 Notion
接下来就教大家第二种方法。
我们在用户输入和LLM节点之间添加一个HTTP请求的节点。
接着需要到Notion去申请一个API。
- 登录 Notion Developers 页面。
- 点击 “+ New integration”(新集成),创建一个新的集成。
- 设置名称并选择关联的工作空间。
- 在 “Secrets” 栏中点击 “Show”,复制生成的 Internal Integration Token(这就是你的 Bearer Token)。
然后再回到你的Notion笔记,将地址栏的 notion.so/ 后面那一串 32 位的字符记下来。
2.4 在 Dify 中配置 HTTP 请求节点
回到Dify,打开Http请求节点的编辑框。
- API,选择Get。输入以下格式(用于获取页面内容块):
https://api.notion.com/v1/blocks/你的PageID/children - HEADERS配置:必须添加以下两项,否则会报错:
- Authorization:填入 “
Bearer 你的内部集成密钥API”。 - Notion-Version:填入
2022-06-28。
- Authorization:填入 “
- BODY:None。
- 其他默认即可。
2.5 代码执行
为了让 LLM 能够读懂提取到的内容,我们还需要添加一个【代码执行】的节点,将【HTTP请求】的内容转化一下。

代码执行节点参数设置:
- 输入变量:添加一个名为
notion_json的变量,绑定到 HTTP 请求的body。 - Python 代码:将下面的代码复制粘贴到PYTHON3里面。
- 输出变量:
result的String - 其他默认。

import json
def main(notion_json: str):
try:
data = json.loads(notion_json)
text_list = []
# 遍历 Notion 每一个内容块
for block in data.get('results', []):
block_type = block.get('type')
if not block_type:
continue
# 提取该块中的富文本数组
block_data = block.get(block_type, {})
rich_texts = block_data.get('rich_text', [])
if rich_texts:
# 拼接同一行中的文字(处理加粗、链接、颜色等格式)
line_text = "".join([rt.get('plain_text', '') for rt in rich_texts])
# 根据不同类型加上简单的格式修饰,帮助 AI 理解结构
if block_type.startswith('heading'):
text_list.append(f"\n【标题】{line_text}")
elif block_type == 'bulleted_list_item':
text_list.append(f"· {line_text}")
elif block_type == 'numbered_list_item':
text_list.append(f"- {line_text}")
else:
text_list.append(line_text)
result_text = "\n".join(text_list)
return {
"result": result_text if result_text else "读取成功,但页面似乎没有文字内容"
}
except Exception as e:
return {"result": f"代码执行解析出错: {str(e)}"}
2.6 LLM 节点
模型就选择合适的,处理文本不需要太强的模型,便宜点的就可以。

System就是你给AI的Prompt提示词,下面是我的提示词,大家可以参考。

记忆部分记得开启,其他参数默认。

接着就是结果输出。
第三步. 测试和其他功能
等这个工作流创建好之后记得测试一下,预览和运行都可以看到效果。

除此之外,在Dify的功能里还可以添加其他功能,比如文件图片上传,开场对话等。(前提是你的AI大模型支持处理)

第四步. 集成到网站
4.1 嵌入网站
Dify提供了集成到网站的代码,打开发布下面的【嵌入网站】就可以看到。选择合适的样式,然后复制代码,粘贴到网站上就可以了。(可以放到Wpcode里)

4.2 API+AI定制
点击左边的图标,有个后端服务API,创建API密钥,然后把密钥和API访问凭据发给Gemini或其他AI大模型,让它帮你定制个样式就可以了。

五. 如何查看对话记录
到工作流中有个日志与标注,这里面记录了所有的对话信息,可以点开查看,针对一些没有提及的问题可以及时补充。

其他建议
① 如果你的答疑文档内容比较多,建议可以将资料按照问题归类成多个Notion笔记,然后在【用户输入】后面加个【问题分类】或【条件分支】的节点,先将用户的问题归类,后面再调用对应的文档,可以省不少Token。
② 在 Prompt 设置中,当 AI 无法解决时,自动弹出你的 WhatsApp 链接或微信二维码。
③ 使用 Chatwoot 等开源工具,将 Dify 集成进去。平时由 AI 回复,当你在后台点击“接入”时,AI 自动静默,由你真人打字回复。
AI 客服不是为了完全取代人,而是为了筛选掉那 90% 的无效咨询。把基础工作交给AI,把宝贵的时间留给真正的意向客户。
© 文章版权归白小菌所有,🫰欢迎转发分享。未经允许请勿抄袭转载。













