ChatGPT For ChatBot Feishu,快速将 ChatGPT 接入飞书,基于 OpenAI 官方接口,作为私人工作助理或者企业员工助理
原项目地址:https://github.com/whatwewant/chatgpt-for-chatbot-feishu
预览
功能支持
- 支持长对话,自动联系上下文
- 支持私人对话
- 支持群聊
- 支持 @ 机器人回复
- 也支持命令(
/chatgpt
)触发,格式:/chatgpt 你的问题
- 支持自定义 OpenAI 模型
- 支持自定义语言(请查看高级配置)
- 支持自定义上下文(请查看高级配置)
- 支持 Docker
- 支持配置启动反向代理
- 支持二次开发,快速接入企业现有应用
- Go 开发框架
- Go-Zoox
- Gin
- Echo
- Go-Zero
- Go 开发框架
高级指令
- 模型
- 获取当前会话模型:
/model
- 设置当前会话模型【需管理员】:
/model <model>
,例如设置 GPT-4/model gpt-4
- 获取当前会话模型:
项目特点
- 基于 OpenAI GPT3 接口,使用 ChatGPT Client
- 通过 ChatBot-Feishu 将 ChatGPT 接入飞书
- 支持 本地环境、Docker 多种渠道部署
部署方案
# 基于服务端管理框架 Zmicro,自动安装缺失依赖,使用 Zmicro Service,底层容器使用 Docker
# 执行下面脚本,并按提示操作,填写飞书 APP ID/Secret 和 OpenAI API Key
# 更多用法,注意看提示
$ curl -fsSL https://raw.githubusercontent.com/zmicro-design/service-chatgpt-for-chatbot-feishu/master/install -o /tmp/install.sh && bash /tmp/install
.sh
高级环境配置(可选)
API_PATH
: 自定义 WebHook 路径
ENCRYPT_KEY
: 飞书事件密钥
VERIFICATION_TOKEN
: 飞书 Challenge 校验 Token
SITE_URL
: 自定义域名地址
OPENAI_MODEL
: 自定义 OpenAI 模型
FEISHU_BASE_URI
: 私有部署飞书地址
CHATGPT_CONTEXT_MESSAGE
: 自定义上下文消息
CHATGPT_LANGUAGE
: 自定义机器人初始语言,默认是英文,如需中文(ZH_CN)
TUNNEL_ENABLE
: 启用 Ngrok
TUNNEL_TYPE
: 指定隧道类型,可选项:ngrok | cpolar
AUTH_TOKEN
: 付费用户 Auth Token
SUBDOMAIN
: 指定固定子域名
LOGS_DIR
: 自定义日志目录
ADMIN_EMAIL
: 管理员企业邮箱
OFFLINE_MESSAGE
:离线自动回复内容
飞书应用配置和 OpenAI 相关步骤
新人推荐先看飞书开放平台文档: 飞书如何开发企业自建应用
S1. 获取 OpenAI 的 API Key
S2. 创建 飞书 机器人
- 前往开发者平台创建应用,并获取到 AppID 和 AppSecret
- 前往
添加应用能力
=>机器人
, 创建机器人 - 从cpolar或者serverless获得公网地址,在飞书机器人后台的
事件订阅
板块填写。例如,http://xxxx.r6.cpolar.top
为cpolar暴露的公网地址- 事件默认 API 路径是:
/
, 支持自定义路径,例如设置环境变量API_PATH
为/webhook/event
- 最终的回调地址为
http://xxxx.r6.cpolar.top/
- 前往
事件订阅
添加下列回调事件- 接收群消息:
im.message.receive_v1
- 消息撤回:
im.message.recalled_v1
- 机器人进群:
im.chat.member.bot.added_v1
- 机器人被移出群:
im.chat.member.bot.deleted_v1
- 接收群消息:
-
前往
权限管理
添加以下权限-
获取与发送单聊、群组消息:
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
-
[可选] 获取用户信息(如果设置管理员 ADMIN_EMAIL 则必须):
contact:contact:readonly_as_app
-
S3. 发布版本,等待企业管理员审核通过
-
更多飞书配置可参考 Leizhenpeng/feishu-chatGpt、bestony/ChatGPT-Feishu 文档