前言
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 模板——一套从零搭好的管理系统,也是我自己每天在用的工作流底座。




