💡阅读指南

上一节飞书通道搭通了,但这双向通道不能白搭——这一节,我们用它开发一个真正能用的东西:一个可以随时记录灵感和待办事儿的个人备忘录。直接从飞书发消息,不用打开电脑,不用写文档,更不用画原型图。

🎬
本节附有教学视频 #25

该视频为课程站点内嵌片段,未收录于本地离线包;如需观看请回到线上课程对应课时。

4.1 想法

你有没有过这种经历——走在路上突然想到一个点子,心想"等会儿记下来",然后就没有然后了。或者刷到一篇有用的文章,想着"回头再看",再也没回头过。

我以前试过各种备忘录软件:Bear、Notion、Apple Notes、flomo。都能用,但总觉得不能让我随心所欲地实现我想要的任何功能。

现在有 AI 的加持,开发一个个人应用的成本很低(仅限个人应用,如果是一个 To C 的产品,成本并不低),所以如果不是太复杂的应用,我们可以自己尝试让 Hermes 来写。

现在飞书连上了 Hermes,我有一个一直开着的 AI 助手在电脑上跑着。它能看到我的消息,能操作文件,能写代码。那我能不能直接跟飞书中的 Hermes 说"帮我记个事",然后把消息发给 Hermes 帮我记下来?

答案是肯定的。而且比想象的简单得多。

4.2 直接告诉 Hermes 你要什么

飞书里找 Hermes 机器人,发一条消息:

帮我做一个备忘录,名字叫"未完成",我跟你说什么事情,你帮我记下来,按时间归类。后面我可以查看,也可以用关键字搜索。

然后等着。

几分钟后,Hermes 会回复你一段话,告诉你它做了什么。我试的时候它说:

我已经帮你记住了,以后你说要记东西,我会自动追加到「未完成.md」。

就这么简单。没有需求文档、没有立项评审、没有技术选型讨论。直接告诉 AI 你要什么,它就做出来了。

4.3 ■ 原来如此

你一定好奇:Hermes 到底做了什么?是不是创建了一个 Skill?还是写了一段 Python 脚本?

答案是:都没做。它只做了两件事。

第一件:记了一条 Memory。

Memory 是 Hermes 的长期记忆系统,相当于一张贴在你显示器边上的便签条。Hermes 把一条指令写进了 Memory:「用户通过 CLI 或飞书跟我说事情时,自动追加到 xxx/未完成.md」。

这条 Memory 每次对话开始时会被注入到提示词里。Hermes 看到它,就知道「嗯,用户说的话要记备忘录」。

第二件:用现成的文件工具干活。

Hermes 没有写任何代码。每次追加,它用的是自带的 patch 工具——在文件末尾插入新内容。每次查看,用的是 read_file 读整个文件,或者 search_files 按关键词搜索。

这三个工具(patch、read_file、search_files)是 Hermes 自带的通用工具,恰好可以用来解决我们的需求。

所以整个机制的本质就三层:

  • 存储 = 一个 Markdown 文件(未完成.md
  • 接口 = 一条 Memory(告诉 Hermes 怎么做)
  • 执行 = 三个通用工具(追加、读取、搜索)

没有 Skill,没有代码,没有数据库,没有后端架构。但要的功能一个不少。

4.4 这个备忘录能做什么

实际用下来,它能做这些事:

记录。 跟它说"未完成记录:明天下午三点开会",它就给追加到文件末尾。

查看。 跟它说"看看未完成记录",它会读文件然后列出来。也可以查"这周的""昨天的""上个月的"。

搜索。 跟它说"搜一下关于 《绿皮书》 的内容",它用 search_files 帮你找。

它的数据存在一个纯 Markdown 文件里,每条记录是一个二级标题加时间戳,下面跟具体内容。每次你问它,它读文件,按要求过滤,返回结果。

更厉害的是,Hermes 是真的能理解你的意图,当你完成了某件事儿,想划掉的时候,你不用说删掉之类的指令,看下面的示例:

alt text

4.5 这就是"开发应用"吗

从严格意义上说,这个不算"开发"。你没有写代码,没有建数据库,没有设计 API。你只是告诉 Hermes 你想要什么,它用现有的能力帮你实现了。

但它确实是一个能用的应用。能存、能查、能搜,数据可迁移(一个纯文本文件),可以版本管理(Git 直接跟踪),不会因为系统崩了就丢(文件在硬盘上)。

这算是一种新的"开发"方式。不是写代码,是定义行为。你告诉 AI 一个规则,AI 理解后自己去执行。


4.6 ■ 学点英语

中文 English 音标 说明
小程序 Mini Program /ˈmɪni ˈproʊɡræm/ 运行在平台内部的轻量级应用
表单提交 Form Submission /fɔːrm səbˈmɪʃən/ 用户填写字段后把数据发送给系统的动作
数据表 Data Table /ˈdeɪtə ˈteɪbl/ 按行列保存记录的数据结构
记录创建 Record Creation /ˈrekərd kriˈeɪʃən/ 向表格或数据库新增一条记录的动作