feat: terminal-run only — drop systemd/autostart, start does mic-check + visible loop

terminal-run is the product, so remove all backgrounding: delete the
claudedo.service unit and autostart.sh, strip the systemd step and the
autostart source-line from install.sh (rc block now sources cc.sh only).

claudedo start now runs a mic check first (warm-up + brief capture, aborts with
guidance if silent; --skip-audio-check to bypass) then drops into a visible
listen loop printing the recognition/action log: a startup banner, then
heard -> matched -> target / injected per utterance, target/mode state changes,
and (listen mode) non-wake speech dropped WITHOUT the transcript per the privacy
invariant.

Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
2026-06-25 19:30:36 -04:00
parent eb587692e1
commit 17db65858e
6 changed files with 115 additions and 107 deletions
-18
View File
@@ -1,18 +0,0 @@
# claudedo autostart (OPT-IN). starts the voice daemon once per WSL session in its
# own tmux session, if not already running. WSL has no real boot and usually no
# systemd, so this rc-based guard matches WSL's "starts when you open a terminal"
# model. POSIX; safe to source under bash and zsh.
#
# this only acts when CLAUDEDO_AUTOSTART=1 is set (the rc marker block gates on it),
# so sourcing it alone does nothing. to enable: export CLAUDEDO_AUTOSTART=1 before
# the cc-kit marker block in your rc. to disable: unset it (or remove this file).
#
# the daemon runs detached; watch its logs with: tmux attach -t claudedo-daemon
if [ "${CLAUDEDO_AUTOSTART:-0}" = "1" ]; then
if command -v claudedo >/dev/null 2>&1; then
if ! tmux has-session -t claudedo-daemon 2>/dev/null; then
tmux new-session -d -s claudedo-daemon "claudedo start"
fi
fi
fi
-14
View File
@@ -1,14 +0,0 @@
[Unit]
Description=claudedo voice-control daemon for claude code
Documentation=https://github.com/dsql/claudedo
After=default.target
[Service]
Type=simple
ExecStart=%h/.local/bin/claudedo start
Restart=on-failure
RestartSec=3
Environment=PULSE_SERVER=unix:/mnt/wslg/PulseServer
[Install]
WantedBy=default.target