一款极简聊天工具正在开发者社区引发讨论——它的后端是Git本身。
Macaroni Messenger是一个单HTML文件实现的无服务器聊天应用。用户只需下载messenger.html,用浏览器打开,连接自己的GitHub仓库,就能收发消息。消息以JSON文件形式直接写入Git仓库,Git同时充当数据库、传输层和历史记录存储。没有后端,没有注册,甚至演示模式无需任何令牌即可直接体验。
这款工具的设计逻辑出人意料:现代通讯系统往往需要注册、手机号、集中式服务器、频繁更新和复杂依赖,而Macaroni选择从另一个问题出发——发送一条消息给妈妈,最少需要多少技术?答案被压缩到HTML、Git和JSON三个最小单元。
协议结构同样简洁。所有消息存放在.macaroni/目录下,按 chats/<聊天ID>/messages/YYYY/MM/DD/<消息ID>.json 的路径存储,配合成员列表和元数据文件,构成完整的聊天历史。这套协议不依赖任何特定Git托管平台,理论上任何支持浏览器兼容API的Git服务都可以作为适配目标。
需要注意的是,隐私和实时性都有明显代价:连接公共仓库意味着消息公开,私有仓库则仅对有权限的人可见。消息同步依靠轮询而非长连接,新消息需要手动刷新才能看到,GitHub API的频率限制也会影响大型仓库的体验。令牌存储在浏览器localStorage中,方便但并非安全存储。
目前GitHub是该工具唯一内置的写入适配器,GitLab、Gitea等其他平台尚属协议目标而非完整功能。对于寻求最小化基础设施的私人聊天或小圈子通讯,这个「用Git发消息」的奇怪想法已经可以实际使用——当然,前提是参与者都能接受手动刷新的交互方式。
编注:信源为GitHub项目README及配套文档,材料详尽覆盖产品设计、协议结构、已知限制与未来路线图。主线为该工具的核心实现逻辑与适用场景,非多条功能点的罗列。