diff --git a/README.md b/README.md index 1592445..c929a72 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,9 @@ claudedo test-audio ## Usage **Run it in a terminal you watch — that's the product.** You launch `claudedo -start`, it does a quick mic check, then drops into a visible listen loop. Each -utterance prints a timestamped, colored line — `HH:MM:SS [claude-libs] heard "…" → +start` and it drops into a visible listen loop (pass `--check` to run a mic check +first). Each utterance prints a timestamped, colored line — `HH:MM:SS [claude-libs] +heard "…" → typed 'fix'` (green for injected, red for drops, `[SYSTEM]`/`[VOICE]` for state and recognition). That terminal is your recognition/action console; you attach to the `claude-` session in another pane to watch the keystrokes land. It runs in the @@ -73,9 +74,9 @@ foreground by design — the console is the point — though `claudedo stop` can stray instance. ```bash -claudedo start # mic-check, then the visible listen loop (listen mode default) +claudedo start # the visible listen loop (listen mode default; no mic check) +claudedo start --check # run a mic check before listening claudedo start --mode ptt # push-to-talk instead (desk-only — see Modes) -claudedo start --skip-audio-check # skip the pre-listen mic check claudedo status # running? mode? target session? claudedo stop # stop a running daemon claudedo set # set the sticky target -> claude- (alias: switch) diff --git a/src/claudedo/__main__.py b/src/claudedo/__main__.py index eebb55a..bdeacbe 100644 --- a/src/claudedo/__main__.py +++ b/src/claudedo/__main__.py @@ -33,12 +33,12 @@ def cmd_start(args: argparse.Namespace) -> int: config = _load_or_die(args.config) if args.mode: config.mode = args.mode - if not args.skip_audio_check: + if args.check: print("checking mic before listening (speak briefly) ...") peak = _probe_mic(config, seconds=2.0, verbose=False) if peak is None or peak < 0.02: print("mic check failed — no usable input.", file=sys.stderr) - print("run `claudedo test-audio` to debug; or `claudedo start --skip-audio-check`", + print("run `claudedo test-audio` to debug, or `claudedo start` to skip the check", file=sys.stderr) return 1 print(f"mic OK (peak {peak:.3f}).") @@ -217,8 +217,8 @@ def build_parser() -> argparse.ArgumentParser: sp = sub.add_parser("start", help="run the daemon (foreground)") sp.add_argument("--mode", choices=("listen", "ptt"), help="override input mode") - sp.add_argument("--skip-audio-check", action="store_true", - help="skip the pre-listen mic check") + sp.add_argument("--check", action="store_true", + help="run a mic check before listening (off by default)") sp.set_defaults(func=cmd_start) sub.add_parser("stop", help="stop a running daemon").set_defaults(func=cmd_stop)