前言
Dify是一款开源的大语言模型应用开发平台,旨在降低AI应用的开发门槛,帮助开发者和企业快速构建、部署及管理生成式AI应用。通过接入Dify的RESTful API,可以将Dify智能体集成到你的业务系统。
全新版本Dify v1.7.0 已正式发布,为插件系统带来了两个关键更新: OAuth认证支持与插件自动升级策略增强,进一步释放Dify的灵活性与稳定性。
本文将介绍如下内容:
- 插件OAuth认证功能介绍
- 基于支持OAuth认证功能的插件开发GitHub智能体
插件OAuth认证功能介绍
在此前版本中,开发者在集成第三方服务时,通常需要手动管理API密钥,带来一定的安全风险。而现在,通过OAuth 2.0,Dify的插件可以:
• 支持标准授权流程,无须暴露用户凭据
• 支持refresh token自动续期,保持长期登录状态
• 增强数据隐私保护,避免因密钥泄露带来的安全隐患
基于支持OAuth认证功能的插件开发GitHub智能体
升级Dify 1.7.0版本
- git pull最新代码,然后checkout 1.7.0分支代码
- 进入docker目录
- 复制.env.example到.env,然后修改CONSOLE_API_URL和PIP_MIRROR_URL
CONSOLE_API_URL: 如果不设置此值,会造成因redirect_uri无效造成无法完成OAuth认证
PIP_MIRROR_URL: 加速插件python依赖包安装速度
复制- 重新创建容器
安装设置GitHub插件
进入插件市场,安装GitHub工具。
选择GitHub插件,在右侧界面点击【设置 OAuth 客户端】。
在弹出的页面中,上方显示了redirect_uri为http://localhost/console/api/oauth/plugin/langgenius/github/github/tool/callback。如何.env没有设置CONSOLE_API_URL,此redirect_uri会显示为/console/api/oauth/plugin/langgenius/github/github/tool/callback,是一个无效的URL,造成无法完成OAuth认证。
为了获得Client ID和Client Secret,点击左下方【Client ID 用于认证请求到 GitHub API】,进入GitHub创建OAuth app,在【Authorization callback URL】中填入redirect_uri:http://localhost/console/api/oauth/plugin/langgenius/github/github/tool/callback,点击左下方【Register application】创建应用。
在应用页面,点击【Generate a new client secret】生成Client Secret。
把Client ID和Client Secret复制到Dify的GitHub插件设置页面中,点击【保存并授权】,会弹出授权页面,点击【Authorize】完成授权。
添加成功后,插件信息中可以看到添加的OAuth。
开发GitHub智能体
• 创建一个空白应用,类型为Agen
• 添加GitHub工具
- 设置提示词
- 模型选择doubao-1.5-pro-32k
- Agent设置适当调整最大迭代次数。Agent完成一项任务可能需要迭代多次调用工具,最大迭代次数设置过小可能导致无法正常完成任务。
- 调试预览并发布应用输入“dify的最新版本”,智能体即可调用GitHub插件获取相关信息并生成回复。
总结
本文介绍基于支持OAuth认证功能的插件开发GitHub智能体,通过标准授权流程,无须暴露用户凭据。