让知识库自己的运转ZenNotes 可视化工作流管道与事件触发器完全指南【免费下载链接】zennotesKeyboard-first local Markdown notes with Vim motions, diagrams, and MCP integration.项目地址: https://gitcode.com/gh_mirrors/zenn/zennotesZenNotes 是一款键盘优先的本地 Markdown 笔记应用而它的**工作流Workflows**功能可以让你用可视化画布或纯文本方式把查找笔记 → 筛选 → 批量修改 → 写入报告这类重复劳动变成一条可复用的自动化管道从 2.55 版本起事件触发器还能让管道在你保存、新建或移动笔记时自动运行。本文带你快速理解这套让知识库自己运转的完整机制。工作流是什么一个 Markdown 文件 一条自动流水线每条工作流都是存放在.zennotes/workflows/下的一个普通.md文件头部是 frontmatter名称、触发方式、快捷键正文是一行一条管道。它的设计哲学只有一条线wire上流动的是笔记集合——每一段管道把一组笔记变换成另一组笔记所以调试免费画布上每条线都实时显示当前有多少条笔记流过点一下就能查看清单⚡️Dry-run 免费筛选与读取不会改动文件只有改写/输出节点才写盘因此任何管道都能先预览完整 diff 再执行✍️画布与文本无损互转布局由引擎自动计算文件里没有坐标键盘编辑器和可视化画布是同一份内容的两种视图还能随 Vault 一起同步、diff。一条典型管道长这样命名一条线|把步骤串起来books tag #book good books | where rating 4 | sort finished desc good | render table title, rating, finished | write-section inbox/Reading Log.md Finished没有分支语法两条语句引用同一条线就自然形成分叉。完整的设计推演见 docs/ideas/workflows.md。8 个内置模板从阅读日志开始上手ZenNotes 内置了 8 个开箱即用的模板在 Workflows 视图点New workflow即可复制到你的 Vault覆盖回顾 / 清理 / 捕获 / 报告四类场景模板作用快捷键Reading log把 #book 笔记按评分生成阅读日志表格leaderwrInbox triage给一周未动的收件箱笔记打上 #triageleaderwiWeekly review列出近 7 天改动写入回顾笔记leaderwwOpen loops汇总所有仍写着 TODO 的笔记leaderwoArchive finished projects把 status: done 的项目归档leaderwaUnfiled notes找出没被主标签认领的笔记leaderwuTag cleanup把一个标签整体合并进另一个标签leaderwcMeeting index维护一份按时间排序的会议索引leaderwm模板本身也是普通工作流文件打开就能读、就能改——运行 → 偷看 → 调一个筛选 → 自己写就是官方推荐的学习路径。模板定义在 packages/shared-domain/src/workflows/presets.ts每个模板开头都有一段人话注释解释整条管道在做什么。节点词汇表八类步骤覆盖找、筛、排、变、写全部约 30 个节点按 8 类组织注册表定义在 packages/shared-domain/src/workflows/nodes.ts类别代表节点一句话说明数据源 Sourceall、folder inbox、tag #book、search、current、selection打开一条管道给出一条笔记集合筛选 Filterwhere rating 4、tagged/not-tagged、contains TODO、since 7d只留符合条件的笔记排序 Ordersort updated desc、limit 25、dedupe控制顺序与数量塑形 Shapeunion、subtract合并或相减两条命名线修改 Mutateset status done、add-tag、move、rename、archive批量改写线上的每条笔记必过 dry-run 确认渲染 Renderrender table、render list、render links、count把集合变成一段可写入的文本输出 Sinkwrite-section、write-note、clipboard把结果落到笔记、区段或剪贴板编排 Compose调用另一条工作流子调用图必须是 DAG保存时检测环路刻意缺席的能力没有代码节点、没有 Shell、没有网络请求——这意味着一条你没写过的工作流也是安全可读、可运行的。事件触发器保存笔记的瞬间知识库自动整理从 2.55 版本起给工作流设置事件触发即可让它自己跑支持四种事件trigger: on note-saved—— 笔记保存后连续自动保存会防抖合并成一次运行约 1.5 秒后触发trigger: on note-created—— 新建笔记时trigger: on note-moved—— 移动、重命名、归档、移入/移出回收站时按新路径触发trigger: on tag-added—— 某次保存为笔记新增了标签时事件触发有几个对新手很关键的安全语义详见 packages/app-core/src/lib/workflow-trigger.ts 与 packages/app-core/src/lib/help.ts每次运行只看被改动的那条笔记all、folder、tag等数据源都会收缩到这条笔记上所以all | contains type: topic | move Topics的意思是这条笔记如果声明自己是 topic 就归入 Topics而不是每次保存都全库扫描后台运行永不弹窗正在编辑且有未保存改动的笔记会被跳过并给出轻提示而不是打断你的输入每设备总开关在 Settings → 工作流相关设置里可以一键静默本设备的所有事件触发器对应 packages/app-core/src/components/SettingsModal.tsx 中的选项工作流自身则用trigger: manual或status: draft单独静音。安全设计先预览、再执行、可整次撤销这是让软件批量改我的笔记这件事能不能被信任的关键ZenNotes 给出的答案是✅默认 Dry-run含修改节点的工作流执行时先展示完整 diff确认后才落盘↩️整次运行一键撤销每次运行都会记录所有文件的运行前字节一个u撤销整次运行而不是逐节点回退运行台账在磁盘上写入记录在.zennotes/workflows/.runs/下路径、内容哈希、工作流、时间戳既防止写入→触发事件→再写入的无限循环也保证跨同步循环可控️部分失败自动回滚管道中途出错时默认连同已成功的步骤一起回滚——半吊子应用比完全没应用更难推理永不静默任何改动了文件的运行都会留下可见、可撤销、可关闭的记录。键盘操作速查Vim 键位第一天就有画布布局是计算出来的所以全程无需拖拽纯键盘即可完成编辑按键动作j/k沿管道链移动上/下一个节点h/l横移到兄弟分支o/O在下方/上方插入节点并自动接线dd删除节点并自动修复连线/按名称跳转到节点或线gp预览当前线上流过的笔记leaderwdDry-run 查看 diffleaderwr运行工作流u撤销整次运行新增键位需在 packages/shared-domain/src/keymaps-catalog.ts 注册并支持从config.toml覆盖。三步上手清单 跑一条模板打开 Workflows 视图 → New workflow → 选 Inbox triage → 运行先看 dry-run diff 再确认改一个筛选把#project换成你自己的归档标签体验读得懂 → 改得动加一个触发器给一条纯整理类工作流写上trigger: on note-saved从此保存即归档。小贴士status: draft的工作流不会被触发器唤醒想停掉某条管道把触发方式改回trigger: manual即可。手动运行则永远可用命令面板、快捷键或右键多选。引擎与解析器源码分别在 packages/shared-domain/src/workflows/engine.ts 和 packages/shared-domain/src/workflows/parse.ts主进程侧的应用逻辑在 apps/desktop/src/main/workflow-apply.ts。没有代码节点、没有网络节点是这条信任阶梯从第一天就立下的边界——也是你敢于让自动化真正接管知识库的底气。【免费下载链接】zennotesKeyboard-first local Markdown notes with Vim motions, diagrams, and MCP integration.项目地址: https://gitcode.com/gh_mirrors/zenn/zennotes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考