Dify接入微信

Dify接入微信_第1张图片

本文将指导您通过 LangBot 将 Dify 应用快速接入微信平台,实现在微信生态中部署智能聊天机器人。

前提条件

在开始之前,请确保您已完成以下准备工作:

  1. Dify 应用准备
    • 已在 Dify 平台(官网或私有部署)创建并发布一个应用(支持聊天助手、Agent 或工作流类型)。
    • 获取应用的 API 密钥和 API 服务器地址(通常为 https://api.dify.ai/v1,私有部署需确认具体地址)。
  2. LangBot 环境
    • 已安装 Docker 和 Docker Compose(推荐使用 Docker 部署 LangBot)。
    • 具备基本的 Linux 命令行操作能力(本教程以 Linux 系统为例)。
  3. 微信平台准备
    • 拥有一个微信测试号或企业微信账号,用于测试机器人功能。
    • 熟悉微信的登录流程(如个人微信需扫码登录)。
  4. Python 环境(如不使用 Docker 部署):
    • 安装 Python 3.8 或以上版本。
    • 确保安装 pip 并可访问阿里云镜像源(国内用户推荐)。

步骤 1:部署 Dify 应用

  1. 登录 Dify 平台
    • 使用 GitHub 或 Google 账号登录 Dify 官网(https://cloud.dify.ai/),或访问您的私有部署 Dify 实例。
  2. 创建 Dify 应用
    • 进入 Dify 工作区,选择“从模板创建”或“从空白创建”,根据需求选择应用类型(聊天助手、Agent 或工作流)。
    • 配置应用,例如设置提示词、知识库或工作流节点。完成后点击“发布”并更新应用。
  3. 获取 API 密钥
    • 进入应用的“访问 API”页面,点击“创建密钥”,复制生成的 API 密钥。
    • 记录 API 服务器地址(官网为 https://api.dify.ai/v1,私有部署需确认具体地址)。
  4. 记录应用类型
    • 确认您的 Dify 应用类型(chatbotagentworkflow),后续配置中需要用到。

步骤 2:部署 LangBot

LangBot 是一个支持多平台消息传递的开源框架,可快速将 Dify 应用接入微信、QQ、钉钉等即时通讯平台。以下为部署步骤:

  1. 安装 Docker(若未安装)
    在 Linux 系统上执行以下命令安装 Docker 和 Docker Compose:

    # Debian 系统
    apt update
    apt install -y docker docker-compose-plugin
    
    # Ubuntu 系统
    apt update
    apt install -y docker docker-compose-v2
    

    国内用户需配置镜像源以加速下载:

    echo "registry-mirrors: [\"https://docker.1panel.live\"]" >> /etc/docker/daemon.json
    systemctl restart docker
    
  2. 克隆 LangBot 仓库

    git clone https://github.com/langgenius/langbot.git
    cd langbot
    
  3. 配置 LangBot

    • 在 LangBot 项目根目录下,找到 data 文件夹(首次运行 LangBot 后会自动生成)。
    • 编辑 data/config/provider.json 文件,设置 Dify 服务参数:
      {
        "runner": "dify-service-api",
        "dify_api_base": "https://api.dify.ai/v1",
        "dify_api_key": "your-dify-api-key",
        "dify_app_type": "chatbot"
      }
      
      • dify_api_base:填入 Dify 的 API 服务器地址。
      • dify_api_key:填入步骤 1 中获取的 API 密钥。
      • dify_app_type:根据应用类型填入 chatbotagentworkflow
  4. 配置微信消息平台

    • data/config 目录下,编辑或创建 platform.json 文件,添加微信相关配置:
      {
        "platform": "wechat",
        "settings": {
          "channel_type": "wx",
          "single_chat_prefix": [""],
          "group_chat_prefix": ["@bot"],
          "group_name_white_list": ["ALL_GROUP"]
        }
      }
      
      • channel_type:设置为 wx 表示个人微信,或 wework 表示企业微信。
      • single_chat_prefix:个人聊天触发前缀(空表示直接触发)。
      • group_chat_prefix:群聊触发前缀(如 @bot)。
      • group_name_white_list:允许机器人响应的群聊名称,ALL_GROUP 表示所有群。
  5. 启动 LangBot
    使用 Docker Compose 启动 LangBot:

    docker compose up -d
    

    若不使用 Docker,可直接运行:

    pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
    python3 app.py
    
  6. 登录微信

    • 运行后,控制台会显示一个二维码,使用微信扫描登录(建议使用测试小号,个人微信有封号风险)。
    • 登录成功后,控制台会显示 itchat:Start auto replying.,表示机器人已启动。

步骤 3:测试微信机器人

  1. 发送测试消息
    • 在微信个人聊天或群聊中,向机器人发送消息(群聊需使用 @bot 前缀)。
    • 机器人将通过 Dify API 处理消息并返回响应,响应内容与 Dify 应用测试页面一致。
  2. 验证上下文
    • 如果使用的是 chatbotagent 类型应用,LangBot 会通过 conversation_id 维护对话上下文,支持多轮对话。
    • 工作流类型应用需确保输入变量名为 query,输出变量名为 text

步骤 4:高级配置(可选)

  1. 企业微信接入
    • 若使用企业微信,需在企业微信管理后台创建应用,获取 AgentIdSecret,并在 platform.json 中设置 channel_typewework
    • 参考企业微信官方文档配置消息接收 URL 和 Token。
  2. 工作流模式
    • Dify 支持导入工作流 DSL 文件快速创建复杂工作流。确保工作流输入变量为 query,输出变量为 text
    • provider.json 中设置 dify_app_typeworkflow
  3. 日志与监控
    • 启用 LangBot 的 track-function-calls 选项,可在 Dify 执行工具调用时输出调用日志。
    • 查看 Dify 仪表板中的日志,监控机器人性能和用户交互。

注意事项

  • 安全性:个人微信登录有封号风险,建议使用实名认证的测试小号或企业微信。
  • 依赖安装:国内用户安装 Python 依赖时,建议使用阿里云镜像源以加速下载。
  • 上下文管理:聊天助手和 Agent 应用支持上下文记忆,工作流应用需明确变量配置。
  • 调试:若遇到依赖安装失败,可注释 requirements.txt 中对应行后重试。

你可能感兴趣的:(微信,人工智能,多智能体,智能体,语言模型)