A Windows-only experimental system-wide predictive-typing companion (Win32/UIA): inline ghost text in any text field, accepted with Tab. Compile-only, unshipped; mac/linux planned.
The public home of
ryu-predict. Source, builds, and releases live here — binaries for every platform are attached to each release.This tree is generated from the Ryu monorepo, so commits pushed here directly are replaced on the next sync. Pull requests are welcome — open them here and they are ported into the monorepo, then flow back out. Ryu as a whole: https://github.com/amajorai/ryu
App: Install (opens the Ryu desktop app and asks you to confirm)
CLI:
ryu apps add @ryu/predictThe source of record for Ryu Predict, a Windows-only experimental
companion (Win32 / UIA). It is compile-only and unshipped today — it is
not built into any release. mac / linux are planned. Standalone Cargo
crate (cargo build on Windows); Core owns the prediction brain
(/api/predict/complete), so no model id or Gateway policy lives here.
Apache-2.0 — see LICENSE.
cargo check --manifest-path apps-store/predict/Cargo.toml # verify
cargo run --manifest-path apps-store/predict/Cargo.toml # Windows, with a displayOn non-Windows targets it compiles to a clear "unsupported on this OS" stub.
Connection (matches the other Ryu clients):
RYU_CORE_URL: local Core node (defaulthttp://127.0.0.1:7980)RYU_TOKEN: shared node token (optional for a tokenless local node)
- Caret probe (
caret.rs): UIATextPatterncaret rect + preceding-text context, the input to each prediction. - Tab-swallow hook (
hook.rs): aWH_KEYBOARD_LLhook gated on a suggestion-visible atomic, so Tab is normal the rest of the time and accepts the ghost text when one is shown. - Layered overlay (
overlay.rs): a click-through, color-keyed GDI overlay that renders the ghost text at the caret. - Engine loop (
engine.rs): polls the caret, debounces, and POSTs the context to Core via theclient.rsCoreClient;SendInputinjection on accept reusesghost-hands.
Core is the brain (apps/core/src/predict/): it enforces the privacy denylist + per-app allowlist and hands the call to the Gateway. This companion is the system-wide surface, while the in-desktop editor copilot lives in the desktop app instead. The window tech (raw Win32 here) is swappable; the engine is the load-bearing part.
Apache-2.0. See LICENSE. © 2026 A Major Pte. Ltd.