Instantly Extract Key Points from Any URL or Local File
Ever find yourself staring at a long article, research paper, or documentation page, wishing you could just get the gist without the time sink? We've all been there. The context-switching cost of reading something lengthy can derail a coding session. What if you could get a clean, concise summary in seconds?
Enter summarize—a clever open-source tool that does exactly that. It's a local, privacy-focused utility that uses machine learning to extract the key points from any URL or local text file, right from your terminal.
What It Does
In a nutshell, summarize is a command-line tool built in Swift. You feed it a URL or a file path, and it fetches the content, strips away the noise (like navigation and ads), and runs the core text through a local on-device summarization model. It then prints a well-structured summary to your console. No API keys, no data sent to the cloud—just your text and your machine.
Why It's Cool
The magic here is in the implementation and the philosophy. First, it's entirely local. It uses Apple's Core ML framework, meaning your data never leaves your computer. This is huge for privacy and for working with sensitive or proprietary documents.
Second, it's surprisingly effective. It's not just doing simple extraction; it's using a Transformer-based model (specifically a distilled version of BART) trained for summarization. This allows it to generate abstractive summaries—paraphrasing and condensing ideas—not just picking out random sentences.
Finally, it's incredibly developer-friendly. It's a single binary. The workflow is seamless: you're reading a GitHub issue, a long blog post, or a local README.md, and a quick command later, you have the TL;DR. It fits perfectly into a developer's existing flow without needing a browser extension or a separate app.
How to Try It
Getting started is straightforward if you're on a Mac (it requires macOS and Swift to build).
- Clone the repo:
git clone https://github.com/steipete/summarize.git cd summarize - Build it:
swift build -c release - Run it: The binary will be in
.build/release/. You can move it to your/usr/local/binfor easy access, or run it directly.
For a local file:.build/release/summarize https://example.com/some-long-article.build/release/summarize path/to/your/file.txt
There's no official hosted demo because the whole point is running it locally, but the GitHub repo has all the details you need.
Final Thoughts
As developers, we're constantly consuming information. summarize feels like a pragmatic tool that respects your time and your privacy. It's the kind of utility you might not think you need until you've used it a few times, and then it becomes a quiet part of your toolkit. It's especially useful for quickly parsing through lengthy error logs, meeting notes, or that one RFC you've been putting off reading. It's not perfect—no summarization tool is—but for a local, zero-config tool, it's impressively capable.
Check out the project, give it a star if you find it useful, and maybe even tweak the model for your own needs.
Follow us for more cool projects: @githubprojects
Repository: https://github.com/steipete/summarize