文章目錄
- 前言
- 環境列表
- 1.飛書設置
- 2.克隆feishu-chatgpt項目
- 3.配置config.yaml文件
- 4.運行feishu-chatgpt項目
- 5.安裝cpolar內網穿透
- 6.固定公網地址
- 7.機器人權限配置
- 8.創建版本
- 9.創建測試企業
- 10. 機器人測試
前言
在飛書中創建chatGPT機器人并且對話,在下面操作步驟中,使用到了Git克隆項目,需提前安裝好Git,克隆的項目是Go語言項目,所以需提前安裝Go語言環境。
環境列表
-
Git
-
Go1.20
1.飛書設置
首次注冊飛書,我們可以創建個人賬號
進入后 我們創建一個飛書企業自建項目
然后設置機器人名稱和描述,下面選擇圖標和顏色
創建成功后,添加一下機器人的能力
2.克隆feishu-chatgpt項目
feishu-chatgpt項目集成了飛書調用chatgpt的功能,這邊使用windwos系統 在powershell中使用git克隆項目,選擇目錄,把項目克隆下來
git clone https://github.com/Leizhenpeng/feishu-chatgpt.git
然后進入code目錄
cd feishu-chatgpt/code
修改配置文件名稱
mv config.example.yaml config.yaml
3.配置config.yaml文件
在我們上面clone下來的項目目錄的code文件夾下,可以看到config.yaml
配置文件
打開配置文件,我們可以看到前面兩個參數對應的是飛書上面我們創建項目的APP ID
和App Secret
打開飛書,復制對應的參數
將這兩個參數對應填寫到配置文件中
然后下面還有兩個參數:APP_ENCRYPT_KEY
以及APP_VERIFICATION_TOKEN
同樣在飛書里面,點擊事件與訂閱
,然后我們可以看到
第一個值未開啟,我們點擊刷新即可
然后我們把兩個值分別對應填寫到配置文件中,記得保存
填寫好飛書的參數后,接下來設置配置文件中openAI的參數,我們需要獲取openAI的KEY,可以去openAI官網自己賬號獲取,也可以有一些免費網站獲取測試,如https://freeopenai.xyz/ 這個網站,我們可以獲取一個key,獲取后我們把key值填寫到配置文件中,記得保存文件
打開配置文件,我們可以看到前面兩個參數對應的是飛書上面我們創建項目的APP ID和App Secret
最后,設備需要使用代理,在最后一行配置代理,不配置的話無法訪問chatgpt接口,得不到chatGPT返回的回答
4.運行feishu-chatgpt項目
首次運行會下載相關所需的包,為了防止下載不成功,先設置一下go中的代理,執行下面命令切換國內代理
go env -w GOPROXY=https://goproxy.cn,direct
然后運行main.go文件
,啟動項目,
go run main.go
注意看圖片上面的路徑,一定是在feishu-chatgpt項目的code文件夾下操作,啟動后我們可以看到端口號,端口號為:9000
服務啟動后,接下來我們需要設置飛書機器人連接我們服務的地址,要求我們設置外網地址,不能使用局域網地址。
這里我們用cpolar內網穿透工具將本地9000端口下的服務映射到公網上,它會自動生成返回相應的公網地址,就可以使用這個公網地址設置飛書機器人連接服務,不需要公網IP,不用設置路由器,也不需要公網服務器。
5.安裝cpolar內網穿透
cpolar官網:https://www.cpolar.com/
訪問cpolar官網,注冊一個賬號,然后下載并安裝windows版本的cpolar客戶端。
cpolar內網穿透安裝成功后,在瀏覽器上訪問本地9200端口【http://localhost:9200】,使用cpolar賬號登錄。
點擊左側儀表盤的隧道管理——創建隧道,創建一個http隧道,指向9000端口,就是上面我們運行main.go的服務端口號
- 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
- 協議:選擇http
- 本地地址:9000
- 域名類型:免費選擇隨機域名
- 地區:選擇China vip
點擊創建
隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網地址,然后復制地址
然后打開飛書機器人,我們填寫上面的公網地址,注意,需加上資源路徑/webhook/card
,然后點擊驗證
點擊驗證后沒有任何提示表示成功,我們在powershell中也可以看到打印的日志
6.固定公網地址
由于我們剛剛創建的是免費隨機臨時的隧道,他生成的公網地址會在24小時內隨機變化,不適合作為長期使用的鏈接。所以我們接下來固定這個公網地址。
注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。
登錄cpolar官網后臺,點擊左側的預留
,選擇保留二級子域名
,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱
保留成功后復制保留的二級子域名地址
訪問本地9200端口【127.0.0.1:9200】,登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表
,找到所要配置的隧道,點擊右側的編輯
修改隧道信息,將保留成功的二級子域名配置到隧道中
- 域名類型:選擇二級子域名
- Sub Domain:填寫保留成功的二級子域名
點擊更新
更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了保留的二級子域名名稱,將其復制下來
然后我們打開飛書機器人,把隨機地址換成我們固定的公網地址
,然后點擊保存
然后打開下面的事件訂閱
,同樣把公網地址設置進去,后面的資源路徑改為/webhook/event
,然后點擊保存
7.機器人權限配置
打開權限管理,篩選權限,輸入im:message
然后批量開通如下權限
- im:resource(獲取與上傳圖片或文件資源)
- m:message
- im:message.group_at_msg(獲取群組中所有消息)
- im:messagegroup_at_msg:readonly(接收群聊中@機器人消息事件)
- im:message.p2p_msg(獲取用戶發給機器人的單聊消息)
- im:messagep2p_msg:readonly(讀取用戶發給機器人的單聊消息)
- im:message:send_as_bot(獲取用戶在群組中@機器人的消息)
- im:chat:readonly(獲取群組信息)
- im:chat(獲取與更新群組信息)
搜索im:resource
,開通這個權限
然后再次輸入im:chat
,開通如下兩個權限
然后添加事件,添加如下三個事件
8.創建版本
點擊上面創建版本
,填寫版本信息和更新說明
然后點擊下面保存
保存成功后申請線上發布
9.創建測試企業
點擊旁邊的測試企業和人員,我們創建一個測試企業
創建好后點擊關聯應用
然后我們切換賬號,切換成我們上面創建的測試企業賬號
切換后可以看到我們創建的機器人項目,點擊進去
我們可以看到狀態已經發布狀態
然后我們還要繼續設置最后一步,打開憑證與基礎信息,查看APPID
和APP Secret
這兩個值
然后把上面的兩個值在我們配置文件中替換掉,配置文件使用的是飛書個人賬號的值,現在創建了測試企業號,需改為測試企業號的APPID
和APP Secret
改完后重新啟動即可
10. 機器人測試
下載飛書,打開飛書,登陸的時候選擇我們上面創建的測試企業賬號
然后點擊搜索
輸入chat
,即可看到我們自己設置的機器人,點擊
然后即可進行對話,機器人回復有點慢,因為是海外接口