/
CATEGORY
數位筆記生活
/
用 Zapier 自動將訂閱的文章摘要後,發布到 Obsidian

用 Zapier 自動將訂閱的文章摘要後,發布到 Obsidian

MUKI AI Summary

Zapier 自動化工具可將訂閱的 RSS 文章摘要,翻譯成中文後發佈到 Obsidian 的 Capture 資料夾。Zapier 使用 Webhook 解決不支援新增 markdown 文件的問題。需準備 Zapier.com、Ngrok.com 和 Obsidian 的 Local REST API 插件。

Zaps 流程包括接收 RSS、用 ChatGPT 摘要文章、翻譯標題、調整時間格式,並透過 Webhook 發佈到 Obsidian。需安裝 Ngrok 以曝光本機 API,讓 Zapier 連接。測試成功後,可在 Obsidian 資料夾看到檔案。免費版 Zapier 有限制,可能需考慮付費方案和主機服務。...

Zapier 自動化工具的厲害之處,相信大家都知道了,我其實不太需要自動化的情境應用,最近終於硬給我想到了一個使用情境 XXD,就是我想將我訂閱的 RSS 的文章摘要,翻譯成中文後發佈到 Obsidian 的 Capture 資料夾,幫助我整合文章。

其實 Zapier 還蠻好上手的,我也是昨天才剛接觸就已經把整個流程做好了。

唯一困難的地方,就是 Zapier 其實並不支援新增 markdown 文件,又或者有但我沒找到這個服務,總之我自己試了一圈,不管是在 Google Drive 或 Dropbox 新增檔案,最後我是用 Zapier 的 Webhook 解決,但中間的過程有點多,要準備的工具也不少,所以特地寫一篇文章記錄一下。

要準備的工具

我們用會到這些網站、服務與 Obsidian plugin

  • Zapier.com:自動化工具
  • Ngrok.com:將你本機的 API Sever 曝光,讓外網連得到。
  • Local REST API:Obsidian 的 plugin,替 Obsidian 提供了 REST API。

我的 Zaps

這是我建的一個 Zaps,總共有 5 個 steps

前面提過,建立 Zapier 的自動化流程並不困難,所以這邊就快速紀錄每個 Steps

Steps1. 接收 RSS

使用的 APP:RSS by Zapier

▼ Event 選擇 New Items in Multiple Feeds,可以一次塞多個 Feeds,共用一個流程

Steps2. 用 ChatGPT 摘要文章

使用的 APP:ChatGPT

我的 Event 選的是 Conversation,可以設定比較多的參數,也能在 Actions 的 Assistant Instructions 寫比較完整的提示詞

以下是我用的提示詞,是從雷蒙三十的 Readwise Reader 更新:中文 AI 摘要、自訂 Ghostreader prompts 修改過來的:

用正體中文總結文章內容,不能超過 500 個中文字,每句話應該簡潔易讀;回覆時在中文和英文或數字之間,要有一個半形空白,例如:Apple 手機;3 個 AI 工具。

"""
標題:{{title}}

{#- 下面的 if-else 邏輯檢查文檔的長度。如果文檔較長,它將使用關鍵句子以避免超出 GPT 提示窗口的限制。我們強烈建議除非您知道自己在做什麼,否則不要更改此設置。-#}
{% if (document.content | count_tokens) > 2000 %}
{{content}}
{% else %}
{{raw_content}}
{% endif %}
"""

在文章總結下方換行後,基於本文重點,請創建 3 個有關問題及其答案。每個問題應能幫助深入理解文章的關鍵概念,並加強對重點的印象。請注意,在問題的這一行上,使用粗體的 markdown 格式讓文字更顯眼,排版要遵守在中文和英文或數字之間,要有一個半形空白。

{#- 創建問答 -#}
** 問題 1:{# 基於重點內容構建的問題 #} **
答案:{# 對應問題 1 的答案,應該包含對應的重點內容 #}

** 問題 2:{# 同上 #} **
答案:{# 對應問題 2 的答案,應該包含對應的重點內容 #}

** 問題 3:{# 同上 #} **
答案:{# 對應問題 3 的答案,應該包含對應的重點內容 #}

Step3. 翻譯標題

使用的 APP:Translate by Zapier

我會需要將標題翻譯成中文,是因為想將它做成 markdown 的檔名,這部分就見仁見智,你如果喜歡英文不一定要翻譯。不過假設要翻譯,可以試試 Translate by Zapier,我覺得他翻的就很棒了。

Step4. 調整時間格式

使用的 APP:Formatter by Zapier

▼ 我在 Obsidian 新增文件時,有一個固定的 yml 屬性叫做 created

我希望透過 Zapier 新增的文章,也能維持這個時間格式,所以可以先透過 Formatter by Zapier 幫我格式化。

▼ 我要轉換的是文章發佈的原始時間,另外 timezone 記得選你要的時區,不然預設是 UTC+0

Step5. 透過 Webhook 發佈到 Obsidian

最後一步,也是最重要的一步,我們要將前面整合好的內容透過 REST API 發佈到 Obsidian。

請先確認你已安裝了 Obsidian 的 Plugin:Local REST API

▼ 打開外掛會看到以下畫面,等等需要用到的資料,我有用紅框處標記起來

參考上圖,發現 HTTP API URL 是 http://127.0.0.1,這組 ip 是你的本機,其他人是無法使用這個網址連進來,就連 Zapier 也不行,所以我們要將這一整組網址 http://127.0.0.1:27123 透過 ngrok 暴露出去,讓 Zapier 可以使用。

安裝 ngrok 很簡單,有用 brew 更簡單:

brew install ngrok/ngrok/ngrok

使用 Windows 的朋友,也可以直接下載 ngrok.exe,打開後輸入指令就行了。

安裝好 ngrok 要先輸入 authtoken,可以從 ngrok 的 Your Authtoken 頁面取得,打開你的 terminal 或 ngrok.exe,輸入以下指令:

ngrok authtoken <你的token>

再輸入我們要曝光的網址與 port,因為網址預設為本機,所以在這裡只需要輸入 port 即可:

ngrok http 27123

▼ 成功後會出現以下畫面,請不要關閉視窗,你必須同時保持電腦與畫面打開的狀況下,Zapier 才能順利連到 Obsidian REST API

回到 Zapier,使用的 APP 工具為 Webhooks by Zapier,特別要注意的是,Event 要選 Custom Request 才能滿足我們的需求唷。

我要做的動作是新增文章,可以透過 Obsidian REST API 的 Swagger 文件,知道新增文章的 api url 是 /vault/{filename} 以及 method 為 put,將他填在 Webhooks by Zapier 的 Actions 裡

▼ url 開頭就是剛剛透過 ngrok 的曝光網址:https://xxxxxx.ngrok-free.app。另外還有一個重要的設定,為了防止格式跑版,請將 Data Pass-Through 設為 false

▼ Data 欄位就是你的 Obsidian 筆記內容,照平常的格式撰寫即可

▼ Heasers 要填兩組資料,每一組都有兩個欄位要寫

第一組:

第一個欄位填寫 Authorization

第二個欄位填寫剛剛在 Obsidian REST API 外掛看到的 API Key,畫面如下

填寫的欄位內容為 Bearer <API key> 的格式,記得 Bearer 和你的 API key 中間要有一個空白,此外不需要換行。

# 假設 API key 為 43d3939203r203202032022
# 那欄位內容就會是:
Bearer 43d3939203r203202032022

第二組:

第一個欄位寫 Content-Type

第二個欄位寫 text/markdown

▼ 完成後會跟下圖一樣。Headers 預設只有一組資料,你可以紅框處的「+」新增多組資料進行填寫

測試

最後來測試看看有沒有成功吧~,如果一切順利,你就能在自己的 Obsidian 資料夾裡看到檔案囉。

假設沒有成功,請先檢查以下步驟:

  1. ngrok 伺服器有沒有開啟
  2. API 網址有沒有寫錯
  3. Headers 的 Authorization 格式有沒有寫錯

通常都會是在 Webhook 這一端發生問題,但如果你有在 Zapier 進行測試,他都會給出詳細的錯誤訊息供你排查,根據錯誤訊息修正就可以了。

小結

這樣玩的最大缺點,應該就是燒錢.... 😂

Zapier 的免費版額度是 2 個 steps,而我是昨天新申請的帳號,有 14 天的 Pro 試用期,才能用到 5 個 steps,而處理文章還用到了 OpenAI 的 API key,也是燒燒燒。

此外還有 ngrok 服務,所以電腦要 24小時開機,如果不是固定 ip 的話,還要經常重設 ngrok,所以是麻煩加上麻煩 XD。

但如果這樣的自動化流程,對你的工作或生活有幫助,你也確定想要用的話,也許可以考慮付費 Zapier,並購買像 Linode 這樣的主機服務,就不用開著自己的電腦啦。

歡迎給我點鼓勵,讓我知道你來過 :)

4
MUKI says:

如果文章有幫助到你,歡迎分享給更多人知道。文章內容皆為 MUKI 本人的原創文章,我會經常更新文章以及修正錯誤內容,因此轉載時建議保留原出處,避免出現版本不一致或已過時的資訊。

本文地址:https://muki.tw/zapier-rss-feed-chatgpt-to-obsidian/ 已複製

Subscribe
Notify of
guest

0 則留言
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Copyright © since 2008 MUKI space* / omegaSS theme All Rights Reserved.