乐于分享
好东西不私藏

手搓 AI 助理之后,我发现好多事情压根不必做(附完整教程)

手搓 AI 助理之后,我发现好多事情压根不必做(附完整教程)

这篇文章记录了我如何用 Claude Code + 飞书 CLI做了一个能“随手记、自动分类、定期回顾”的 AI 助理。不用写代码,只要会说话就能用。读完你会一样明白:抓住想法,其实可以很简单。

想法都在,但就是懒得翻

今年年初我意识到一个问题:我的想法都藏在边边角角,躲在每次对话,但我就是懒得去整理,懒得去翻。

录音转写文档里,几十页,根本不想看。微信聊天记录里,重要的信息怎么搜都搜不到。脑子里,转着转着就忘了。

最典型的情况:听完一个讲座或和别人深度聊完后,当时觉得收获好大,但一周后再想当时聊了啥来着?……大脑一片空白。

明明有很多待办和想法藏在这些内容里,但它们就像沙漠里的水——你知道在那,但就是懒得去挖。

我需要曙光!

CARE 框架的形成

我一直在用 Claude Code 和各种编程工具,所以一开始的想法就很明确:写一个 Skill,结合飞书的 CLI 工具来实现。

Claude Code 的 Skill 功能允许你定义一套规则,告诉 AI 遇到不同情况该怎么处理。写好之后,AI就会按照你的规则一直执行。这很适合我的需求——不需要从头写代码,只要把“怎么做”说清楚就行。

一开始我只想解决“记录”的问题,但做着做着发现,光记录不够,后面还有分类、回顾、执行一整条链路。

于是逐渐形成了一个框架,后来我给它起名叫 CARE。C 是 Capture 随手记,说一句话就能记录。A 是 Auto-sort 自动分,AI判断是待办、灵感还是其他。R 是 Review 定期回顾,生成回顾文档。E 是 Execute 照着做,待办自动变成飞书任务。

这个框架不是一开始就想好的,而是在设计 Skill 的过程中逐渐清晰的。

为什么选飞书

工具选择上,我试过 Notion,但国内访问太慢,CLI 不成熟。Obsidian本地很快也免费,但需要额外的同步方案,而且没有任务功能。Apple Notes 系统集成很好,但没有 API,无法自动化。

飞书不一样,国内访问快,有官方的命令行工具 lark-cli,API 也很稳定。关键是lark-cli,这意味着我可以完全通过脚本操作飞书,这为自动化打开了大门。

从第一版到第二版

最开始的 Skill 只有一页纸

我的第一个 Skill 文件特别简单,大概只有 50 行,内容就是:读取配置文件,获取 base_token 和 table_id,提取标题、标签、内容,写入表格。

它确实能用——我说句话,它就写入表格。但很快问题就来了。

遇到的第一个坑:它不知道我说的“明天”是哪天

我说“明天开会”,它真的在表格里写了个“明天”,而不是具体日期。

我的解决方案是在 Skill 里明确告诉 AI 如何处理时间:今天下午3点转成今天日期,明天转成明天日期,后天转成后天日期,无具体时间就转成当天日期。

这看起来很简单,但背后有个重要的思考:AI 需要明确的规则。你不能指望它“猜对”,你必须告诉它“怎么算”。

遇到的第二个坑:重复记录太多

用了几天后,我发现表格里有很多重复的记录——比如我一天可能好几次想到要写那篇文章,每次都被记录下来。

我尝试了几个方案。第一个是完全匹配,只要文字不一样就不算重复——但这太严格了。第二个是关键词匹配,有相同关键词就算重复——但这又太宽泛了。第三个是用 AI 判断两句话是不是一个意思——这个效果最好!

最终我用了一个 Python 脚本,调用 AI 的语义理解能力来判断是否重复。这个脚本叫 dedup.py,只有 30 行代码,但解决了大问题。

为什么拆分成多个 Skill

用了一段时间后,我发现一个问题:所有功能都在一个 Skill 里,文件越来越长,越来越难维护。更重要的是,我发现不同的使用场景需要不同的处理方式。有时候我只是想快速记一句话,有时候我想处理一个长录音转写文档,有时候我想回顾一下这周干了什么。

于是我决定拆分成 4 个 Skill。care-assistant 是主路由,负责识别意图并分发到其他 Skill。care-capture 专门处理随手记,快速记录一句话。care-recording 负责录音转写,处理长文档。care-review 负责回顾整理,生成回顾文档。

这里有个重要的设计原则:路由规则要宁滥勿缺。当不确定用户想干什么时,优先路由到随手记,因为记录的代价最低,漏记的代价最高。

核心功能

录音转写:最复杂但最有价值

这是我使用频率最高的功能,也是整个项目的核心。

我经常会有长对话——比如和别人的深度交流、参加讲座、开大会。这些对话里有很多有价值的内容,但转写文档往往几十页,根本看不下去。实际情况是,转写文档保存在电脑里,从来没打开过第二次,当时觉得这内容太棒了,但一周后完全忘了聊了啥,明明有很多待办和想法藏在里面,但就是懒得翻。

我需要的是把长文档扔给 AI,让它帮我提炼出待办、灵感和关键信息,写入表格。这样我以后想找,直接搜表格就行。

我设计了一个“三层输出”的结构。第一层是飞书表格,把提取的待办、灵感、其他写入表格,这样以后可以搜索、筛选、管理。第二层是飞书文档,生成结构化的提炼文档,便于阅读和分享。第三层是汇报统计,告诉用户处理结果,给个反馈。

这个设计背后的思考是:同样的内容,以不同形式呈现,满足不同需求。表格适合查找和管理,文档适合阅读和分享,汇报适合快速了解结果。

文档结构的迭代

一开始的文档结构很简单,就是几个标题加内容。但用了几次后,我发现不够用——我需要更细致的结构来帮助我后续使用这些内容。

最终版的结构包括来源、好段落摘录、写作话题灵感、行动要点汇总、原文转写。摘录用 callout 格式,视觉上突出容易浏览。写作话题单独列出来,直接指导内容创作。行动要点用表格,清晰可勾选。原文转写放在最后,想看细节的人可以往下翻。

Bot 模式(辅助用)

Skill 模式很好用,但有个问题:我需要打开 Claude Code 才能记录。有时候我在手机上,或者在别的电脑上,就很不方便。

Bot 模式的目标是在任何地方、任何时间,只要我给飞书机器人发消息,就能记录。

Bot 模式的核心是用 lark-cli 的事件订阅功能,通过 WebSocket 接收飞书消息。但这里有个技术难点:WebSocket 连接可能会断(网络波动、服务器重启等)。如果断了,Bot 就停止工作了。

我的解决方案是自动重连。用一个简单的 while true 循环,让 Bot 变成了永动机——除非我主动停止,否则它会一直运行。

Bot 模式不能只是简单地“把消息写入表格”,它需要智能处理。首先是语义去重,和 Skill 模式一样,用 AI 判断是否重复。然后是链接识别,如果是链接,写入“文章收藏表”而不是“记录表”。还有智能标签,根据关键词自动判断是待办、灵感还是其他。最后是自动回复,告诉用户“已记录”,给个确认。

这些逻辑都在 bot-handler.sh 里,用 Bash 脚本实现。

遇到的技术坑

lark-cli 访问飞书 API 需要代理,但有时候代理不稳定。我的解决方案是在每个命令前都设置代理环境变量。经验教训是:不要假设“环境变量已经设置好了”,在每个需要的地方明确设置。

飞书 API 返回的字段顺序不确定,用数组索引访问容易出错。错误做法是假设第一个字段是标题,正确做法是用字段名访问。经验教训是:永远不要假设数据结构“不会变”,用最稳定的方式访问数据。

Skill 模式下,如果用户发链接,Claude Code 会自动抓取网页内容,导致“收藏”变成“全文复制”。我的解决方案是在 Skill 模式下移除文章收藏功能,只在 Bot 模式保留。经验教训是:技术方案要适应工具的特性,不要强求“所有功能在所有模式下都一样”。

最终效果和使用体验

搭配语音输入法,效果更佳

我发现一个神级组合:CARE 助理 + Typeless 语音输入法。Typeless 是一个语音输入工具,支持随时说话转文字。说话总是比打字快很多!我有啥就直接说话,Typeless 自动转成文字,输入给 claude code,经过处理,一条记录就完成了。

整个过程完全无痛:不用打字、不用切换 app、不用停下来。真的是想到就记,再也不用担心灵感溜走了。

日常使用场景

快速记录待办时,我说“明天下午3点开会”,AI 会回复“已记录 [待办]:明天下午3点开会(已创建飞书任务)”。记录灵感时,我说“灵感 做一个自动整理录音的工具”,AI 会回复“已记录 [灵感]:做一个自动整理录音的工具”。

处理录音转写时,我给 AI 一段转写内容,它会经过一番对话后,回复“录音处理完成,飞书表格新增记录 5 条,双端文档已生成到本地和飞书”。

回顾本周时,我说“回顾一下这周”,AI 会生成“本周回顾,共记录 23 条,待办 8 条已完成 3 条,回顾文档已生成”。

数据是宝贵的。我可以看到自己持续关注方向的变化。我可以把待办变成飞书任务,真正执行起来。

有个意外的效果:我的日报写得变少了。以前写日报是因为怕忘,现在所有待办和想法都在表格里,随时能查到,反而不用天天写日报了。这对我这种喜新厌旧的人来说简直是福音——不用重复做一件事情的感觉真好。

给想自己做的朋友

如果你想自己做类似的项目,需要的技术其实不多。

核心是 Claude Code,它是 Anthropic 出的 AI 编程助手,可以运行 Skill。然后是 lark-cli,这是飞书官方的命令行工具,用来操作飞书 API。如果你想做 Bot 模式,需要一点 Bash 脚本知识来处理消息。去重算法用 Python 写的,大概 30 行代码。处理 JSON 数据用 jq 工具,这个很简单,AI 都可以完成。

整体来说,学习成本都不高,动手试一下就会了。

几个关键心得

第一,从小处开始,逐步扩展。先做最简单的“记录”功能,能用了,再加分类、回顾、执行。别一开始就想做大而全的系统,那样很容易半途而废。

第二,明确告诉 AI 你的规则。AI 需要明确的指令,时间怎么算、“明天”是哪天,什么是重复、怎么分类——这些都要写清楚。有了明确的规则,AI 就会持续执行,而你只需要专注于思考和决策。

第三,工具要适应你的习惯,而不是你适应工具。记录的阻力越小,记录的频率就越高。自动化的程度越高,坚持的可能性就越大。

这事儿适合谁

写这篇文章,是想告诉你:用 AI 解决实际问题,其实没那么难。

但这套方案可能不适合所有人。如果你想法很多但经常忘记,愿意尝试新工具,有飞书账号,想建立第二大脑,那 CARE 助理可能适合你。反过来,如果你追求完美 UI,完全不想学任何技术,坚持用纸笔记录,或者你的记录需求很简单,那这套方案可能不太适合你。

希望这篇文章能给你一些启发。你也可以像我一样,用 AI 工具打造属于自己的效率系统。

最后,欢迎访问GitHub: https://github.com/asiyoua/care-assistant ,给我标星,这对我来说非常重要!


本文首发于公众号“九思AI歪博”,转载请注明出处。

项目代码已开源,欢迎 Star 和 Fork。如果你有任何问题,欢迎在公众号留言。

👇点击「阅读原文」访问。