mochi 发布 v0.1.18

作者:李笑来 · 来源:GitHub · 发布于 2026-09-02 · 原文链接

一个住在你桌面上、还会开口回应你的小伙伴。实时语音,形象和动作都由同一套几何图形生成。发布了 v0.1.18。

这个版本更新了什么#

chore(release): v0.1.18

The Homebrew name is now mochi-app#

brew install --cask xiaolai/tap/mochi-app

Homebrew's own cask index carries a different mochi — a flashcards app from mochi.cards — and the Caskroom is keyed by BARE token, so while this shipped as mochi the two were one entry to Homebrew. Whichever you upgraded last replaced the other's /Applications/Mochi.app, in either direction, with no error to notice. Cask upgrades compare versions for inequality, not order, so neither direction counts as a downgrade to Homebrew and nothing warns you. It was documented at length, and that was not enough: the command that triggered it was the correct, fully-qualified one, run by somebody who had read the warning. A hazard on the documented happy path is not a documentation problem. The app is unchanged — still called Mochi, still Mochi.app, same bundle identifier, same data. Only the Homebrew token moved. If you installed before this​, you are under the old token and it is two commands:

brew uninstall --cask mochi
brew install --cask xiaolai/tap/mochi-app

Uninstall is not zap: your characters, transcripts and memory are untouched, and the new install finds all of it.

Nothing else changed for you#

There is no behaviour change in the application in this release. The rest is underneath, and it is written down here because it is the kind of thing that only ever surfaces as a bug report months later.

Underneath#

Every channel between the window and the machine now declares what it answers with, in one table both ends read. Before, ipcMain.handle returned unknown and the window's side was a cast, so a field added to one shape and forgotten on the other compiled cleanly on both sides and arrived missing — nothing thrown, nothing red, and the screen looking right until something read a value that was never sent. Three channels were in exactly that state. Measured rather than argued: a required field added to the three shapes produced no compiler error anywhere in the project. It now fails to build. The first attempt at this was a test that read the source and checked every handler declared its type. It found the three, and its own first version could not have failed — it parsed twenty-four of twenty-eight handlers, and every one

(更新说明有删节,完整内容见下方链接。)

以上是作者写在 GitHub 上的英文更新说明原文,未经翻译。查看原页面