Repository navigation
Conversation
CapsLockX no longer records, transcribes, polishes or speaks anything. That all lives in otoji now, so remove the in-process stack (STT engines, audio capture, overlay, TTS, wake word, dev/bench binaries) with its dependencies. onnxruntime and openssl are no longer needed at all. CLX+V is now a thin trigger: tap sends `toggle`, a hold of 300 ms or more sends `ptt-start` and `ptt-end`, over otoji-tray's control socket. - macOS: if otoji.app is installed but not running, launch it and send `on` (it may already start listening, so `toggle` could turn it off). If it is missing, the overlay suggests installing it. - Windows/Linux: otoji doesn't ship there, so CLX+V says not available yet. Also: - Unbind CLX+M (agent::ENABLED = false): agent mode was fed by CLX's own transcripts. `clx agent` still works. - Brainstorm no longer reads replies aloud; the agent's `speak` tool is gone. - clx no longer starts otoji-tray at launch, and no longer runs `pkill -9 -f 'otoji listen'` at startup, which would kill otoji's own child. - Keep old voice settings in config.json on save, since otoji imports them on its first run. BREAKING CHANGE: voice input requires the separate otoji app, and needs an otoji build with the tray control socket (snomiao/otoji#163). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves voice out of CapsLockX into otoji. CLX+V now only triggers the otoji app.
Depends on snomiao/otoji#163, which adds the control socket CLX+V talks to. Until an otoji build with it is installed, CLX+V shows "otoji didn't respond, please update".
CLX+V
toggleptt-start, thenptt-endon releaseThe first 300 ms of a hold are not push-to-talk, because the gesture can't be told apart from a tap until then.
<otoji data dir>/tray-ctl.sock, one ASCII datagram per commandopen -g -b com.snomiao.otoji, then retry for up to 10 s. A tap sendsoninstead oftoggle, since otoji may already start listening when launchedWhat changed
clx-media,clx-ocr) and its dependencies, about 21k lines.cargo treeno longer contains openssl, curl, onnx, whisper, sherpa or cpal, andbin/clxno longer setsDYLD_LIBRARY_PATH. The packaging scripts and workflows drop the dylib bundling.agent::ENABLED = falseunbinds CLX+M, because agent mode was fed by CLX's own transcripts. The code still compiles and its tests run, andclx agentstill works.Behaviour changes to check
speaktool is gone.pkill -9 -f 'otoji listen'at startup. Keeping it would have killed otoji's own listener on every clx restart.config.jsonwhen saving (macOS,FullConfig::extra), because otoji imports them on first run. The Windows config simply stops reading them.clx-ocr) is gone; otoji has no equivalent.Testing
cargo test -p capslockx-core: 333 passed, 0 failed, 10 ignored.cargo test -p capslockx-macos --bin capslockx: 4 passed, including delivery to a fake tray socket and a stale socket.cargo build -p capslockx-macos --release: builds with no Homebrew OpenSSL; the binary links only system libraries.cargo check -p capslockx-core -p capslockx-linux -p capslockx-browseron macOS passes, but this doesn't compile the Linux-only code.Not tested:
build.shandscripts/package-mac.sh: edited and syntax-checked withbash -nonly, not run.🤖 Generated with Claude Code