Releases: crafter-station/trx
Releases · crafter-station/trx
Release list
v0.9.2
Added
- Non-interactive Windows setup with
trx init --yes, suitable for IT-managed installs and CI. - A real Windows gate powered by cuse that installs the npm package, generates spoken audio with Windows SAPI, runs a local Whisper transcription, verifies
trx doctor, and retains JSON, audio, SRT, text, and screenshot evidence.
Fixed
- Complete Whisper runtime installation into
%USERPROFILE%\.trx\bin, including the DLLs required bywhisper-cli.exe. - Immediate executable resolution for Whisper, ffmpeg, ffprobe, and yt-dlp without restarting PowerShell.
- Portable dependency fallback when
wingetor Microsoft App Installer is unavailable. Downloads are pinned and verified with SHA-256 before installation.
Upgrade
bun add --global @crafter/trx@latest --force
trx init --yes --backend local --model small --language es
trx doctor --output jsonv0.9.1
v0.9.0
Added
--backend elevenlabs— transcription through ElevenLabs Scribe, the first trx backend that reports who is speaking. Modelsscribe_v2(default) andscribe_v1. The upload limit is 5 GB rather than the 25 MB and 100 MB of the other cloud backends, so this one never chunks.--diarizeand--speakers <n>— separate speakers. Every SRT cue is prefixed with its speaker ([speaker_0]) and the.txtbecomes a conversation, one paragraph per turn.--speakerstakes 1 to 32, the range the API accepts, and implies--diarize. Both are rejected onlocal,openaiandvercelinstead of being ignored: no other backend returns labels, and dropping the flag quietly would return an undiarized transcript that looks like the request succeeded.- Keychain fallback for the API key —
ELEVENLABS_API_KEYis read from the environment first, and on macOS from theelevenlabslogin Keychain entry when the variable is unset, so a key already stored there does not have to be exported into every shell.trx doctorresolves it through the same path a real run uses, so it cannot report a key missing that trx would have used. - ISO 639-3 language codes on this backend — Scribe accepts
esandspaalike and normalizes both tospa. The other backends still take ISO 639-1 only, which is the set whisper.cpp accepts.
Notes
Scribe timestamps every word, so cues are grouped rather than emitted one word each: a pause of 0.6s or more starts a new cue, a cue is capped at 84 characters, and a change of speaker always cuts. Those first two thresholds are subtitle conventions picked to read well, not measurements. The speaker rule is not subject to them, because a cue holding two voices misattributes the line.
Verified end to end on a 26 minute two-speaker Spanish interview: 488 cues, no cue mixing speakers, monotonic timestamps, transcript covering 25:56 of a 25:59 recording.
Upgrade
bun add -g @crafter/trx@latest --force
trx init --backend elevenlabs
trx interview.m4a -b elevenlabs --speakers 2v0.8.1
What's Changed
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
Full Changelog: v0.7.1...v0.8.0
v0.7.1
v0.7.0
Added
trx skills(#26) — the agent manual now ships with the CLI and is served from it.trx skills listshows what is bundled,trx skills get trxprints the markdown to stdout for pasting into context,--fullappends the reference files, andtrx skills pathgives the directory. No install step, no second copy to keep in sync.--output jsonworks on every subcommand, andTRX_SKILLS_DIRoverrides where trx looks.
Fixed
- The bundled skill now ships to npm (#25) —
skillswas missing frompackage.jsonfiles, so the directory never entered the tarball. Nothing consumed it from an install, which is how it sat at 0.5.0 while the CLI shipped 0.6.1 without anyone noticing. - The shorthand router no longer swallows new subcommands — it matched against a hardcoded list that had to be updated by hand for every command added.
trx skillsfell through it and tried to transcribe the skills directory. The list is now derived from the registered commands.
Upgrade
bun add -g @crafter/trx@latest --force
trx --version # -> 0.7.0
trx skills list
trx skills get trx --fullv0.6.1
What's Changed
Full Changelog: v0.6.0...v0.6.1
v0.6.0
Added
- Automatic chunking on cloud backends — files over the provider limit (OpenAI 25 MB, gateway 100 MB) now split with ffmpeg, transcribe chunk by chunk with progress, and stitch back into one continuous transcript and SRT. Timestamps stay monotonic across chunk boundaries. A 2-hour podcast now works on cloud backends out of the box.
--no-chunkkeeps the old hard error. trx models— list available transcription models per backend. Local and OpenAI lists are static; the vercel backend queries the gateway live, so agents can discover what is actually available instead of guessing model slugs.
Upgrade
bun add -g @crafter/trx@latest --force
trx --version # -> 0.6.0
trx models
trx long-podcast.mp3 -b vercelv0.5.1
Fixed
--backend vercelreturned 400 "Unsupported gateway protocol version" — the gateway requires three protocol headers (ai-gateway-protocol-version,ai-transcription-model-specification-version,ai-gateway-auth-method) that the REST docs do not mention. Captured from a real@ai-sdk/gatewayrequest and now sent by trx. Verified end to end againstopenai/whisper-1andxai/grok-stt.
Changed
- Slimmer npm tarball (from 0.5.0 cleanup): tests, fixtures, and tsconfig no longer ship. 26 -> 18 files.
Upgrade
bun add -g @crafter/trx@latest --force
trx --version # -> 0.5.1
trx recording.mp4 -b vercel