本文档提供了完整的Slack Bot插件开发指南,包括遍历项目初始化、编辑配置表单、实现功能代码、插件调试、设置Endpoint、效果验证到打包发布的完整流程。需要使用Dify插件脚手架工具和已创建的Slack App以实现在Slack平台上搞建由AI驱动的聊天机器人。
为了避免混乱,现对以下概念作出解释:原理简介:
- Slack Bot 是在 Slack 平台上的一个聊天机器人,可以被视为虚拟角色,你可以与它进行聊天互动
- Slack Bot 插件指的是 Dify Marketplace上的一款插件,用于连接 Dify 应用与 Slack 平台。本文将主要围绕该插件开发展开。
extension
模板,并且授予 Apps
和 Endpoints
两个权限。
如需了解更多关于插件反向调用 Dify 平台能力,请参考反向调用。
group/slack.yaml。
表单配置文件的名称由创建插件时填写的基础信息决定,你可以修改对应的 yaml 文件。
示例代码:
slack.yaml
agent
、chatbot
、chatflow
等类型的 app。
endpoints/slack.yaml
文件中的请求路径和请求方式,需要将 method 修改为 POST 方式。
示例代码:
endpoints/slack.yaml
endpoints/slack.py
文件,并在其中添加下面的代码:
.env.example
文件并重命名为 .env
。
python -m main
命令启动插件。在插件页即可看到该插件已被安装至 Workspace 内。其他团队成员也可以访问该插件。
self.session.app.chat.invoke
调用 Dify 平台内的 App,并传递了 app_id
和 query
等信息,最后将 response 的内容返回至 Slack Bot。运行 python -m main
命令重启插件进行调试,确认 Slack Bot 是否能够正确输出 Dify App 的答复消息。
slack_bot.difypkg
文件,该文件为最终的插件包。关于打包的详细步骤,请参考打包为本地文件与分享。