Dify知识库支持定时全量同步和差异同步两种自动刷新方式:定时全量同步需在设置中启用并配置Cron表达式,每次清空重建索引;差异同步则依赖Webhook、Git或S3等支持变更检测的数据源,通过“同步”按钮旁下拉选择“差异同步”触发,仅处理新增、修改或删除的文档,确保高效实时更新。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify知识库内容随外部数据源变化自动刷新,避免手动上传文件或反复点击同步按钮,确保团队始终查询最新文档。
配置定时全量更新任务
进入Dify控制台→【知识库】→选择目标知识库→点击右上角「设置」图标→切换到「同步设置」页签。
勾选「启用定时同步」,在「同步频率」下拉菜单中选择「每天」、「每周」或「自定义Cron表达式」;若选「自定义」,需输入合法Cron(如 【0 0 * * 1】表示每周一凌晨0点执行】)。
在「同步模式」中必须选择「全量同步」——该模式会清空当前知识库所有已索引的文档片段,重新从数据源拉取全部文件并重新切片、向量化、写入向量数据库。
点击「保存设置」后,系统立即校验Cron格式与数据源连接状态;若数据源未授权或API密钥失效,保存失败且无提示,此时需返回「数据源」页签重新绑定。
接入支持差异同步的外部数据源
方法一:使用Webhook数据源(推荐用于内部系统对接)
在「数据源」→「添加数据源」→选择「Webhook」→填写接收变更通知的URL(例如你自建的文档变更监听服务地址)→启用「增量事件推送」→勾选「仅推送变更文件列表」。
方法二:对接Git仓库(适用于Markdown/Text类文档管理)
添加Git数据源时,在「高级选项」中开启「启用差异检测」→指定分支(如 main)→设置「文件变更检测路径」(如 docs/**.md)→Dify将基于Git commit diff比对前后两次提交的文件哈希值,仅拉取新增、修改、删除的文件。
方法三:使用S3兼容存储(如MinIO、阿里云OSS)
填写Bucket名称与Endpoint后,必须在「同步策略」中选择「基于LastModified时间戳差异同步」→Dify每次同步前会列出对象列表,跳过LastModified早于上次同步时间戳的文件→【注意:OSS需开启Bucket版本控制或生命周期规则,否则可能漏同步覆盖上传的同名文件】。
触发差异化同步的具体操作
第一步:确认知识库已绑定上述任一支持差异同步的数据源,并完成首次全量同步。
第二步:在数据源端完成内容更新(例如Git push新commit / 向S3上传修订后的PDF / 调用Webhook通知接口)。
第三步:返回Dify知识库详情页→点击「同步」按钮右侧小箭头→选择「差异同步」→等待状态变为「同步中」→约10秒后刷新页面,观察「最近同步记录」中类型显示为「incremental」且文档数变动值非零(如 +3, -1)。
这一步不能跳过「选择同步类型」直接点主同步按钮,否则默认执行全量同步——全量同步耗时长、占用向量库写入带宽,且期间知识库仍可查询旧结果,但新查询无法命中刚变更的内容。


















