Skip to content

miuim/chatgpt-for-chatbot-feishu

 
 

Repository files navigation

ChatGPT For ChatBot Feishu

快速将 ChatGPT 接入飞书,作为私人工作助理或者企业员工助理

预览

功能支持

  • 支持长对话,自动联系上下文
  • 支持私人对话
  • 支持群聊
    • 支持 @ 机器人回复
    • 也支持命令(/chatgpt)触发,格式:/chatgpt 你的问题
  • 支持配置启动反向代理
  • 支持二次开发,快速接入企业现有应用
    • Go 开发框架

项目特点

部署方案

一键部署(推荐)

# 基于服务端管理框架 Zmicro,自动安装缺失依赖,使用 Zmicro Service,底层容器使用 Docker
# 执行下面脚本,并按提示操作,填写飞书 APP ID/Secret 和 OpenAI/ChatGPT API Key
# 更多用法,注意看提示
$ curl -o- https://raw.githubusercontent.com/zmicro-design/service-chatgpt-for-chatbot-feishu/master/install | bash

二进制

# 安装服务器管理框架 Zmicro
$ curl -o- https://raw.githubusercontent.com/zcorky/zmicro/master/install | bash

# 安装 chatgpt-for-chatbot-feishu
$ zmicro package install chatgpt-for-chatbot-feishu

# 准备环境飞书 APP ID/Secret 和 OpenAI/ChatGPT API Key
$ export APP_ID=<YOUR_FEISHU_APP_ID>
$ export APP_SECRET=<YOUR_FEISHU_APP_SECRET>
$ export CHATGPT_API_KEY=<YOUR_CHATGPT_API_KEY>

# 运行
$ zmicro chatgpt-for-chatbot-feishu

Docker Compose

# docker-compose.yaml
version: "3.7"

services:
  chatgpt-for-chatbot-feishu:
  image: whatwewant/chatgpt-for-chatbot-feishu:latest
  ports:
    - 8080:8080
  environment:
    APP_ID: "<YOUR_FEISHU_APP_ID>"
    APP_SECRET: "<YOUR_FEISHU_APP_SECRET>"
    CHATGPT_API_KEY: "<YOUR_CHATGPT_API_KEY>"
# 启动
$ docker-compose up -d

二次开发

# 支持 Go-Zoox 中间件

飞书应用配置和 OpenAI 相关步骤

新人推荐先看飞书开放平台文档: 飞书如何开发企业自建应用

  • S1. 获取 OpenAI 的 API Key

  • S2. 创建 飞书 机器人

    1. 前往开发者平台创建应用,并获取到 AppID 和 AppSecret
    2. 前往添加应用能力 => 机器人, 创建机器人
    3. 从cpolar或者serverless获得公网地址,在飞书机器人后台的 事件订阅 板块填写。例如,
      • http://xxxx.r6.cpolar.top为cpolar暴露的公网地址
      • 事件默认 API 路径是:/, 支持自定义路径,例如设置环境变量 API_PATH/webhook/event
      • 最终的回调地址为 http://xxxx.r6.cpolar.top/
    4. 前往 事件订阅 添加下列回调事件
      • 接收群消息:im.message.receive_v1
      • 消息撤回:im.message.recalled_v1
      • 机器人进群:im.chat.member.bot.added_v1
      • 机器人被移出群:im.chat.member.bot.deleted_v1
    5. 前往 权限管理 添加以下权限
      • 获取与发送单聊、群组消息:im:message
      • 以应用的身份发消息: im:message:send_as_bot
      • 获取用户发给机器人的单聊消息: im:message.p2p_msg
      • 读取用户发给机器人的单聊消息: im:message.p2p_msg:readonly
      • 获取群组中所有消息: im:message.group_msg
      • 获取用户在群组中@机器人的消息: im:message.group_at_msg
      • 接收群聊中@机器人消息事件: im:message.group_at_msg:readonly
      • 获取与更新群组信息: im:chat
      • 获取群组信息: im:chat:readonly
  • S3. 发布版本,等待企业管理员审核通过

更多飞书配置可参考 Leizhenpeng/feishu-chatGptbestony/ChatGPT-Feishu 文档

更多交流

可以创建 Issue 或者加微信,备注来自:ChatGPT-For-ChatBot-Feishu,进入微信群/飞书群沟通

相关资源

About

快速将 ChatGPT 接入飞书,作为私人工作助理或者企业员工助理

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 91.5%
  • Dockerfile 8.5%