Features
- LLM providers: add native MiniMax models via the OpenAI-compatible API, keeping reasoning separate from summary text in streaming and non-streaming calls (#250, thanks @neeravmakwana).
- CLI providers: add pi CLI as
--cli pi/--model cli/pi, with JSON-mode parsing, stdin prompts, configurable binary/model, and daemon/Chrome model picker support (#247, thanks @Youpen-y). - Add Antigravity CLI (
agy) as a supported CLI provider. (#231, thanks @yetmike) - CLI media: bundle an LGPL FFmpeg WebAssembly fallback for slide extraction and transcoding when native
ffmpeg/ffprobeare unavailable, while continuing to prefer native tools. - Chrome extension: add a Browser slide runtime with bundled FFmpeg WebAssembly for daemonless video extraction, while keeping Daemon as an optional faster runtime.
- Chrome extension: persist Browser-mode summaries, slide text, transcripts, and thumbnails in Chrome storage for 30 days, with Runtime settings showing cache status and a clear button.
- Add
--diarize [auto|elevenlabs|openai]for speaker-labelled YouTube transcripts using ElevenLabs Scribe v2 or OpenAIgpt-4o-transcribe-diarize. - Add verified speaker naming for diarized YouTube transcripts with timestamp anchors, reusable profiles, transcript-hash-guarded mappings, GPT-5.5 context inference, and atomic
--remember-speakersconfig updates.
Fixes
- CLI cache: derive summary content hashes from binary attachment bytes so repeated local image summaries can hit the cache (#244, thanks @alfozan).
- YouTube transcripts: let
--diarize autoand matching explicit provider requests reuse the same compatible cached speaker-labelled transcript instead of re-transcribing the same video. - Dependencies: enforce a seven-day minimum release age and replace Cheerio/JSDOM HTML parsing with LinkeDOM, reducing the CLI production closure by 47 packages while preserving extraction behavior.
- Dependencies: replace the oversized tokenizer package with a compact o200k-compatible implementation and remove Zag from Chrome extension controls.
- DNS-pinned fetches: bypass Node environment proxies so validated IP addresses cannot be replaced by proxy-side DNS resolution.
- CLI cache: include local media
fileMtimewhen writing transcript cache entries so repeated unchanged audio/video extraction can hit cache (#240, #241, thanks @alfozan). - CLI: pass Codex image attachments to
codex execso local image summaries no longer fail before starting (#242, #243, thanks @alfozan). - OpenAI-compatible gateways: honor
OPENAI_USE_CHAT_COMPLETIONS=falseandopenai.useChatCompletions=falseso custom base URLs can use the Responses API (#235, #236, thanks @mzbgf). - RSS transcripts: block feed-controlled transcript URLs that target loopback, private, link-local, reserved, or redirected local-network addresses (#239, thanks @Hinotoi-agent).
- Podcast transcripts: cap remote media downloads at 512 MB by default, with a finite opt-in override for larger files (#237, thanks @Hinotoi-agent).
- Anthropic: forward explicit CLI
--thinkingto Anthropic text and streaming requests without leaking persisted OpenAI thinking defaults into non-OpenAI providers (#233, thanks @wangwllu). - Chrome extension: abort stale side-panel summary streams on tab changes so delayed output from a closed or replaced tab cannot render under the new page title.
- Core: extract video IDs from YouTube
/live/URLs so live and premiere links no longer abort summarization (#232, thanks @devYRPauli). - Chrome extension: keep YouTube slide cards on the shared slide-summary path so local browser thumbnails receive the same summary text shape as CLI
--slides.
npm
- CLI: @steipete/summarize@0.17.0
- CLI registry tarball: steipete-summarize-0.17.0.tgz
- CLI integrity:
sha512-ghVXEoD7cI44DdGl9vUBFtUYWGMrQ3oQTYc5PfIwbYOOFNxtOBNmO8oRBoZzgVedrnNdQQR6dJNOh1c/+pw1FQ== - Core: @steipete/summarize-core@0.17.0
- Core registry tarball: steipete-summarize-core-0.17.0.tgz
- Core integrity:
sha512-GiFawErNtNxQyhxoKuens6LLELKQUoS9Lf2bjL/N3W1DUj9g3EAmap5LX+9icWljnRAloXeco7qOEaaSRGEjpA==
Artifact SHA-256
- macOS arm64:
f156acf10ba8ca5709ccec89bdfcf1dd17518116e8ca3961ca1425c6b59b01d8 - macOS x64:
bac577b76b999625773fae47b6bd00c8e35e42b610c2596d6809ad963eaa77bd - Chrome extension:
88fb23288c6080168c57ba559498e6624320e244a45204f4409a37ba5ac6324a - Firefox extension:
1e0d54d0df486130cccba59183cbc50cfe7dca320e4d6f2ecbbf05371e8984fd
Verification
- CI: successful run
- Commit:
a0224503 - Registry tarballs were reproduced byte-for-byte from the tagged commit before release.