ARTICLE / ANALYSIS / DETAIL

深度阅读,
从一篇文章开始。

我们将复杂信息整理成清晰、可读、具有连续价值的内容,陪伴您了解每一个重要变化。

FOCUS
MODE
READ / 05 MIN

一个打卡应用,把AI做成了唯一不懒的部分

打卡这件事,通常和"懒"没什么关系。SlothLog 反着来:它是一款给讨厌打卡应用的人做的打卡应用。加一个名字,点一下签到,再点一下签退,没有账号,没有要配置的仪表盘,也没有需要一直维护的表格。 到了周末,一个开放权重模型会读这份记录,写下两句平静的话:一句温和的观察,一句让人明天更懒一点的小建议。省下的力气不大,但确实存在——不用纸质签到表,不用公式,也不用追着问"你几点到的"。应用替你记着。 整个项目是三个小型 JavaScript 文件,零运行时依赖: server.js :用 Bun.serve 起服务,用 bun:sqlite 管数据库,外加一次 Ollama 调用 public/index.html :单页,原生 JavaScript,没有构建步骤 seed.js :可选的演示数据 项目采用 MIT 许可证。本地跑起来只要两条命令: bun start ,然后打开 http://localhost:3000;想要示例数据就再跑一次 bun run seed 。 演示通过 Ollama 使用 gemma4:cloud。应用同样支持本地开放权重模型,界面上会标明用的是哪一个,以及数据有没有离开这台机器。这个标注本身就是设计的一部分:数据存在本地 SQLite 文件里,模型由所有者自己选——要隐私和离线,就用一个很小的本地模型;更看重质量,就换更大的托管开放权重模型。 Ollama 收到的是一份紧凑的七天出勤摘要,返回的是一段回顾。应用会挑一个已安装的开放权重模型,也接受通过 OLLAMA_MODEL 指定。如果 Ollama 没在运行,会退回到一段确定性的回顾文本,让应用继续可用,而不是甩出一个报错。 提示词的要求很克制:正好两句话,点名出勤最稳定的人,包含一个真实数字,再给一个微小的偷懒动作建议。它被刻意写得很短——出勤数据本来就小,回顾应该更小。 为什么这件事和开放创新有关?出勤数据既私人又无聊。一个闭源 SaaS 会想要账号、想要订阅,还想为了渲染一张表而拿走所有人的日程副本。SlothLog 把数据留在本地 SQLite 文件里,把模型的选择权交给所有者。 选择权才是重点。AI 在这里不是硬塞进一个增删改查应用里的租用功能,而是把一份干巴巴的记录变成人真的愿意读的东西的那一环,并且跑在所有者自己掌控的基础设施上。 即便在演示数据里,这段回顾也只花了一次点击,就指出了那位有六次出勤的人——而当时还在犹豫要不要打开表格。这就是产品的全部:少一点行政事务,多一点懒。 特别

about image