Decaid 0.9.0 — 让外接硬件变为现实

从 Decaid 还叫别的名字的时候起,我就知道有一个问题我们终究必须解决:

新的咖啡硬件层出不穷。

秤、传感器、磨豆机以及其他设备,都能为工作流程增添有用的东西。但如果每出现一种新设备都要在 Decaid 中直接支持,这种做法的可扩展性并不好。每一项集成都需要修改 Decaid 本身,然后再发布一个新版本。

更重要的是,这会让 Decaid 成为那些最了解自己硬件的人——设备厂商、爱动手的玩家和开发者——的瓶颈。

在这方面,Decaid 的前身 De1App 已经提供了一个有用的先例。

De1App 最初只是一个用 Tcl 编写的演示程序,后来不知怎么就变成了生产环境使用的软件。Tcl 有一个很有用的特性:它是解释型语言,新代码可以在运行时加载。这自然就让插件成为了可能。

Decaid 支持 JavaScript 插件已经有相当长一段时间了,但最初的实现是刻意做得很小的。插件可以对少量机器事件做出响应,但当时它们还不具备成为通用扩展机制所需的基础架构。

随着时间推移,我们开始讨论一个能力更强的插件运行时应该是什么样子。插件能否与传感器通信?能否连接其他咖啡设备?能否把这些信息提供给 Decaid、它的 API 以及它的各种皮肤?

当 Bookoo Motto80 开始交付到客户手中时,这些想法变得具体多了。

Motto80 提供了蓝牙 API,其中包括读取当前研磨设置的接口。这使它成为说明设备集成能带来什么的一个特别有用的例子:在萃取时自动记录研磨设置,在工作流程中显示这些设置,从 DE1 平板电脑上调整磨豆机参数,以及避免大家都熟悉的那种忘记上次用了什么设置的问题。

而且它不会是唯一一款利用这一点的磨豆机。我们还收到了针对 Bentwood 磨豆机的驱动支持,让这个新的运行时又有了一个可以在其周围成长的真实集成案例。

Bentwood 研磨度与粉量

这也让那个更大的问题变得难以忽视。

我们不想只添加一个 Bookoo 专用的集成。我们希望 Decaid 拥有一种方式,能够支持这类设备,而不必让它们的驱动成为 Decaid 自身的一部分。

这项工作现在随 Decaid 0.9.0 一同到来。

这个版本引入了动态设备驱动运行时,使设备支持可以用 JavaScript 实现并由 Decaid 加载,而无需修改 Decaid 内核。

精简皮肤自定义研磨卡片 - Bentwood

而且重要的是,这并不是一个磨豆机专用的系统。

驱动可以代表不同种类的设备,并把它们的能力提供给 Decaid。目标是让厂商和社区开发者能够独立地构建集成,而由 Decaid 提供通用的运行时、API 以及围绕它们面向用户的基础架构。

与此同时,0.9.0 还把磨豆机支持作为 Decaid 的一等能力引入,包括一个新的 /grinder API,用于与已连接的磨豆机交互。

两者的结合是我们最感兴趣的部分:Decaid 可以把磨豆机理解为一个设备类别,而实际的硬件支持则可以来自动态加载的驱动。

我们希望这能大大方便厂商、开发者和充满好奇心的用户去试验新硬件,并将其接入 Decaid 工作流程的其他环节。

我们还想在此基础上构建更多东西,但 0.9.0 已经奠定了地基。

DE1 与 Bookoo MT80

而且,希望下一款有趣的咖啡设备不必等到 Decaid 发布新版本,就有人能够开始使用它。

~vid

图片来源:Soso 与 Yannick 🙏

p.s.:请您前往 dcamp 查看常规的发布公告,其中有更多关于插件的信息。



  • 这是以下内容的翻译: Decaid 0.9.0 — Bring Your Driver


    jwang created 2026/10/16, updated 2026/10/19