前言
Notion Worker 剛發布,我在第一時間就上手試了。
先說背景。我的部落格基於 Vercel 部署,內容存在 GitHub 倉庫裡,文章格式是 MDX。以前寫文章是在 Cursor 裡完成的,藉助 AI 處理格式轉換和 Git 提交,流程本身不麻煩。但有一個一直讓我不舒服的地方:我得在 Cursor 裡寫東西。 Cursor 是為寫程式碼設計的,不是為寫文章設計的。對著 MDX 原始碼寫長文,排版看不出效果,內容和格式混在一起,體驗始終差了一截。
Notion 才是我更習慣的創作環境。所以我一直在想,有沒有辦法把寫作留在 Notion,只讓發布動作去找 GitHub?
Worker 的出現剛好解決了這個問題。這篇文章記錄的就是我拿它搭建部落格發布工具的過程——Worker 是什麼、我怎麼用的、體驗如何。
Worker 是什麼,和 MCP 有什麼不同
如果你關注 Custom Agent 的最新動態,可能已經知道 Agent 現在可以透過 MCP 連接不少第三方工具了。Notion 官方預置了 Stripe、GitHub、Figma、Linear、HubSpot、Sentry 等十幾個 MCP 伺服器,點幾下就能接入。我自己的 Stripe 訂單助手就是透過 MCP 拉取發票資料的,不需要寫任何程式碼。除了預置服務,你還可以接入自訂 MCP 伺服器,理論上幾乎能連接任何外部工具。
那 Worker 存在的意義是什麼?
簡單來說,MCP 是「用別人搭好的橋」,Worker 是「自己造一座橋」。
MCP 開箱即用,但你只能使用伺服器提供的那些工具,呼叫方式和回傳格式都是別人定義好的。如果你想做的事情恰好沒有現成的 MCP 伺服器支援,或者現有工具不能完全滿足需求,那就需要 Worker 了。
Worker 讓你用自己寫的程式碼來定義工具的行為——精確控制發什麼請求、傳什麼參數、怎麼處理回傳結果。比如我的 publishBlogPost,需要把 MDX 內容透過 GitHub API 的 Base64 編碼寫入到指定路徑,這個邏輯用 MCP 做不到,但用 Worker 寫幾十行 TypeScript 就搞定了。
目前 Worker 還處於 alpha 階段,官方在 GitHub 倉庫裡明確寫了「extreme pre-release alpha」。Alpha 期間免費使用,正式版的計費策略還沒有公布。
我用 Worker 做了什麼
搭建
Notion 官方提供了一個 workers-template 範本倉庫,專案結構很簡單,自帶一個 sayHello 的範例工具。我先把範例跑通——寫程式碼 → 部署 → 在 Notion 裡讓 Agent 呼叫 → 成功回傳結果。整個流程大概一個多小時,主要時間花在環境設定上。
核心工具是 Notion 的 CLI ntn,主要就這幾個命令:
npm i -g ntn # 安裝 CLI
ntn login # 登入 Notion
ntn workers deploy # 部署程式碼
ntn workers env set KEY=value # 設定環境變數部落格發布工具:publishBlogPost
確認機制可用後,我把 sayHello 替換成了真正要用的工具:publishBlogPost。它做的事情很直接——接收 Agent 傳過來的檔案名稱、MDX 內容和 commit message,透過 GitHub API 把檔案建立到部落格倉庫的 content/blog/ 目錄下,Vercel 偵測到新提交後自動部署上線。
用這個工具成功發布了第一篇文章——之前寫的一篇 Custom Agent 解讀文章。從在 Notion 裡寫完到文章上線,不需要開啟任何編輯器,不需要手動 Git 操作,Agent 一條龍搞定。
體驗變化
對我來說,最大的變化不是發布流程,而是創作環境。以前在 Cursor 裡,AI 幫我做了格式轉換和 Git 操作這些髒活,流程本身並不費力。但整個創作過程都得發生在程式碼編輯器裡——對著 MDX 原始碼寫長文,frontmatter 和正文混在一起,想回頭看一眼全文效果,體驗就是差了那麼一截。
現在寫作完全回到了 Notion,格式轉換和發布交給 Agent 和 Worker。
這裡有一個很重要的分工:Agent 負責格式轉換(Notion → MDX),Worker 只負責送到 GitHub。 Worker 本身不做任何內容處理,它就是一個搬運工,接收三個參數然後往 GitHub API 發請求。部落格格式要求變了,改 Agent 的指令;GitHub API 有變動,改 Worker 的程式碼。兩邊互不干擾。
接下來想做的事
Worker 打通了「Agent 呼叫外部 API」這條路,擴展空間很大。我列了幾個方向:
- 支援更新已有部落格文章:給 publishBlogPost 加上 SHA 參數,讓它能修改已發布的內容,而不是只能建立新檔案
- 查詢網站流量:呼叫 Umami API,讓 Agent 告訴我今天有多少訪客、哪些頁面最熱門
- 發訊息到 Discord:透過 Webhook 給頻道推通知,比如文章發布成功後自動發一則訊息
- 查詢 VPS 狀態:磁碟、記憶體、CPU 使用情況,不用再 SSH 上去看了
這些工具的實作思路都差不多——寫一小段 TypeScript,呼叫對應的 API,部署上去就能用。
寫在最後
Custom Agent 已經很強了——MCP 讓它能連接主流第三方工具,Slack、Mail、Calendar 的整合也到位了。但總有一些場景是現成工具覆蓋不到的,Worker 補的就是這塊。Agent 負責思考和協調,MCP 負責連接主流服務,Worker 負責填補剩下的縫隙。三者配合起來,能做的事情比單獨看任何一個都要多得多。
從「在程式碼編輯器裡寫文章」到「在 Notion 裡寫文章,然後讓 Notion 幫我發布」——這個轉變背後意味著 Notion 正在從一個「你用來記錄和管理的地方」向「你用來執行和交付的地方」演進。
Worker 還在 alpha 階段,但核心機制已經跑通了。如果你也在用 Custom Agent 並且想讓它做更多客製化的事情,現在就可以試試。免費的 alpha 期沒有任何成本,值得花點時間探一探路。
Agent 和 Worker 能幫你自動化許多事,但前提是你的 Notion 裡有清晰的結構讓它們運作。如果你正在煩惱怎麼整理任務、筆記和專案,可以看看我做的 FLO.W 模板——一套從零搭好的管理系統,也是我自己每天在用的工作流基底。




