飞书集成 ChatGPT 机器人:从零开始的详细配置指南

7

飞书集成 ChatGPT 机器人:详细步骤与配置指南

在日常办公协作中,飞书作为一款强大的沟通工具,集成 AI 技术能够显著提升工作效率。本文将详细介绍如何在飞书中创建并配置 ChatGPT 机器人,实现智能对话功能。通过本文,您将学习如何克隆项目、配置参数、进行内网穿透以及进行权限设置,最终成功搭建一个可交互的 ChatGPT 机器人。

环境准备

在开始之前,请确保您的系统已安装以下环境:

  • Git: 用于克隆 GitHub 上的项目代码。
  • Go (版本 1.20 或更高): 用于运行 feishu-chatgpt 项目,这是一个 Go 语言编写的项目。

1. 创建飞书应用

  1. 注册飞书账号: 如果您是首次使用飞书,请先注册一个个人账号。

    注册飞书账号

  2. 创建企业自建应用: 登录飞书后,创建一个“企业自建应用”,这将是 ChatGPT 机器人运行的基础。

    创建企业自建应用

  3. 设置机器人信息: 为您的机器人设置名称、描述、图标和颜色。这些信息将展示在飞书界面中,方便用户识别。

    设置机器人信息

  4. 添加机器人能力: 创建成功后,为机器人添加所需的能力,例如接收消息、发送消息等。

    添加机器人能力

2. 克隆 feishu-chatgpt 项目

feishu-chatgpt 项目集成了飞书调用 ChatGPT 的功能。以下是在 Windows 系统中使用 PowerShell 克隆项目的步骤:

  1. 克隆项目: 在您选择的目录下,使用 Git 克隆项目。

    git clone https://github.com/Leizhenpeng/feishu-chatgpt.git

    克隆项目

  2. 进入 code 目录: 克隆完成后,进入 feishu-chatgpt/code 目录。

    cd feishu-chatgpt/code
  3. 修改配置文件名称:config.example.yaml 重命名为 config.yaml

    mv config.example.yaml config.yaml

3. 配置 config.yaml 文件

code 目录下,找到 config.yaml 配置文件,并进行编辑。

config.yaml 文件

  1. 配置飞书参数:

    • APP ID 和 App Secret: 在飞书应用的管理后台可以找到这两个参数,复制并填写到配置文件中。

      飞书 APP ID 和 App Secret 复制飞书参数 填写飞书参数

    • APP_ENCRYPT_KEY 和 APP_VERIFICATION_TOKEN: 在飞书应用的“事件与订阅”页面可以找到这两个参数。如果 APP_VERIFICATION_TOKEN 未开启,点击刷新即可。

      飞书事件与订阅 刷新 APP_VERIFICATION_TOKEN 填写 APP_ENCRYPT_KEY 和 APP_VERIFICATION_TOKEN

  2. 配置 OpenAI 参数:

    • OpenAI API Key: 前往 OpenAI 官网获取 API Key,或使用免费的测试 Key。将 Key 值填写到配置文件中。

      OpenAI API Key

  3. 配置代理 (可选): 如果您的设备需要使用代理才能访问 ChatGPT 接口,请在配置文件中设置代理。

    配置代理

4. 运行 feishu-chatgpt 项目

  1. 设置 Go 代理: 为了防止下载依赖包失败,设置 Go 的国内代理。

    go env -w GOPROXY=https://goproxy.cn,direct
  2. 运行 main.go 文件: 启动项目。

    go run main.go

    确保在 feishu-chatgpt/code 目录下执行命令。启动后,会显示服务运行的端口号,默认为 9000

    运行 main.go

5. 安装 cpolar 内网穿透

由于飞书机器人需要访问外网地址,我们需要使用内网穿透工具将本地服务映射到公网。这里使用 cpolar 内网穿透工具。

cpolar 官网:https://www.cpolar.com/

  1. 注册 cpolar 账号: 访问 cpolar 官网,注册一个账号。

  2. 下载并安装 cpolar 客户端: 下载并安装 Windows 版本的 cpolar 客户端。

    下载 cpolar 客户端

  3. 登录 cpolar Web UI: 安装成功后,在浏览器中访问 http://localhost:9200,使用 cpolar 账号登录。

    cpolar Web UI

  4. 创建隧道: 在 cpolar Web UI 中,创建一个 HTTP 隧道,指向本地的 9000 端口。

    • 隧道名称:自定义。
    • 协议:HTTP。
    • 本地地址:9000。
    • 域名类型:免费选择随机域名。
    • 地区:选择 China vip。

    创建隧道

  5. 获取公网地址: 隧道创建成功后,在“在线隧道列表”中查看生成的公网地址,并复制。

    获取公网地址

  6. 配置飞书机器人: 在飞书机器人管理后台,填写公网地址,并加上资源路径 /webhook/card,然后点击验证。

    配置飞书机器人

    验证成功后,在 PowerShell 中可以看到打印的日志。

    验证成功日志

6. 固定公网地址 (可选)

由于免费的随机域名会在 24 小时内变化,为了长期使用,建议固定公网地址。这需要将 cpolar 套餐升级至基础套餐或以上。

  1. 预留二级子域名: 登录 cpolar 官网后台,选择“保留二级子域名”,设置一个二级子域名名称,并保留。

    预留二级子域名

    复制二级子域名地址

  2. 配置隧道: 在 cpolar Web UI 中,编辑之前创建的隧道,将域名类型改为“二级子域名”,并填写保留成功的二级子域名。

    编辑隧道 修改隧道信息

  3. 更新公网地址: 更新完成后,查看在线隧道列表,复制新的固定公网地址。

    更新公网地址

  4. 更新飞书配置: 将飞书机器人管理后台中的随机地址替换为固定的公网地址,并保存。

    更新飞书机器人地址

  5. 更新事件订阅地址: 打开“事件订阅”,将公网地址设置进去,并将资源路径改为 /webhook/event,然后保存。

    更新事件订阅地址

7. 机器人权限配置

为了让机器人正常工作,需要配置相应的权限。

  1. 筛选权限: 在飞书应用管理后台,筛选权限,输入 im:message

    筛选权限

  2. 批量开通权限: 批量开通以下权限:

    • im:resource (获取与上传图片或文件资源)
    • im:message
    • im:message.group_at_msg (获取群组中所有消息)
    • im:message.group_at_msg:readonly (接收群聊中@机器人消息事件)
    • im:message.p2p_msg (获取用户发给机器人的单聊消息)
    • im:message.p2p_msg:readonly (读取用户发给机器人的单聊消息)
    • im:message:send_as_bot (获取用户在群组中@机器人的消息)
    • im:chat:readonly (获取群组信息)
    • im:chat (获取与更新群组信息)

    开通权限

    搜索 im:resource 搜索 im:chat

  3. 添加事件: 添加以下三个事件:

    添加事件

8. 创建版本

  1. 创建版本: 在飞书应用管理后台,点击“创建版本”,填写版本信息和更新说明。

    创建版本

  2. 保存版本: 点击保存。

    保存版本

  3. 申请线上发布: 保存成功后,申请线上发布。

    申请线上发布

9. 创建测试企业

为了测试机器人,可以创建一个测试企业。

  1. 创建测试企业: 在飞书应用管理后台,点击“测试企业和人员”,创建一个测试企业。

    创建测试企业

  2. 关联应用: 创建好后,点击“关联应用”。

    关联应用

  3. 切换账号: 切换到测试企业账号。

    切换账号

  4. 查看机器人项目: 切换后,可以看到创建的机器人项目,点击进入。

    查看机器人项目

    状态应为已发布。

    已发布状态

  5. 替换 APPID 和 APP Secret: 在测试企业应用的“凭证与基础信息”中,查看 APPIDAPP Secret,并将 config.yaml 配置文件中的值替换为测试企业的值。

    查看 APPID 和 APP Secret 替换 APPID 和 APP Secret

  6. 重新启动项目: 修改配置文件后,重新启动 main.go 文件。

    重新启动项目

10. 机器人测试

  1. 下载飞书: 下载飞书 App,并选择测试企业账号登录。

    选择测试企业账号登录

  2. 搜索机器人: 在飞书中搜索您设置的机器人名称。

    搜索机器人

  3. 开始对话: 点击机器人,即可进行对话。

    开始对话

    由于是海外接口,机器人回复可能较慢。

    机器人回复

通过以上步骤,您就可以成功在飞书中集成 ChatGPT 机器人,实现智能对话功能,提高工作效率。 请根据实际情况调整配置参数,并确保网络连接畅通,以获得最佳使用体验。