DISCOVER THE FUTURE OF AI AGENTSarrow_forward

Summarize

calendar_todayAdded Feb 23, 2026
categoryAgent & Tooling
codeOpen Source
TypeScriptNode.js大语言模型MultimodalCLIAgent & ToolingModel & Inference FrameworkAutomation, Workflow & RPAKnowledge Management, Retrieval & RAG

A cross-platform CLI tool and browser extension that extracts and summarizes content from any URL (websites, YouTube, podcasts) or local files (PDF, audio/video, images), supporting multiple LLM providers and local models.

Overview#

Summarize is a multi-source content summarization tool developed by steipete, positioned as "Point at any URL/YouTube/Podcast or file. Get the gist." It provides unified handling of websites, YouTube videos, podcasts (Apple Podcasts/Spotify/RSS), local files (PDF/images/audio/video/text), and standard input pipes.

Core Capabilities#

Input Sources#

  • URLs: Websites, YouTube, Podcast RSS, Apple Podcasts, Spotify, etc.
  • Local Files: PDF, images, audio, video, text files
  • Standard Input: Via pipe or - argument (50MB limit)
  • Podcasts: Apple Podcasts, Spotify, Amazon Music/Audible, Podbean, Podchaser, RSS feeds

Content Processing#

  • Web Extraction: HTML → clean text → summary; with Readability, markitdown, Firecrawl fallback
  • YouTube Transcription: Prioritizes web caption endpoints, falls back to Apify or yt-dlp + Whisper
  • Podcast Transcription: Prioritizes Podcasting 2.0 RSS transcripts, falls back to Whisper
  • Slide Extraction: Video scene detection + screenshots + optional OCR + timestamp cards
  • Media Transcription: Local audio/video via Whisper or NVIDIA Parakeet/Canary ONNX models

Output Modes#

  • Markdown / Text format
  • JSON diagnostic output (--json)
  • Extract-only mode (--extract)
  • Streaming output (with ANSI/OSC Markdown rendering)
  • Metrics and cost estimation (--metrics)

Length Presets#

PresetTarget CharsRange
short~900600-1,200
medium~1,8001,200-2,500
long~4,2002,500-6,000
xl~9,0006,000-14,000
xxl~17,00014,000-22,000

Model Support#

  • Auto model selection with fallback (--model auto)
  • Local models: OpenAI-compatible endpoints
  • Paid providers: OpenAI, Anthropic, Google, xAI, Z.AI, NVIDIA
  • Free model presets: OpenRouter :free models (--model free)
  • CLI coding assistants: Codex, Claude, Gemini, Agent CLI backends

Platform Support#

  • CLI: Cross-platform terminal tool (npm / npx / Homebrew)
  • Chrome Extension: Side Panel UI
  • Firefox Extension: Sidebar UI

Installation#

# npm (cross-platform)
npm i -g @steipete/summarize

# npx (no install required)
npx -y @steipete/summarize "https://example.com"

# Homebrew (macOS arm64)
brew install steipete/tap/summarize

# Minimal dependency library mode
npm i @steipete/summarize-core

Usage Examples#

# Web page summary
summarize "https://example.com/article" --length long

# YouTube video summary (with transcription)
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto

# PDF document summary
summarize "/path/to/file.pdf" --model google/gemini-3-flash-preview

# Podcast RSS summary
summarize "https://feeds.npr.org/500005/podcast.xml"

# Slide extraction
summarize "https://www.youtube.com/watch?v=..." --slides --slides-ocr

# Use free models
summarize "https://example.com" --model free

Configuration#

Config file location: ~/.summarize/config.json

{
  "model": { "id": "openai/gpt-5-mini" },
  "env": { "OPENAI_API_KEY": "sk-..." },
  "ui": { "theme": "ember" }
}

Architecture#

  • Language: TypeScript (96.4%)
  • Package Manager: pnpm (monorepo)
  • Build: Vitest configuration
  • Model Interface: OpenAI-compatible API / AI SDK
  • Core Library: @steipete/summarize-core

Requirements#

  • Node.js 22+
  • Optional: yt-dlp, ffmpeg, tesseract, whisper.cpp, uvx/markitdown

Related Projects

View All arrow_forward

STAY UPDATED

Get the latest AI tools and trends delivered straight to your inbox. No spam, just intelligence.

rocket_launch