Vibe打金10

终章,打到金了。

开发懒猫服务应用并成功获得激励奖金的过程记录

[]

相关链接:

懒猫应用

最终,喵卡上线了,做为“Vibe打金计划”的第一个产品,确确实实爆到了金币,还得到了一个光荣的“原创”标记。应用的结构和机制虽然其实很简单,但自我感觉还是相当不错的。

先来简单介绍一下这个应用本身的机制吧。

---

# 喵卡应用机制

## 数据库

由于以前打算用MySQL后来又改掉了,所以现在用的是懒猫提供的minidb插件,minidb是一个很轻量级的文档式数据库,非常适合卡片这种简单的内容。

### 主题(卡片包)

应用中最主要的维度就是主题,也可以称为卡片包,它包含了一组N张卡片。

除了标题和说明外,其实还预留有图片、排序编号等字段。

主题其实也可以单独设置风格,只是目前还没有做到。

### 卡片/卡面

喵卡中应用了“卡面(card-face)”的概念,也就是说卡片的正面和背面其实是一样的数据结构,都包含一个标题和一个说明。

每面都是一条单独记录,也就是说未来有可能一张卡面可以用在不同的卡或主题中,但是目前还就只是一一对应的关系。

两面对应的样式是有所不同的,正面更注重标题,背景虽然标题也是主体,但说明部分比正面的视觉权重要稍高一点,甚至可以溢出滚动,也就是说可以放进去不少内容。

### 关联数据

卡片的正面和背面由关联数据关联到主题,关联数据才是决定哪个卡面与另一个卡面相对应,同时属于哪个主题的。

理论上,有可能打乱卡面和卡背做一些小游戏,或者做成“多维”的卡片,即不只是正反两面,但这需要以后去扩展了。

## 界面

主界面去掉了一切原本计划的管理功能,比如排序删除修改等。只留下添加主题和卡片的表单。所有的内容管理,包括未来的卡片修改排序或主题的单独编辑,都会放到设置页面。

帮助界面也从原来的计划中去掉了,改成初始数据中的一个卡片包。总之对于主界面,最主要的就是尽可能减少干扰。

列表页面很适合随意浏览,你看到哪个不熟悉的内容,先想一想,然后点开看答案,或许就会印象越来越深刻了。

幻灯片的界面将来会改成计时自动翻转的方式,可以不用按键盘坐在那里就能记忆。

## 应用

背单词是记忆闪卡的最常见的应用,但实际上这些有正反两面的卡片还有很多其他的作用,比如百科知识、历史、文学诗歌,各类知识都可以用这种形式表现。

甚至谜语,台词,冷笑话,脑筋急转弯,只要你能想到的关系到两值数据的需要记忆或隐藏一半的信息,都可以找到合适的闪卡玩法。

## 内容

在开发这一类的应用中,其实往往被忽略的一个问题是:内容从哪里来。虽然第一版的应用是主要靠用户自己创建和输入,但毕竟太麻烦了。

所以后续的升级中会加入各种导入或批量输入的方法,也包括官方的数据(卡包),争取尽可能让大家可以方便得到可用的内容,如果能够互相分享当然就更好了。

我甚至在做一个AI提示模板,让用户可以通过提示词要求AI一次性生成大量卡片内容,导入到喵卡里就可以使用。

(截至发稿前,其实上面有的界面和功能已经做好了,估计很快就能更新上去。)

## 副产品

对了,想到之前提过MySQL、Minidb、File-pickers做的demo还没有完成,算是跳票了吧,我想再改改把它改成真正有意义的工具再说。另外还有Refly画板和提示词库等,也都等过段时间再分享吧。

另外的副产品就是由此生成的内容库了,其实我自己也在用它学习词汇,怎么说呢?自己用自己的产品还是挺习惯,学得不累:P

---

# 开发历程

整个开发历程其实在12篇《Vibe打金计划》中都提过了,但是在这里还是要吐一下槽。

### 什么“说一句话剩下的AI就帮你做好了”真的是夸张的说法。

的确有的简单功能可以得到这样的惊喜,但是如果你对产品的逻辑和技术架构完全没有概念,当AI犯健忘或糊涂的时候就完蛋了。

## 需要不断调教的AI

除了提要求,不断的反馈信息、反复抽卡,你还需要随时调整你的思路找到最好的方法。

有时要求它给你全部的代码,有时只要一小段,有时甚至只让它给你一个思路就好。

有一次发现不知什么时候,AI把原本信息提示的功能替换成简单的console.log了,这个功能偏偏还是在我一直不想再和它同步的主应用代码里。

我是实在不想让它再乱动主应用代码了,于是我这么说:

> // 显示通知

showNotification(message, type = "info") {

console.log(`${type.toUpperCase()}: ${message}`);

// 这里可以实现更复杂的通知系统

}

>为app.js里这个函数写一个很简单的提示框,在页面上提示信息,3秒钟后自动消失。

>尽量只在这个方法之内实现功能,不要改动主程序代码太多

于是它给我最简单的修改方式,我只在这个方法里修改并加了几行样式表就解决了问题。

## 要求单模块功能

必要的时候,就只能要求它做独立的功能,把新的功能放在新的页面上,这样才不致于改坏文件,毕竟代码一到上千行,AI就会开始有点找不到北了。

比如在开发批量输入的页面时,我是这样对AI说的:

>现在所有功能已经正常,应用已经上线。请写一个新的批量卡片数据生成的功能:

>* 从一个固定格式的csv文件批量导入数据生成卡片数据

>* 可以上传文件或在文本框中输入这个数据,但即使是上传文件,也可以在文本框中预览和修改。

> ……

> ……

> ……

>* 可以用单独的页面容器设计,不需要与app.js使用同样的页头和导航中,返回链接回到主应用。

>

>请完全在一个新的文件中实现这个功能,只从原来内容引入必要的方法,只在设置页面增加一个到这个页面的入口。

由于Refly有知识库的关系,其实尽管是从头开发新页面,AI还是可以找到相关的知识,而且不受其他干扰,可以更有效地拿到正确结果。

## 内容库的生成方法

对于内容(卡片包)的填充,我是在Refly上开了一个新的聊天线程。

我先把批量添加时生成的csv格式喂给它,然后让它“手工”整理第一个列表。

在确认了格式没什么问题之后,我又让它先写一段提示:

>撰写一个提示词模板,包含【主题】和【详细要求】两个用户可以自行修改的字段。然后稍微详细些说明这种数据格式的特点和要求,包括正反面通常的意义(正面用来提醒和回忆,背面是要反转才会揭示的答案),也包括对逗号(比如半角逗号的字段要用半角引号括起来)和回行的处理。同时对字数提一定的要求,不要太长,除非用户在【详细要求】中有说明。

按Claude的一贯风格,它给我写了一个巨长的Markdown提示语,在试过多个主题效果可以之后,我把这个提示词也放进了应用。

或许有一天,等AI不要钱了,或者等算力舱普及了(哪个更近一点?),我们就可以只说一个主题,然后让AI自动生成卡片库了。

## 还有一条宝贵的经验是:Gemini可以兜底!

虽然Gemini也有它爱钻牛角尖的坏毛病,但是实测发现,对于Claude Sonnet 4犯的迷糊毛病,Gemini 2.5 Preview可以完美地擦干净它的屁股!

这条我就说这么一句,信不信由你,不信可以自己试试:)

---

# 喵卡升级计划

## 更好的体验

其实我最终目标是做成一款炫酷的应用,所以现在的极简风格应该只是一个开始阶段。

在未来,卡片的风格和动效只会越来越好,主题也会有更多的背景、配色甚至装饰可选。

语音和链接也是我想做的功能,不过语言的物料还是个麻烦,不知道TTS引擎到底发展成什么样了,能否在懒猫上跑得动。

## 分享与共享

其实这些记忆信息,有时候很适合用来分享。

之前小红书上有段时间不是流行背单词或学英语么?所以我计划再开发一个生成分享资源的形式,比如把卡片导出成漂亮的单独页面或列表,你随时可以把你的知识点生成一张图片分享到社交媒体去。

至于大家的共享,就只能期望有真正使用的用户之后了,或许会搞个卡包共享的网站之类,这些都是后话。

## 更多使用场景

游戏化的测试场景一直是我想做的功能,所以在幻灯片优化好之后,我会为其加入计时计分或问答等玩法。

打印也是另一个计划中的功能,虽然纸质媒体已经不多受待见了吧,但如果能快速打印出实体的记忆闪卡,让小朋友能远离手机一会儿,大概也算是这个应用的一个功德?

---

另外在本系列几乎全程使用了Refly应用,同时表示感谢:

https://refly.ai

相关链接:

懒猫应用

喵爸的博客

@copyright 2025-2026

喵爸的博客

@copyright 2025-2026

喵爸的博客

@copyright 2025-2026

Site Name

Create a free website with Framer, the website builder loved by startups, designers and agencies.