Vibeleaderboard
Index / tool

summarize

summarize.sh
Visit summarize.sh
Category
AI Tools
Rank
No. 2743Tools index

Previous survey · No. 2698 ·

Pricing
Open Source
Type
TOOL
Use case
Data, Retrieval & Knowledge
Interfaces
CLI · Browser Extension
Builder
steipete
Latest release
v0.26.0
Date

About

A CLI tool and Chrome extension that generates fast summaries from URLs, PDFs, videos, audio, and other media using local or cloud AI models. Features a Chrome Side Panel for one-click tab summaries and supports automation with JSON/Markdown output.

What it does

Give it a link or a file and it pulls out the readable text first, then hands that text to whichever language model you have set up. For YouTube and podcasts it looks for existing captions and published transcripts before paying to transcribe anything, and it can grab slide frames from a talk. It runs from a terminal, from a browser sidebar in Chrome or Firefox, or as a small background service that the sidebar talks to. Extraction alone needs no API key.

Why it's ranked here

The breadth is real and documented down to the fallback order. It can drive nine installed coding assistants as model backends, including Claude, Codex, Gemini and Copilot, plus direct keys for providers such as OpenAI, Anthropic, Google and xAI, and a local Ollama option. Auto mode skips models with no key, retries the next candidate on any error, and prints the plain extracted text if nothing is usable. Repeat runs are cheap: transcripts, extractions and finished summaries are cached, keyed on the actual content sent. MIT licensed, installable from npm or Homebrew, with a separate core library.

What's good

Transcripts come first: YouTube goes through two caption sources before downloading audio, and only then walks a stated order of transcription services. The summary cache is keyed on a hash of the content and prompt, so the same article under two addresses hits once. The background service binds to the loopback address, requires a token on every route except health, and applies an auth rate limiter. When a coding assistant is the backend, Codex runs in a throwaway home directory carrying only auth, and pi runs with tools, extensions and context files switched off.

Tradeoffs

Requires Node 24 or newer for the npm install, which rules out many older machines unless you use the Homebrew or macOS builds. Media depth leans on outside binaries: slide capture needs yt-dlp, OCR needs tesseract. To summarize a local image or binary file through Claude Code, it passes the flag that skips permission prompts, and Gemini gets its yolo mode. The docs say the Antigravity no-tools guidance is prompt steering, not a hard boundary. The built-in summary prompt forbids quotation marks and sponsor mentions, which you replace wholesale if you supply your own.

How to use it well

Best for someone who already pays for a coding assistant subscription and wants long videos, podcasts and articles condensed without setting up new API keys: point the auto fallback at that assistant. Use the extract mode when you want clean text to feed your own pipeline, and the stable JSON output for scripts. Install the background service only if you need OCR, native media tools or Firefox media support; the browser sidebar works on its own. It is a reader, not a research agent: it summarizes one source at a time.

Technical notes+

src/cli-main.ts merges a hand-rolled .env parser from the working directory under real env vars, maps SIGINT/SIGTERM to exit codes 130/143 and kills tracked child processes. src/config.ts parses ~/.summarize/config.json section by section, rejecting empty language or prompt strings with a CliError. src/daemon/server.ts serves /health unauthenticated, gates everything else through authorizeDaemonRequest with an AuthRateLimiter, caps concurrent summaries via resolveDaemonMaxActiveSummaries, and listens on 0.0.0.0 only inside Windows containers. src/cache.ts stores entries in one SQLite file with WAL and SHM sidecars; docs/cache.md gives defaults of 512 MB and 30 days, plus a separate 2048 MB, 7 day media cache that the no-cache flag does not disable. docs/llm.md rejects text files over 10 MB before tokenization.

Observed

License
MIT (LICENSE)
Language
TypeScript, ES modules (package.json)
Runtime requirement
Node.js 24 or newer (package.json engines)
Install surface
npm global package, Homebrew, npx one-shot, macOS archives (README.md)
Interfaces
CLI, Chrome side panel and Firefox sidebar, local HTTP daemon, core library package (README.md)
Model backends
Direct provider API keys, OpenAI-compatible endpoints, Ollama, OpenRouter, and installed coding CLIs (docs/cli.md, docs/llm.md)
Daemon binding
Loopback address, default port 8787, token-authenticated (docs/chrome-extension.md, src/daemon/server.ts)
Cache
Single SQLite file with size cap and TTL eviction (docs/cache.md)
Test runner
Vitest with coverage in the check script (package.json)

Read from README.md, package.json, LICENSE, docs/cli.md, docs/llm.md, docs/model-auto.md, docs/youtube.md, docs/cache.md, docs/chrome-extension.md, src/cli-main.ts, src/config.ts, src/cache.ts, src/daemon/server.ts, packages/core/src/index.ts.

What it can do

  • Generate summaries from web pages

    URL → Text summary

  • Generate summaries from PDF documents

    PDF file → Text summary

  • Generate summaries from video content

    Video file → Text summary

  • Generate summaries from audio files

    Audio file → Text summary

  • Generate one-click summaries of browser tabs

    Active browser tab → Text summary

  • Export summaries in JSON format

    Content to summarize → JSON file

  • Export summaries in Markdown format

    Content to summarize → Markdown file

Tags

aisummarizationclichrome-extensionautomationpdfyoutubetranscription

Tech Stack

Node.js

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.