当前位置: 首页 > news >正文

从零跑通一套 AI Agent 自动复盘工作流

我平时把任务记在滴答清单里,长一点的复盘放进 Notion,真正执行时还会调用 AI Agent。信息分散以后,每天最麻烦的部分变成了复制和整理。我后来把定时触发、任务读取、复盘生成和 Notion 写入接成了一条工作流。

这篇文章带你跑通一个经过脱敏的公开版本。第一次运行不需要滴答 token,也不会写入 Notion。确认本地输出正常以后,再逐步接入真实服务。

项目源码 飞书项目案例 完整作品集

跑完以后能得到什么

你会先在终端生成一份周复盘 Markdown,随后可以选择接入滴答清单和 Notion。公开仓库提供四个 Python 脚本、环境变量模板、定时任务结构样例、合成输出和排错文档。

数据按下面的顺序流动。

定时触发 ↓ 读取未完成任务或已完成任务 ↓ AI Agent 整理任务数据 ↓ 生成复盘 Markdown ↓ 人工检查 dry-run ↓ 可选写入 Notion

运行前准备

项目要求第一次运行是否必需
Python3.10 或更高版本
Git用于克隆仓库
滴答清单 CLI读取未完成任务时使用
滴答官方 MCP token读取已完成任务时使用
Notion Integration写入真实页面时使用

下面以 Windows PowerShell 为例。Linux 和 macOS 的脚本参数相同,只需要改环境变量写法。

先克隆仓库并进入目录。

git clone https://github.com/2268499465q-beep/hermes-auto-workflow.gitSet-Locationhermes-auto-workflowpython--version

第一步先做零凭据检查

先检查四个脚本能否被 Python 编译。

python-m compileall-q scripts

如果当前目录不允许生成__pycache__,可以把缓存临时放进系统临时目录。

$env:PYTHONPYCACHEPREFIX =Join-Path$env:TEMP"hermes-auto-workflow-pycache"python-m compileall-q scripts

随后检查命令入口。运行--help不需要任何 token。

python scripts/dida_undone.py--help python scripts/dida_completed_mcp.py--help python scripts/notion_api.py--help python scripts/notion_bridge.py--help

四条命令都能显示帮助信息,说明 Python 入口和模块导入已经正常。此时还没有访问滴答或 Notion。

第二步生成第一份周复盘

下面这条命令只生成 Markdown,不发出网络请求。

python scripts/notion_bridge.py weekly `--date 2026-08-08 `--highlights"完成接口联调|补充异常处理"`--challenges"测试数据不足"`--actions"补齐边界用例|复查输出"`--dry-run

我在公开仓库中实际运行后得到下面的输出。

# 周复盘 2026-08-08 ## 本周完成 - 完成接口联调 - 补充异常处理 ## 主要阻塞 - 测试数据不足 ## 下周行动 - 补齐边界用例 - 复查输出

参数中的多条内容用竖线分隔。--dry-run存在时,脚本打印 Markdown 后退出,不检查 Notion 凭据,也不会创建页面。

第三步接入滴答清单

公开脚本不会自动读取.env。仓库里的.env.example只是变量清单,真实值需要进入当前进程的环境变量,不能写回代码。

读取未完成任务

先把项目 ID 和显示名写进DIDA_PROJECTS_JSON。下面只有占位符。

$env:DIDA_PROJECTS_JSON ='[{"id":"<PROJECT_ID>","name":"示例清单"}]'$env:DIDA_CLI_PATH ="dida"

如果滴答 CLI 不在 PATH 中,把DIDA_CLI_PATH改成可执行文件的完整路径。随后读取指定清单。

python scripts/dida_undone.py `--project-names"示例清单"`--redact-titles

--redact-titles会把真实标题改成Task 1Task 2。调试截图和公开演示建议一直保留这个参数。输出结构类似下面这样,数量取决于你的清单。

== 示例清单 (2) == [TASK] Task 1 [HIGH] Task 2 TOTAL incomplete: 2

读取已完成任务

已完成任务通过滴答官方 MCP 读取。token 仍然只放进当前进程。

$env:DIDA_API_TOKEN ="<YOUR_DIDA_API_TOKEN>"$env:WORKFLOW_TIMEZONE_OFFSET ="+08:00"python scripts/dida_completed_mcp.py `--start2026-08-01 `--end2026-08-08 `--redact-titles

脚本会逐日查询,再解析每条任务的completedTime。它会按本地时间窗口过滤,并用任务 ID 去重。日期接口返回成功,不代表每条数据都落在目标日期内,这一步二次过滤不能省。

第四步写入 Notion 测试页面

先在 Notion 创建一个测试页面和 Integration,再把 Integration 加入测试页面的共享范围。token 有效但页面没有授权时,接口仍会返回 403。

周、月、年复盘需要下面三个变量中的前两个。日复盘使用第三个页面 ID。

$env:NOTION_API_KEY ="<YOUR_NOTION_API_KEY>"$env:NOTION_PARENT_PAGE_ID ="<PARENT_PAGE_ID>"$env:NOTION_DIARY_PAGE_ID ="<DIARY_PAGE_ID>"

先保留--dry-run检查日期和正文。确认输出以后,再去掉这个参数。

python scripts/notion_bridge.py weekly `--date 2026-08-08 `--highlights"完成接口联调|补充异常处理"`--challenges"测试数据不足"`--actions"补齐边界用例|复查输出"

写入成功时,终端会显示新页面 ID。

Created review page: <PAGE_ID>

建议第一次只写测试页面。确认标题、层级和列表都正常以后,再换成正式父页面 ID。

第五步加入定时触发

仓库中的examples/cron-jobs.example.json提供了两类任务结构。

{"name":"周复盘草稿示例","schedule":"0 9 * * 6","timezone":"Asia/Shanghai","enabled":false,"command":"python scripts/notion_bridge.py weekly --date <DATE> --dry-run"}

<DATE>需要由你的调度器或 Agent 替换为运行日期,不能原样复制执行。第一次创建任务时保持enabledfalse,手动触发一次并检查退出码。确认 dry-run 输出以后,再启用正式时间表和外部写入。

Windows 任务计划程序需要特别检查三个位置。

  1. 程序填写实际的python.exe路径。
  2. 参数填写脚本路径和参数。
  3. 起始目录填写仓库根目录。

定时环境通常不会完整继承交互式终端的 PATH。终端里能运行,定时任务里找不到命令时,先检查 Python、滴答 CLI 和工作目录的完整路径。

常见失败怎样定位

现象常见原因处理办法
ModuleNotFoundErrorPython 运行时没有正确加入脚本目录拉取最新仓库版本,再运行四条--help
无法创建__pycache__当前目录只读或权限受限设置PYTHONPYCACHEPREFIX到临时目录
未完成任务为零项目名不匹配或 CLI 未登录检查DIDA_PROJECTS_JSON--project-names
已完成任务数量偏多时间窗口或时区不符合预期检查起止日期和WORKFLOW_TIMEZONE_OFFSET
Notion 返回 401token 无效或没有进入当前进程重新设置环境变量,不要打印 token 排查
Notion 返回 403Integration 没有目标页面权限在测试页面的共享设置中添加 Integration
定时任务找不到命令PATH 和工作目录不同使用 Python 与 CLI 的完整路径

公开版本保留了哪些边界

这个仓库来自真实运行过的个人工作流,公开版没有携带生产 token、项目 ID、页面 ID、原始任务、运行日志和个人提示词。三个示例文件都是合成内容。

我没有逐句清洗生产日志后再上传。日志会同时暴露任务标题、时间、分类和失败命令,删掉一两个名字仍然可能还原个人信息。公开示例从零编写,风险更可控。

如果你准备把自己的自动化脚本放到 GitHub,至少检查源码、配置、数据库、日志、运行输出和文档元数据。代码里看不到 token,只能说明第一层检查通过。

后续从哪里继续

完整脚本、环境变量模板、架构图和排错文档放在 GitHub 仓库。项目为什么这样拆分、哪些部分由我完成、公开时删掉了什么,放在 飞书项目案例页。

建议先跑通第二步的 dry-run,再决定是否接入真实任务和 Notion。这样每次只增加一个外部变量,报错时也更容易知道问题出在哪一层。

http://www.jsqmd.com/news/1382875/

相关文章:

  • 2026年8月深圳金属镂空骰子/金属镂空骰子厂家口碑推荐_深圳市铭丰工艺制品有限公司 - 行业平台推荐
  • 技术人如何明确需求:从模糊想法到技术规格的四步拆解法
  • 深入解析插入损耗:原理、测量与布线故障排查实战指南
  • 出差整理客户访谈录音,2026可以语音转文字的app哪个好攻略
  • 2026 年聊城有实力的美麟鸡柳棒品牌选哪家,吃了十年的鸡柳棒,居然藏着这样的门道?-立信食品 - 行业推荐官-2
  • 2026年程序员职业突破指南:利用大模型实现薪资十倍增长,揭秘2025年技术变革下的职业转型与价值升级策略!
  • 算法面试高频题精讲:从链表、二叉树到动态规划与滑动窗口
  • 从四足到人形:机器人技术栈的跃迁与核心挑战解析
  • 2026年8月菏泽百度AI推广/百度AI推广服务公司哪家好_菏泽云起信息技术有限公司 - 行业平台推荐
  • 洛本文艺评论的概况
  • 从暴力枚举到贪心算法:求解数字组合最优解的编程思维演进
  • 零代码自动化入门:用WorkBuddy解放重复劳动,提升办公效率
  • 从Token到智能体:大模型工作原理与提示工程实战指南
  • 数学建模A题实战:从破题到论文的完整策略与混合整数规划应用
  • 情感大模型如何驱动人形机器人实现情绪陪伴?
  • B2B采购决策路径重构:如何用GEO布局覆盖37%的AI初筛
  • trae AI终端命令执行机制与安全隔离设计
  • Visual Studio与VS Code核心区别解析:IDE与编辑器的本质差异与应用场景
  • 从零构建SDK:架构设计、技术选型与工程实践全解析
  • Python实现B站视频下载的终极指南:突破会员限制的完整解决方案
  • STM32 HAL库与FreeRTOS实战:从CubeMX配置到任务通信与调试
  • 2026 年当下,内江口碑好的雨水井盖源头厂家有哪些,那玩意儿竟能让暴雨天积水少一半?很多人不知道它的秘密-安行铸件 - 企业推荐管【认证】
  • Claude工具调用:从代码解释器到安全高效的任务执行范式
  • 2026年8月短视频网络推广/门店网络推广服务公司怎么选_菏泽云起信息技术有限公司 - 行业平台推荐
  • 防火墙绕过技术解析与防御实践
  • LlamaIndex核心概念解析:Reader、Index、Retriever的职责边界与工程实践
  • Win10/Win11 IE11闪退跳转Edge?深度解析与IE模式实战修复指南
  • 从BM25到混合检索:本地知识库搜索引擎的排序优化实践
  • Mac效率工具终极指南:从命令行到开发环境的完整工作流构建
  • 青岛机用拉伸膜的保质期多久?