
1. 整体设计思路为什么我把日报任务交给 WorkBuddy先说结论我从一个“每天手动刷几十个频道看 AI 动态”的苦力活变成了“每天上午十点半等一条微信消息”的坐享其成状态。核心功臣就是我给 WorkBuddy 工作台加的一个定时工作流它负责在后台采集信息、调用大模型做摘录和排序然后把成品推送到微信群机器人。你可能会问这种定时任务不是用 cron 或者写个 Python 脚本也能做吗确实能。我在早期干过类似的事用服务器上的 cron 拉数据、跑一个脚本去调接口再把文本拼成消息发出去。但问题也很明显一旦信息源结构变了脚本就要改一旦新闻多了没人帮我过滤和排序推出来的东西还是垃圾更别提每次调 prompt、改分类逻辑都要改代码。时间一长维护成本比手动刷还高。WorkBuddy 这类 AI Agent 工具解决的正是这个问题。它把整个自动化流程拆成一个个可配置的节点采集、过滤、总结、发送每一步都可以独立调整。尤其是“让大模型参与内容筛选和摘要”这件事传统脚本做起来很别扭但在 WorkBuddy 里只需要拖一个 LLM 节点告诉它“把不相关的删掉、重要的排前面”它就能真的干。对我这种不想写一堆样板代码的人来说这是最核心的吸引力。1.1 我的具体需求拆解在做任何自动化之前我习惯先把需求拆到不能再拆否则后面配置会反复返工。我这次的需求是这样的时间触发每天上午十点半执行一次不能再早因为我想覆盖前一晚到当天的凌晨动态又不想打扰我睡懒觉。数据来源至少要有 3 到 5 个不同渠道包括技术社区热榜、新闻聚合站点、开源项目动态都可以是 RSS 或者公开 API。内容处理去掉重复内容过滤掉明显无关的话题把 AI 相关的内容挑出来。还需要对每条信息生成一句话解读解释“它为什么重要”。输出格式Markdown 格式的简报包含标题、链接、来源、一句话解读整体控制在几百字以内适合在微信里快速扫一眼。推送渠道微信群机器人能稳定收到消息不需要我手动扫码或登录。这些需求听起来简单但每一项在落地时都有细节。比如时间触发你不仅要设对 cron 表达式还要注意执行环境的时区。内容处理也是如果只做关键词匹配你可能会把“人工智能不是泡沫”和“AI 芯片发布”分成两拨漏掉最有价值的深度内容所以必须要有一个 LLM 理解节点。后面我会逐个讲。1.2 WorkBuddy 里的核心概念Trigger、Node、Skill、Workflow如果你第一次接触 WorkBuddy可能对它的几个名词比较懵我先用自己的话解释一下。Workflow工作流一条完整的自动化流水线。它可以被手动运行也可以被定时触发。我的日报任务就是一个 Workflow。Trigger触发器工作流的启动条件。WorkBuddy 里通常有手动触发器、定时触发器、Webhook 触发器等。我用的是定时触发器属于最基础的一种。Node节点工作流里每个具体的执行单元。比如“抓取 RSS”“调用大模型”“发送 HTTP 请求”都是单独的节点。节点可以串联也可以做条件分支。Skill技能一组可以被 Workflow 复用的“能力包”。比如“AI 日报摘要”可以做成一个 Skill包含相关的 prompt 和处理逻辑。多个 Workflow 可以共用同一个 Skill就像代码里的函数一样。这种“节点 触发条件”的模型比我之前用的单纯定时脚本要灵活。因为你可以把一个复杂任务拆成一个个可观测、可独立调试的环节。出了问题直接查看是哪个节点报错不用像脚本一样从头到尾猜。想改动日报的格式只需要调整摘要节点里的 prompt想增加数据源只需要在采集节点加一个 URL想改成每日两次只需要改触发器。这些都是 WorkBuddy 这类 AI 工作流工具给我的直观收益。2. 准备工作搭好“数据源”和“推送通道”很多新手在创建流程时会直接冲进编辑器里拖节点结果配到一半发现没有数据源、没有 webhook又得折返去弄。我建议先把两件基础设施准备好一是内容从哪来二是日报往哪送。2.1 注册 WorkBuddy 并创建项目空间WorkBuddy 的账号创建流程没什么好说的进官网、注册、登录基本是常规操作。登录后先创建一个项目空间把它理解成一个独立的“工作目录”里面可以放多个 Workflow 和 Skill。我一般会按用途命名比如我建的这个叫“每日AI日报”方便以后找。比较关键的是模型配置。WorkBuddy 的 LLM 节点需要绑定一个大模型服务你可以在设置里填 API Key 或者使用平台内置的模型服务。我用的是自己比较顺手的模型温度设成 0.3 左右这样摘要会比较稳定不会每次都换一种说法。如果你有公司内部模型或者本地部署的模型也可以接入这一步按平台文档来即可。2.2 接入 AI 资讯源数据源是日报的地基。我目前挂了四个源两个技术媒体或博客的 RSS 源用来覆盖行业新闻和深度长文一个 GitHub 趋势页面生成的热榜接口用来追踪开源项目一个 API 形式的资讯聚合接口用来补充前两者没有覆盖到的动态。在 WorkBuddy 里我可以在采集节点中定义这些源。以 RSS 源为例配置项大概长这样{ source: rss, url: https://example.com/feed.xml, timeout_seconds: 15, max_items: 20, parse_fields: [title, link, published, summary] }这里我解释一下几个参数timeout_seconds给抓取请求设置 15 秒超时避免因为某个源响应慢而拖垮整个工作流。max_items每个源最多取 20 条防止后续 LLM 节点处理太多内容既费 token 又容易超出模型上下文。parse_fields明确告诉节点要解析哪些字段我只要标题、链接、发布时间和摘要。实际操作时你不需要一开始就接很多源。我先接了一个源跑通后再逐步增加。否则第一版日报很容易出现大量重复或者主题混乱排查起来很痛苦。宁可少而精也别贪多。2.3 获取微信群机器人 Webhook推送这一块我选的是企业微信群机器人。原因很简单它不需要个人微信授权也不用维护长连接只需要往一个 Webhook 地址 POST JSON 数据就能发消息完全符合“定时任务自动推送”的场景。具体获取方式也很快在企业微信里建一个群哪怕只有你自己也要建一个在群设置里找到“群机器人”添加一个机器人创建成功后你会拿到一个以https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key...开头的地址把这个地址保存到 WorkBuddy 的配置项里作为推送节点的目标地址。拿到 Webhook 后我建议先用命令行或者接口调试工具验证一下能不能发消息。比如用 curl 发一条测试消息curl -X POST https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key你的KEY \ -H Content-Type: application/json \ -d {msgtype:text,text:{content:日报流程测试链路已通}}如果返回 JSON 里errcode字段为 0说明发送成功。这一步价值很大如果你先在工作流里配好了 Webhook结果推送报错排除起来会多一层负担。先把基础通道验证好后面在 WorkBuddy 里配置就只是填个地址的事。3. 在 WorkBuddy 里构建日报工作流从 Trigger 到微信消息准备工作做完接下来就是核心环节在 WorkBuddy 里把工作流搭起来。我把整个流程分成四个主要节点定时触发、采集过滤、摘要生成、微信推送。下面逐个拆开讲。3.1 创建定时触发器cron 表达式选型在 WorkBuddy 里新建一个 Workflow然后在触发条件里选“定时触发”。这里要填 cron 表达式。我的需求是“每天上午十点半执行一次”对应的表达式是30 10 * * *如果你的 WorkBuddy 使用六位 cron带秒那就是0 30 10 * * *。这个表达式的意思是分钟为 30小时为 10日期、月份、星期都为*通配符也就是每天执行一次。有个非常容易踩的坑是时区。WorkBuddy 的工作流运行环境可能默认使用 UTC也可能使用你电脑的时区。如果你发现定时没有按本地时间触发或者触发时间差了几个小时多半就是时区没对上。我当时就踩过这个坑设的是上午十点半结果中午才收到消息。后来在 WorkBuddy 的配置里找到时区设置改成Asia/Shanghai才恢复正常。具体路径各版本不同但一定在触发器设置或工作流设置里找一个timezone字段。另外建议在定时触发器里设置一个“失败重试次数”。我个人会设为 3 次每次间隔 5 分钟。因为信息源偶尔会超时或返回 500自动重试能避免日报中断。触发器本身不会做太多智能重试逻辑但这个参数是很多工作流默认支持的。3.2 内容采集与过滤节点控制数据质量采集节点我通常会放两个以上。第一个节点负责抓取所有数据源把原始数据汇总到一个 JSON 数组里。第二个节点才是处理逻辑。WorkBuddy 里支持用模板语法引用上一个节点的输出比如{{nodes.fetch_source.output.items}}采集完之后别急着送去给大模型总结。先做一次规则过滤把明显不需要的内容挡掉。我这里的规则很简单标题或摘要中包含“广告”“招聘”等词组的直接删除发布时间在两小时以内的不保留避免重复抓取时出现半成品新闻对同一个链接去重。这些规则可以在一个“过滤”节点中配置。如果平台支持写表达式我会用类似这样的结构{ filter: { remove_duplicates: link, exclude_keywords: [广告, 招聘, 赠书], min_age_minutes: 120 } }注意规则过滤只能删掉低质量内容不能判断“这条新闻值不值得看”所以后面还需要大模型节点。3.3 日报生成节点用大模型做结构化摘要这个节点是最有意思的。我把它理解成一个“AI 编辑”。它会拿到采集节点整理好的所有条目然后按照我给的规则输出一份干净的日报。在 WorkBuddy 里这个节点通常叫“LLM 调用节点”或“AI 节点”。我需要做两件事设置输入内容、设置 prompt。输入内容就是上一步的 JSON 数组我通常用模板变量引入比如{{nodes.filter.output.filtered_items}}Prompt 我写得很详细因为大模型不吃“帮我总结一下”这种模糊指令。我用的 prompt 模板大致是你是我的 AI 资讯编辑。下面是在同一时间段内从多个渠道收集到的原始条目内容可能重复也可能包含无效信息。 请按照以下步骤处理 1. 删除重复条目和与 AI 无关的内容 2. 对剩余的条目做重要性排序最多保留 10 条 3. 每条用一句话说明为什么值得关注语言要简洁直白不能空泛 4. 使用 Markdown 格式输出等会儿我直接贴在微信里所以不要附加解释和评论。 输出格式 **序号. 新闻标题**来源—— 一句话解读。链接附在后面。 原始条目 {{filtered_items}}关于输出长度我还会在 prompt 最后加一句“总字数控制在 500 字以内”因为微信推送有长度限制。这个句子听起来不起眼但它能避免模型一次性输出几千字导致推送失败。温度参数我会设在 0.3 左右。如果温度太高每天日报的风格会漂移设低一点输出更稳定。另外我会在模型节点的设置里打开“JSON 模式”或“结构化输出”开关如果平台有确保拿到的是可以被下一个节点直接处理的格式。执行完这个节点后你可以在运行日志里直接看到日报的草稿。我建议你点几次“运行”观察输出是否稳定。如果你发现内容总是跑题多半不是模型能力问题而是 prompt 里的限制条件不清晰。3.4 推送节点微信机器人发送 Markdown 消息最后一步就是把日报发送到微信。企业微信群机器人支持文本消息和 Markdown 消息。我选择 Markdown 类型因为标题可以加粗链接可以点击视觉上比纯文本舒服很多。在 WorkBuddy 里推送节点有两种实现方式一种是平台内置了“企业微信机器人”连接器直接填 Webhook 地址即可另一种是通用 HTTP 请求节点手动设置方法、URL、Headers 和 Body。我用过两种强烈建议优先用内置连接器因为参数已经帮你封装好了。如果只能用 HTTP 节点那么请求配置如下方法POSTURL你的 Webhook 地址Content-Typeapplication/jsonBody{ msgtype: markdown, markdown: { content: {{nodes.summary.output.text}} } }需要注意的一个细节是企业微信 Markdown 消息有长度限制通常是 4096 字节中文是 UTF-8 编码一个汉字占 3 字节所以大概 1000 多个汉字就是极限。我把日报控制在 500 字以内同时保留了链接发送时没有任何截断问题。如果你的日报更长可以考虑在推送节点前加一个“截断”节点或者把内容拆成两条消息发送但要小心刷屏。推送成功后企业微信接口会返回类似这样的结果{ errcode: 0, errmsg: ok }只要看到 errcode 为 0就说明整个工作流已经闭环了。我在 WorkBuddy 里还加了一个“成功提示”的日志节点这样每次运行后我去看日志就能看到推送响应内容方便确认状态。4. 实际运行、测试与问题排查配置完并不代表完事我习惯把它当成一次“系统上线”来对待。不要急着改好后就让它自动跑先手动运行观察每一步的输出再调整细节。我遇到的很多问题都是在这个阶段暴露出来的。4.1 先跑一次手动测试WorkBuddy 的编辑器一般都有“运行”按钮可以手动触发工作流。我会按下运行然后逐一查看每一个节点的输出。推荐的观察顺序是采集节点检查返回的条目数量是否正常字段是否都解析出来了过滤节点检查过滤之后还有多少条有没有误杀或漏杀摘要节点检查结果是不是符合日报格式有没有超出长度推送节点检查返回值 errcode 是否为 0。如果某个节点报错不要急着改先看错误消息。WorkBuddy 的具体报错信息可能不够直观但至少有两点可以快速判断超时错误时间太久、鉴权错误API key 或 Webhook 地址不对、格式错误模板语法写错。在手动运行阶段把这些问题解决后面的自动触发才会省心。4.2 遇到的几个常见问题和解决方法我把运行过程中实际遇到的问题整理成了一张速查表希望对你有帮助问题现象可能原因解决方法定时时间到了但没触发时区设置不对或 cron 格式写错检查 timezone确认30 10 * * *与本地时间对应工作流运行时采集节点卡死某个源响应过慢调低 timeout_seconds或临时摘除问题源日报内容重复较多采集节点没做去重在过滤节点添加 remove_duplicates 规则微信没收到消息Webhook 失效或填错用 curl 单独测试 Webhook 是否可用推送失败提示长度超限日报超过 4096 字节缩短 prompt 限制或在推送前加“截断”节点模型摘要跑题AI 味太重温度太高或 prompt 不明确把温度降到 0.3 以下增加输出格式和语义限制日报里漏掉重要信息采集源太少或过滤关键字太激进增加源并把 exclude_keywords 放宽一些这些坑我基本都踩过。尤其是时区问题和长度超限问题几乎是谁做谁碰到。建议你在第一次自动运行前特意把这两个点检查一遍。4.3 安全与合规注意事项既然是发到微信群的消息还是有些底线要注意。我自己是这么做的Webhook 地址属于敏感配置不要把 WorkBuddy 的工作流导出后随意发在公网仓库里采集信息源的频率不要过高我这只是每天一次对源站压力很小如果你设置每分钟抓取很容易被对方限流甚至封 IP日报里包含的链接和摘要尽量只做公开信息的摘录不要搬运整篇文章或涉及隐私的内容不要往个人微信或者非官方通道发送也提醒一下企业微信机器人只能发到企业微信群个人微信的所谓“智能机器人”多为非官方实现风险不可控。说白了自动化是为了提高效率不是为了钻空子。合规了才能用得长久。5. 一点实际使用心得与后续扩展现在这条日报已经稳定跑了一个多月。每天早上十点半左右手机准时亮起一条微信消息我扫一眼标题和链接大概就知道今天 AI 圈发生了什么。这中间最让我印象深刻的收获不是“自动化”本身而是 WorkBuddy 让我把“信息整理”变成了一种可以调优的流程。比如最早我的日报格式很死板后来我在 prompt 里加了一句“把最重要的放在第一条”它输出的内容就更符合我的阅读习惯。又比如后来我加了第二个数据源发现日报内容变丰富了但也带来了一些噪音于是我在过滤节点里增加了新的排除词。整个过程没写一行代码只是调整配置和 prompt这对我这种不爱维护脚本的人来说非常友好。5.1 踩坑记录几个值得记住的细节如果让我只留三条经验我会这么说。第一先打通知链路再去做复杂逻辑。我一开始就急着接数据源结果因为 Webhook 没验证推送节点不断报错排查了半天才发现是地址复制少了几个字符。先发一条“链路已通”的测试消息很多问题都能提前避免。第二cron 表达式要用你熟悉的时区来写不要想当然。WorkBuddy 运行环境的默认时区可能跟你的本地时间不一致。一旦出差、换网络环境时区问题可能再次出现所以在工作流设置里固定写上Asia/Shanghai是最稳妥的。第三prompt 里的“格式禁止项”比“期望输出”更重要。比如我在 prompt 里写“不要输出额外解释”它真的会收敛很多。大模型跟人一样你越明确不要什么它就越容易遵守。5.2 后续可以扩展的方向我现在的日报还只是单向推送下一步想加一点“交互”进去。比如晚上睡前再跑一条“今日快讯总结”或者每周日生成一份周报统计本周哪些主题出现频率最高。WorkBuddy 支持 Webhook 触发器这意味着理论上我可以在微信里发一条关键词直接触发一个临时工作流去查询某些信息并回复到群里形成一个小型“群助手”。如果你也想做类似的东西我建议先从一个最简单的定时推送开始跑通后再加源、加功能。自动化这事最怕一开始就想做大而全结果被连接细节卡住热情。WorkBuddy 的好处是每一步都可以独立测试所以完全不用担心试错成本。最后分享一个小技巧我会在日报正文末尾固定加一行“来源链接汇总”然后把所有链接放进一个隐藏区块里这样既不影响正文阅读又能让想点进去的人找到出处。这个做法也适合转发到团队群里其他人不会觉得消息很乱。你试过就知道这类“给 AI 设闹钟”的玩法一旦跑起来就很难回去了。