Dify 1.7.0重磅更新:基于支持OAuth認(rèn)證功能的插件開發(fā)GitHub智能體

前言
Dify是一款開源的大語言模型應(yīng)用開發(fā)平臺(tái),旨在降低AI應(yīng)用的開發(fā)門檻,幫助開發(fā)者和企業(yè)快速構(gòu)建、部署及管理生成式AI應(yīng)用。通過接入Dify的RESTful API,可以將Dify智能體集成到你的業(yè)務(wù)系統(tǒng)。
全新版本Dify v1.7.0 已正式發(fā)布,為插件系統(tǒng)帶來了兩個(gè)關(guān)鍵更新: OAuth認(rèn)證支持與插件自動(dòng)升級策略增強(qiáng),進(jìn)一步釋放Dify的靈活性與穩(wěn)定性。
本文將介紹如下內(nèi)容:
- 插件OAuth認(rèn)證功能介紹
- 基于支持OAuth認(rèn)證功能的插件開發(fā)GitHub智能體
插件OAuth認(rèn)證功能介紹
在此前版本中,開發(fā)者在集成第三方服務(wù)時(shí),通常需要手動(dòng)管理API密鑰,帶來一定的安全風(fēng)險(xiǎn)。而現(xiàn)在,通過OAuth 2.0,Dify的插件可以:
? 支持標(biāo)準(zhǔn)授權(quán)流程,無須暴露用戶憑據(jù)
? 支持refresh token自動(dòng)續(xù)期,保持長期登錄狀態(tài)
? 增強(qiáng)數(shù)據(jù)隱私保護(hù),避免因密鑰泄露帶來的安全隱患
基于支持OAuth認(rèn)證功能的插件開發(fā)GitHub智能體
升級Dify 1.7.0版本
- git pull最新代碼,然后checkout 1.7.0分支代碼
- 進(jìn)入docker目錄
- 復(fù)制.env.example到.env,然后修改CONSOLE_API_URL和PIP_MIRROR_URL
CONSOLE_API_URL: 如果不設(shè)置此值,會(huì)造成因redirect_uri無效造成無法完成OAuth認(rèn)證
PIP_MIRROR_URL: 加速插件python依賴包安裝速度
CONSOLE_API_URL=http://localhost
PIP_MIRROR_URL=https://mirrors.aliyun.com/pypi/simple- 重新創(chuàng)建容器
docker compose down
docker compose up -d安裝設(shè)置GitHub插件
進(jìn)入插件市場,安裝GitHub工具。

選擇GitHub插件,在右側(cè)界面點(diǎn)擊【設(shè)置 OAuth 客戶端】。

在彈出的頁面中,上方顯示了redirect_uri為http://localhost/console/api/oauth/plugin/langgenius/github/github/tool/callback。如何.env沒有設(shè)置CONSOLE_API_URL,此redirect_uri會(huì)顯示為/console/api/oauth/plugin/langgenius/github/github/tool/callback,是一個(gè)無效的URL,造成無法完成OAuth認(rèn)證。

為了獲得Client ID和Client Secret,點(diǎn)擊左下方【Client ID 用于認(rèn)證請求到 GitHub API】,進(jìn)入GitHub創(chuàng)建OAuth app,在【Authorization callback URL】中填入redirect_uri:http://localhost/console/api/oauth/plugin/langgenius/github/github/tool/callback,點(diǎn)擊左下方【Register application】創(chuàng)建應(yīng)用。

在應(yīng)用頁面,點(diǎn)擊【Generate a new client secret】生成Client Secret。

把Client ID和Client Secret復(fù)制到Dify的GitHub插件設(shè)置頁面中,點(diǎn)擊【保存并授權(quán)】,會(huì)彈出授權(quán)頁面,點(diǎn)擊【Authorize】完成授權(quán)。

添加成功后,插件信息中可以看到添加的OAuth。

開發(fā)GitHub智能體
? 創(chuàng)建一個(gè)空白應(yīng)用,類型為Agen
? 添加GitHub工具

- 設(shè)置提示詞
你是一個(gè)github助手,可通過使用工具為用戶解決問題- 模型選擇doubao-1.5-pro-32k

- Agent設(shè)置適當(dāng)調(diào)整最大迭代次數(shù)。Agent完成一項(xiàng)任務(wù)可能需要迭代多次調(diào)用工具,最大迭代次數(shù)設(shè)置過小可能導(dǎo)致無法正常完成任務(wù)。

- 調(diào)試預(yù)覽并發(fā)布應(yīng)用輸入“dify的最新版本”,智能體即可調(diào)用GitHub插件獲取相關(guān)信息并生成回復(fù)。

總結(jié)
本文介紹基于支持OAuth認(rèn)證功能的插件開發(fā)GitHub智能體,通過標(biāo)準(zhǔn)授權(quán)流程,無須暴露用戶憑據(jù)。






























