flag92 flag92
博客
发布于 Wed Mar 18 2026 08:00:00 GMT+0800 (中国标准时间)
踩坑实战

自部署开源 AI 客服的 10 个常见坑(含修复)

我们整理了过去一年帮团队部署 Chatwoot + Dify / FastGPT 时遇到最频繁的 10 个坑,每个附复现条件和修复方案。

1. Chatwoot 邮件发不出#

症状:注册 / 工单通知邮件全部失败。

原因:默认 SMTP 是 dev 配置;MAILER_SENDER_EMAIL 与认证发件域名不一致。

修复:用 Postmark / SES,确保 MAILER_SENDER_EMAIL 在发件域的 SPF / DKIM 中。

2. Dify 知识库检索回来 0 条#

症状:上传文档后聊天回复「我没有相关信息」。

原因:90% 是 Embedding 维度与向量库冲突——你重新换了模型但没 reset 向量库。

修复:删除知识库重建,或在「设置 → 模型 → Embedding」固定一个模型不再换。

3. AI 回答把内部信息泄露给用户#

症状:AI 回复中出现「根据你的内部 SOP 文档…」。

原因:把内部和外部知识库混在一个 dataset。

修复:两个 dataset 分开。Prompt 加:「只引用 dataset ‘public’ 的内容」。

4. Cloudflare Tunnel 502#

症状:访问域名 502。

原因:容器监听 127.0.0.1 而不是 0.0.0.0

修复:docker-compose 改 ports 或绑 0.0.0.0

5. 知识库每次更新 RAG 效果都变差#

原因:分块策略每次都重选;新文档把旧高质量内容稀释。

修复:固化分块策略,新文档单独建 dataset 跑评估,达标后再合并。

6. 长对话上下文超限#

症状:5 轮后 AI 忘记之前说过什么。

原因:Dify 默认上下文窗口 5 轮;模型上下文也有限。

修复:Dify 调到 15-20 轮,或加「对话摘要」节点。

7. AI 客服首响时间被 LLM 拖垮#

症状:FRT 8-15 秒。

原因:Stream 没开 + Cloudflare 缓冲 + 模型选错。

修复:开 Stream、关闭 Cloudflare Auto Minify / Rocket Loader、首选低延迟模型(Doubao / Groq Llama)。

8. 工具调用「函数找不到」#

症状:Dify Agent 调用工具时报 function not found。

原因:工具 schema 校验失败但报错不明显。

修复:先在 Postman 单独跑工具 endpoint,确认 OpenAPI schema 与 Dify 一致。

9. 客户问敏感问题被 AI 回答#

症状:AI 回答了不该回答的内容(政治、医疗建议)。

原因:Prompt 没加约束 + 没有兜底拦截。

修复:Prompt 显式列禁区 + 加一道关键词预过滤(n8n 节点)。

10. 月底账单暴涨#

症状:LLM tokens 月费突然 3-5 倍。

原因:某个 Workflow 出了死循环;或被 bot 流量灌爆。

修复

  • Dify 给每个应用设月度 token 上限
  • Cloudflare Turnstile 防 bot
  • 设置异常告警(单小时 > X 块)

站内搜索

按 ⌘ K 随时唤起