为了能「过耳不忘」,我做了一款免费开源工具

两种互动
我是产品经理小汤。先容我起个高调(不想听的请跳到第三小节)。
人类大致有两种与 AI 互动的方式:
一种是结果导向的互动。你与它对话,是为了拿到一个结果,效率越高越好,最好我一句话就让你跑一整晚,给出的结果符合甚至超出我的预期。典型如 Coding。
另一种是过程导向的互动。你与它对话,是为了在对话过程中遭遇些什么。你可能有预期的结果,但最后的收获总是在意想不到的过程中。类似与朋友 Chatting。
第二种情况,我们最好不要聊得太急太快,效率是深度的敌人。
AI 以人类无法企及的速度生成了一段内容,人类也要以它无法企及的缓慢予以回敬。
它发来一段话,不要条件反射地接茬,而是让这段话过脑子、走身体,最好能产生某种说不清的感受,让它逗留一会,再试图澄清它。这叫言之有物,这“物”越沉越浑,言说往往越有意义。
磕磕巴巴没关系,木心老爷子说过,人说真理时总是结巴的(记错了请纠正我)。
不过我今天是产品经理小汤,所以只聚焦过程中的一个技术性问题:在非效率场景下,我们应该怎么阅读 AI 发来的消息。

我更愿意听
因人而异,我自己的实践经验是:听。
如果直觉告诉我这段内容非常重要,就不要读(看),要去听。
对我而言,听比读更过脑、更走心。
最好闭上眼睛听。闭上眼人会变得更内向。我才能缓慢、磕巴地给出对等质量的回复。
感谢豆包,它的全局语音朗读实在优秀,甚至成了我在电脑上安装它的最大理由。
但我用着用着发现一个不爽的地方:它不能记住我听过哪些东西——我之所以听,说明这些东西恰恰是重要的,需要留存。

「过耳不忘」
最近我敢想又敢干,于是决定做一个能帮我记住听过内容的全局语音插件——取名叫「过耳不忘」。免费开源,地址在文末。
最典型的应用场景是:
1. 任意场景下,鼠标选中一段我想听的文本,弹出工具条,点击朗读。

2. 读完后,这段内容会自动(或手动)保存在我的 Obsidian 里(可指定任意目录)。同时保存的,还有这段内容的环境信息——比如当前内容的网址,或应用名称。

这就是「过耳不忘」MVP 版本定义的全部功能。
介绍完了。

一夜之后
Vibe coding 讨厌的地方就在于,没人会满足于区区 MVP。你的虚荣心,和对星星(一种程序员的炫耀货币)的渴望,一再让你献出睡眠,甘心落入“扶我起来,我还能再迭一代”的猝死陷阱。
经过一晚上,迭代了十几个版本,「过耳不忘」已经从 0.1.0 变成了 0.3.x。
我变秃了一点。它变强了很多。
我发现它现在强得可怕。
典型场景之二——解释,但有上下文:
1. 选中任何一段文本,或一个概念,点击解释。
2. 它会先抓取上下文,然后再进行解释。
这是豆包的解释:

这是「过耳不忘」的解释:

当然,我们还能顺便听一下语音,闭眼休息一下,顺手留档:Obsidian 里甚至会包含必要的上下文。

这下,连锁优势就出来了不是吗?

更多玩法
重要的是,这个连锁优势是通用性的,还可以延伸至——翻译:
基于上下文的翻译:

带链接和上下文的留档:

基于上下文的“洞见”,以及留档:

基于上下文的“盲点”,以及留档:

以及其他你能想到的任何场景——基于上下文提炼、助记、英文精读,以及对重要内容的朗读与留档。

选中选中选中,操作操作操作,读读读,存存存,后续再精细加工。
已经接近我心目中知识管理入口级工具的样子了。


经过大脑,留在电脑
它的 Slogan 我也想好了:
让重要信息经过你的大脑,留在你的电脑。
受极为优秀的翻译软件「BOB」启发,我还为「过耳不忘」加入了多模型比较功能。区别在于,我们不止可以比较翻译质量,也可以比较解释、洞见、提炼……一切技能的质量。

某种意义上,「过耳不忘」是豆包和鲍勃的孩子——现在由我领养了,取名叫“豆勃”(Dob)。
仓库地址在:https://github.com/Milktang0128/Dob
下载地址:https://github.com/Milktang0128/Dob/releases
目前仅支持MAC,完全免费(需请自己申请模型厂商 API)。
送上一个小星星,满足我的虚荣心。