Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
srz (Summarize)
A fast, modular Rust CLI for distilling webpages, local files, stdin streams, books, and live news digests into structured summaries using any local OpenAI-compliant LLM (such as llama.cpp, Ollama, LM Studio, or vLLM).
Highlights
- Summarize anything: works with web links, book titles, local files, piped text, and news topics.
- Multi-source news briefings: aggregates top articles from Google News RSS for any topic, decodes destination publisher URLs, and synthesizes executive briefings.
- Fact-checked book summaries: pulls synopses from Wikipedia and Open Library—no ebook files or API keys needed.
- 100% local & private: runs on your own machine using
llama.cpp,Ollama,LM Studio, orvLLM. - Searchable personal library: saves every summary locally so you can search past reads offline.
- Clean reader views: generates one-click HTML and Markdown pages with automatic light and dark mode.
Prerequisites: LLM Backend Server
srz requires an OpenAI API-compliant LLM server. While cloud provider APIs (OpenAI, Anthropic, Google, Groq, etc.) are supported, running a local LLM is strongly preferred for complete privacy, zero subscription fees, and offline capability:
- macOS: Llama-macOS (recommended local default; connects out-of-the-box on port
9931). - Windows: Llama-Windows (recommended local default; connects out-of-the-box on port
9931). - Linux: llama.cpp (recommended local default; run
llama-server). - Other Backends: Compatible with Ollama, LM Studio, vLLM, or cloud providers (OpenAI, Anthropic, Google Gemini, Groq, etc.).
See Configuring Your LLM Backend below for step-by-step setup instructions and profile templates.
Installation
Quick Install
macOS & Linux:
|
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/NewGuy012/srz/master/install.ps1 | iex"
Build from Source (Cargo)
If you prefer building with Rust from source:
Usage
Pass any target directly—srz auto-detects URLs, books, files, news, or stdin.
Summarizing Content
|
Live News Briefings
Styles & Reader Views
Offline Library & Search
Self-Update & Maintenance
Run srz --help to see all available subcommands and flags.
Features
Content Sources & Ingestion
- Web Articles & Documents: Summarizes webpages, PDFs, ebooks, text files, and piped terminal text.
- Books by Title: Generates verified overviews from Wikipedia and Open Library without needing an ebook file.
- Live News Briefings: Curates and summarizes top stories on any topic or timeframe from Google News.
LLM Engine & Synthesis
- 8 Summary Styles: Tailor output with presets like concise, detailed, bullet points, executive, or quick takeaways.
- Parallel Processing for Long Texts: Automatically splits and processes long documents in parallel.
- Visual Feedback & Live Streaming: Clean progress indicators with optional real-time streaming.
Offline Library & Storage
- Offline Full-Text Search: Search through your entire history of past summaries completely offline.
- Visual Library Dashboard: Browse, filter, and review all your saved summaries in an interactive dashboard.
- Instant Reader Views: Generates clean, distraction-free reading pages with automatic light and dark mode.
Configuration & CLI Experience
- Config File & Profiles: Save default preferences and switch between different models with ease.
- One-Command Upgrades: Safe in-place binary upgrades with SHA256 integrity verification (
srz upgrade). - Health Checks & Diagnostics: Verify backend connectivity and inspect available models with built-in tools.
Configuring Your LLM Backend
srz connects to any OpenAI-compatible API. Local inference is preferred for privacy and zero cost, but cloud providers are fully supported.
Local LLMs (Preferred)
- macOS & Windows (Default): Install Llama-macOS (macOS) or Llama-Windows (Windows). Launch the app and load a model—
srzconnects automatically tohttp://localhost:9931/v1with zero setup. - Linux: Build or install llama.cpp and launch
llama-server:# Start llama-server on port 9931 for zero configuration: # Or on default port 8080: - Diagnostics: Run
srz doctorto test server latency andsrz modelsto list loaded models.
Cloud Providers (Optional)
srz works with any OpenAI-compatible provider (OpenAI, Anthropic, Google, Groq, OpenRouter):
# Or on the fly via CLI flag:
Profile Switching (~/.config/srz/config.toml)
Run srz config init to generate a starter config, then configure named profiles for your favorite local or cloud models:
# Default local backend (runs out-of-the-box with Llama-macOS / Llama-Windows / llama-server)
= "http://localhost:9931/v1"
= "ggml-org/gemma-4-E4B-it-GGUF:Q8_0"
# Cloud profile: OpenAI
[]
= "https://api.openai.com/v1"
= "gpt-4o-mini"
= "sk-..."
# Cloud profile: Anthropic Claude
[]
= "https://api.anthropic.com/v1"
= "claude-3-5-sonnet-20241022"
= "sk-ant-..."
# Cloud profile: Google Gemini
[]
= "https://generativelanguage.googleapis.com/v1beta/openai"
= "gemini-2.0-flash"
= "..."
Run with your default local model, or switch to any cloud profile seamlessly:
Architecture & Modules
See OVERVIEW.md for detailed Mermaid architecture and sequence diagrams.
Running Tests