Products
Share to:

每天早上 9点多,我打开手机,飞书里已经有一条消息在等我。
这些都是当天最值得看的 AI 营销内容,来源涵盖我订阅的 Newsletter 和 YouTube 频道,每条带摘要、带链接。


这是一个实现了 Claude 做内容搜索和抓取 + 飞书机器人推送 的小流程。全程我不需要做任何操作。
这个流程搭起来总共做了四件事。
第一件事:飞书机器人配置
想让机器人替你发消息,飞书得先认识它。
在飞书开放平台创建自建应用,获取 App ID 和 App Secret。开通 contact:user.id:readonly 权限并发布版本。通过 API 调试台的 OAuth 授权,调用 /authen/v1/user_info 拿到个人 open_id(格式:ou_xxx)。
这一步相当于在飞书开放平台注册了一个"机器人"身份,并这个机器人办了一张工牌(App ID + App Secret)。然后找到了你的飞书账号 ID,这样机器人就知道要把消息发给谁。
第二件事:写一个「发消息」的小程序
有了身份还不够,还得给机器人一套「行动指南」。
在 ~/Documents/feishu_push_local.py 部署推送脚本,核心逻辑:获取 tenant_access_token → 读取内容文件 → 调用飞书 /im/v1/messages 以 open_id 方式发私信。脚本里硬编码了 open_id,不依赖通讯录权限。
这一步的意思是在的电脑里放了一个脚本文件(feishu_push_local.py),它的工作只有一件事:读取当天的内容文件,然后以机器人的身份把内容发私信给我。
第三件事:给 Mac 设一个「闹钟」
脚本写好了,但谁来定时叫醒它?
在 ~/Library/LaunchAgents/com.xxxxxxx.feishu-daily.plist 配置定时任务,每周一到周五 9:30 am 自动运行推送脚本,日志写入 ~/Documents/feishu_daily.log。
配置了 Mac 的定时器,每周一到周五早上 9:30,Mac 会自动运行上面那个小程序,不需要我手动操作。就像设了一个闹钟,到点自动执行。
第四件事:让 Claude 每天早上去「收情报」
内容从哪来?这是整件事的核心。
用 Claude Cowork 创建一个定时任务,每周一到周五早上 8:00,搜索我订阅的 Newsletter 来源和几个 YouTube 频道,把最新的 AI 营销相关内容整理成摘要清单,每条包含标题、链接和一句话介绍,最后把结果存到我 Claude Playground 文件夹里,以固定名称的 .txt 文件命名。
Claude 把这段描述转成了一个 Scheduled Task,从那天起每个工作日早上自动执行。它会去搜索我订阅的那些 Newsletter、YouTube 频道,把有价值的内容整理成摘要,存到我本地 Claude Playground 文件夹里的一个文件里。
这套流程最终运转的样子
四个部分串在一起之后全自动运行。
我和 Claude 各做了什么
我做的事: 想清楚我要什么(每天收到什么内容、发到哪里)、在飞书后台注册应用拿到凭证、把生成的文件放到正确的位置、激活定时器。
Claude 做的事: 生成 Python 脚本、生成 launchd 配置文件、设置 Cowork 定时任务、在每个步骤告诉我参数在哪里找、出了问题帮我 debug。
整个过程我没有写过任何代码,也没有查过任何 API 文档。
中间踩坑和反复测试的地方
Claude 无法直接写入飞书消息:Cowork 的运行沙箱在网络层面根本无法连接到
open.feishu.cn——这是 Anthropic 对沙箱环境的网络策略限制,定时任务运行时走的也是同一套沙箱网络。
所以我采用的方式是Claude —> 本地 —> 飞书
Open ID 在界面中找不到:飞书个人资料页根本不显示 open_id。我们用的是飞书开放平台的 API 调试台,调用
/authen/v1/user_info接口,通过 OAuth 授权才拿到的,而且中间还失败了好几次(邮箱查询不到、格式搞错等)。macOS 权限问题: Mac 后台定时任务无法访问 Documents 文件夹,导致第一次自动运行失败了。我们最终把脚本移到了 主目录的
feishu-push/里(系统 Python 可以读那里)。
总结
做workflow的过程,总体来说是很有趣的,但说心累也是真的。
和 AI 协作有一个特别地方:它的知识量和解决问题的方式,远超过我能消化的范围。它给你一个方案,你不一定看得懂为什么,但你得照着它的逻辑去测试。跑通了不知道为什么通,没跑通也不一定知道哪里断了。你能做的,就是一遍一遍跑,根据报错再问,再调,再跑。这本身很需要耐心。
More Stories
Check out more of my writing drawn from real experience.







