👁 215 次阅读
如果你正在使用 Dify 搭建 AI 应用,大概率会遇到一个棘手问题:对话记忆怎么持久化? 默认情况下,Dify 的对话上下文在重启或切换会话后就会丢失。这时候,dify-plugin-conversation-memory 插件就成了刚需——它能把对话历史存储到 Cloudflare D1 数据库中,让你的 AI 应用真正拥有”长期记忆”。
但很多朋友在配置这个插件时卡住了,不是找不到参数就是连不上数据库。别急,这篇文章从零开始,带你一步步完成 dify-plugin-conversation-memory 设置,全程细节拉满。
一、dify-plugin-conversation-memory 是什么?
简单说,它是一个 Dify 平台的外部插件,核心功能是将 AI 对话的上下文信息(用户说了什么、AI 回答了什么)以结构化形式存入 Cloudflare D1 数据库。这样即使应用重启、容器重建,对话历史依然可以完整恢复。
- 存储后端:Cloudflare D1(基于 SQLite 的边缘数据库)
- 数据内容:Conversation(会话)和 Message(消息)两张核心表
- 调用方式:通过 REST API 读写对话记录
- 适用场景:聊天机器人、客服系统、AI 助手等需要长期对话记忆的应用
二、准备工作:你需要先搞定这 3 样东西
在 Dify 里配置插件之前,必须先在 Cloudflare 侧完成以下准备。很多人就是栽在这一步——直接跳到 Dify 填参数,结果当然连不上。
1. 获取 Cloudflare Account ID
登录 Cloudflare Dashboard,在右侧侧边栏底部或页面 URL 中就能找到你的 Account ID:
https://dash.cloudflare.com/{你的Account_ID}
直接复制这串 32 位十六进制字符串,保存好。
2. 创建 Cloudflare D1 数据库
在 Cloudflare Dashboard 左侧菜单中选择 Workers & Pages → D1,点击 Create Database:
- 数据库名称随意,比如
dify-conversation-memory - 创建完成后,记下 Database ID(也是一长串十六进制字符)
- 如果你习惯命令行,也可以用 Wrangler:
npx wrangler d1 create dify-conversation-memory
⚠️ 注意:数据库创建后是空的,不用担心,插件第一次运行时会自动建表(Conversation 和 Message 表)。但你也可以手动调用插件的初始化函数来建表。
3. 生成 Cloudflare API Token
这是最关键的一步。在 Cloudflare Dashboard 右上角点击头像 → My Profile → API Tokens → Create Token:
- 选择 “Create Custom Token”
- 权限配置(Permissions)设置如下:
| 资源类型 | 权限 | 说明 |
|---|---|---|
| Account – D1 | Edit | 读写 D1 数据库 |
| Account – Workers Scripts | Edit | 部分版本可能需要 |
- Account Resources 选择 “Include → 你的账户”
- 点击创建,立即复制 Token(关闭页面后将无法再次查看)
三、在 Dify 中安装和配置插件
准备工作完成后,回到 Dify 平台操作。
步骤 1:安装插件
进入 Dify 控制台 → 插件(Plugins) → 点击 从本地安装 或 市场安装,上传 dify-plugin-conversation-memory 的 .difypkg 文件。
如果你还没有插件包,可以前往 GitHub 官方仓库 下载最新 release。
步骤 2:填写配置参数
安装完成后,点击插件进入设置页面,你会看到三个必填字段:
| 参数名 | 填写内容 | 来源 |
|---|---|---|
cloudflare_account_id |
你的 Cloudflare Account ID | Dashboard URL 中获取 |
cloudflare_api_token |
上一步生成的 API Token | API Tokens 页面 |
cloudflare_d1_database_id |
你创建的 D1 数据库 ID | D1 数据库详情页 |
依次填入,保存设置。
步骤 3:初始化数据库(重要!)
很多教程漏掉了这一步。配置保存后,插件不会自动创建表结构。你需要调用一次 初始化接口:
- 部分插件版本在设置页面有 “初始化数据库” 按钮,直接点击即可
- 如果没有按钮,可以通过插件提供的 API 端点手动触发初始化
- 初始化成功后,你可以在 Cloudflare D1 控制台看到新建的
Conversation和Message两张表
步骤 4:验证连接
在你的 Dify 应用中触发一次对话,然后去 Cloudflare D1 控制台查询:
SELECT * FROM Conversation LIMIT 5;
如果能看到新创建的会话记录,恭喜你,dify-plugin-conversation-memory 设置成功!
四、常见问题排查
Q1:保存配置时报错 “Unauthorized”
99% 是 API Token 权限不够。回到 Cloudflare 检查 Token 是否包含了 Account – D1 – Edit 权限。只读权限(Read)是不行的。
Q2:对话没有存进去
检查以下几点:
- 是否执行了数据库初始化?
- Database ID 是否填错(注意不是数据库名称,是那串 ID)
- 插件是否在应用中正确关联?在 Dify 应用的”插件”设置中勾选该插件
Q3:数据存了但读不出来
可能是 conversation_id 没有正确传递。确保你的应用在调用插件 API 时携带了正确的 conversation_id 参数。
五、进阶:用插件 API 构建智能对话记忆
配置完成后,你可以通过插件的几个核心 API 来操控对话记忆:
- 获取对话历史:传入 conversation_id,返回完整的消息记录
- 追加新消息:传入用户输入和 AI 回复,自动归档
- 查询会话列表:获取所有历史会话,做会话管理
结合 Dify 的工作流编排能力,你可以轻松构建一个有”记忆”的 AI 助手——它会记得用户之前的偏好、上下文,甚至跨会话保持一致性。
总结
dify-plugin-conversation-memory 设置的难点不在 Dify 本身,而在于 Cloudflare 侧的准备工作。只要按照本文的顺序——先搞定 Account ID、D1 数据库、API Token 三件套,再到 Dify 里填参数、初始化、验证——基本不会出问题。
如果你在配置过程中遇到任何问题,欢迎在评论区留言,我会逐一解答。
📝 本文由AI辅助生成,内容仅供参考。