ConnectOnion 1.9.3rc23: configurable ASR
Opt-in preview published on 2026-10-26. Stable stays 1.9.2.
The PyPI package and GitHub prerelease are public. The official release workflow passed its test matrix, built-wheel acceptance and clean public installation. The wheel and source archive hashes agree across both services.
co asr recording.m4a and from connectonion import asr expose one generic
audio-to-text capability. Codex is the default provider; save
co env set ASR_PROVIDER connectonion to use ConnectOnion's existing cloud
transcription, or override one call with --provider.
The Codex adapter is Python, with no codex-asr executable or Rust installation. It reads the existing file-backed ChatGPT login locally and uploads the selected audio to the unofficial Codex Desktop transcription endpoint. It never forwards that login to OpenOnion or silently switches providers. Both choices are cloud processing, not offline recognition or a promise of free subscription usage.
Focused synthetic cases cover request construction, provider routing, malformed authentication, HTTP errors/redirects, malformed responses, cloud failure redaction and CLI JSON. A separately synthesized short English sentence was submitted through the real Codex endpoint and transcribed correctly on the owner's Mac. No personal recording was used. This single success does not establish Chinese/mixed-language accuracy, long-meeting completeness, quota or account compatibility. Full package/CI/release acceptance is recorded separately.
The input-file 50 MiB restriction was removed before release. FFmpeg inspects
audio locally and prepares eight-minute windows with two seconds of overlap;
raw completed parts are checkpointed privately and interrupted jobs can resume.
Three-hour planning and actual ten-minute local decoding are tested. A nine-minute
synthesized recording completed two real Codex requests, with both part results
retained. This is a transport/completion smoke test, not long-meeting accuracy
acceptance. No speaker labels, word timestamps or automatic REM ingestion.
Existing transcribe() behavior is preserved. See ASR configuration and recovery.
The tagged main branch also includes the earlier REM session-ID repair from #2662: resumed or forked Codex rollout files sharing a session no longer collapse different messages at the same file offset. Legacy IDs and retained citations remain readable.
ConnectOnion