Releases: RikaiDev/yomi
Release list
v0.1.4 — one-click install, no terminal
Install without touching a terminal
Yomi now ships as a Desktop Extension. Download the bundle for your machine below, drag it into Claude Desktop's Settings → Extensions, click Install. Then say "log in to LINE" and enter your phone number in the form.
No terminal. No Node.js install (Claude Desktop ships its own runtime). No hand-edited claude_desktop_config.json.
| Machine | File |
|---|---|
| Windows (Intel/AMD) | yomi-win32-x64.mcpb |
| Mac (Apple Silicon) | yomi-darwin-arm64.mcpb |
| Linux (x64) | yomi-linux-x64.mcpb |
Why this matters on Windows
Two things made Yomi effectively uninstallable for a Windows user who does not live in a terminal:
- Cowork will not type into your terminal. That is a deliberate guardrail, not a bug — its shell runs in a throwaway VM, and the isolation exists precisely to keep it out of your machine. It cannot install Yomi for you, and no amount of explaining will change that.
- Claude Desktop's MSIX packaging reads a different config file than the one "Edit Config" opens (claude-code#26073, still open), so a correct config is silently ignored — no error, no log, Yomi just never appears.
The bundle sidesteps both. Once installed, Cowork's local sessions can use Yomi like any other tool.
Verification
Each bundle is built on its target OS and started there — a real MCP initialize handshake, on Windows, macOS and Linux. "It packed" is not evidence that it runs.
Semantic search works out of the bundle: the pruned onnxruntime embeds Chinese text to 512-dim vectors. The embedding model (~90MB) is downloaded on first semantic search, as before.
Also in this release
npm versionno longer strips the trailing newline fromversion.ts(every bump was landing a lint failure onmain)- the bundle build invokes
tscdirectly instead of throughnpx, which on Windows silently fetched an unrelated squatter package namedtscfrom the registry
v0.1.3 — the package can actually start now
Fixes the bug that made every previous release unusable
@rikaidev/yomi has never been able to start when installed from npm. 0.1.0, 0.1.1 and 0.1.2 all died instantly:
Error [ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING]: Stripping types is
currently unsupported for files under node_modules, for ".../src/mcp/server.ts"
The package shipped TypeScript sources, and Node deliberately refuses to strip types under node_modules. The MCP server crashed on startup, so clients showed no tools — which looked like "Yomi won't install" and got misdiagnosed as a Cowork / Windows / MSIX / bun problem. It was none of those.
If you tried Yomi before and it silently did nothing: that was this bug, not you.
What changed
- The tarball now ships compiled JavaScript (
dist/), not TypeScript sources serverInfo.versionreports the real version (was hardcoded0.1.0)
Why it survived three releases
Yomi was only ever run from a repo checkout — where type-stripping applies, and where bun runs .ts natively anyway. The documented path, npx @rikaidev/yomi, was never once executed. CI "smoke-tested" --help, the one command that prints a literal string without importing any application code, and it ran against the last published version rather than the commit under test.
Gates so it cannot happen again
CI now packs the tarball from each commit, installs it into a clean project, rejects any tarball containing src/, starts it as a real MCP stdio server, and asserts an initialize handshake — on Linux, macOS and Windows. Publishing refuses to ship a tarball that cannot complete that handshake.
v0.1.2
TypeScript 7, Biome, runtime-agnostic sqlite, npm shim improvements
v0.1.1
Fixes
- E2EE — reading no longer mutates account key state.
getGroupKeyis shared by send and decrypt; its NOT_FOUND fallback used to mint + register a new group shared key on LINE's server, so merely reading a group could rotate its key and strand the user's other devices. Minting is now gated behindallowMint— the send path provisions a group's first key, the decrypt path returnsunavailableinstead. - Dropped the write-only per-keyId / per-mid E2EE keychain entries in
saveE2EEKeys— nothing read them back (restore uses one blob); they only churned the OS keychain and logged one line per key on every login/refresh. - Docs: qualified the "groups are plaintext" claim for Letter-Sealed groups (per-epoch keys a secondary device may not hold); disclosed the first-run HuggingFace model download (no message content leaves the machine).
Release tooling
- Gated publish harness:
npm versionauto-syncssrc/version.ts; the publish workflow verifies tag == package.json version and runs the test suite +tscbeforenpm publish.buildis nowtsc --noEmit(Yomi ships & runs fromsrc/). SeeRELEASING.md.
Yomi v0.1.0
First release.
Yomi (読み) — read, reply to, send images to, mention people in, and search across every LINE conversation, from any MCP client. Yomi speaks LINE's protocol directly, decrypts Letter-Sealing (E2EE) messages and media, and logs in as a secondary device on your own account.
Highlights
- 19 MCP tools — unread digest, conversation/message reads, E2EE text + image send (1:1 / groups / rooms) with @mentions, read receipts, contact + group lookup, and local hybrid (keyword + semantic) cross-conversation search.
- First-party passwordless login with read-back-verified session persistence — works on clients with elicitation, without it (two-phase), via an MCP Apps card, or from a terminal.
- Fully local search (SQLite + FTS5 + transformers.js). Nothing is uploaded; capture-all default with per-conversation opt-out.
Install
Published on npm as `@rikaidev/yomi`. You need bun (macOS, Linux, or Windows) — no clone, no build:
```bash
claude mcp add yomi -- bunx @rikaidev/yomi
```
For Claude Desktop and terminal login, see the README.
Notes
Independent personal project, not affiliated with LINE. Protocol implementation references linejs (MIT) and CHRLINE (BSD-3-Clause); see NOTICE. Use with your own account, at your own risk.