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)
srz (Summarize) is a high-performance, modular Rust CLI tool for extracting and synthesizing structured summaries using local OpenAI-compliant LLMs (such as llama.cpp, Ollama, LM Studio, or vLLM) from:
- π Webpages
- πΊ YouTube video transcripts
- π PDF documents & local files
- β¨οΈ Unix stdin streams
- π Books
- π° Live news digests
Highlights
%%{init: {"flowchart": {"minNodeWidth": 210, "minNodeHeight": 54}}}%%
flowchart LR
subgraph Sources["Input Sources"]
S1["π Web & YouTube URLs\nArticles & Captions"]
S2["π PDFs & Documents\nFiles & Stdin Streams"]
S3["π Books & News Feeds\nSynopses & Live RSS"]
end
subgraph Core["srz Core (100% Private)"]
E1["β‘ Ingest Pipeline\nMap-Reduce Chunking"]
E2["π 100% Local Inference\nOffline LLM Engine"]
E1 --> E2
end
subgraph Highlights["Key Highlights"]
H1["β‘ Rich Terminal Paging\nSyntax-Colored Output"]
H2["π¬ Grounded Q&A Chat\nInteractive srz ask"]
H3["π₯οΈ TUI Dashboard View\nRatatui srz browse"]
H4["ποΈ Searchable Library\nEmbedded DuckDB DB"]
H5["π Clean Reader Views\nDark-Mode HTML & MD"]
H6["π‘οΈ 100% Safe Rust\nStrict Hardened Posture"]
end
S1 --> E1
S2 --> E1
S3 --> E1
E2 --> H1
E2 --> H2
E2 --> H3
E2 --> H4
E2 --> H5
E2 --> H6
- π 100% Local & Private: Runs on your machine with complete privacy, zero subscriptions, and no API keys.
- π‘οΈ 100% Safe Rust & Verified Security: Compiled under
#![forbid(unsafe_code)], strict POSIX0700/0600file isolation, prompt injection defense, and mandatory SHA-256 binary validation. - π¬ Interactive Grounded Q&A: Ask questions grounded on any document or past read via
srz ask. - π₯οΈ Interactive TUI Dashboard: Browse, search, filter, and copy past summaries with
srz browse. - ποΈ Offline Searchable Library: Automatically saves and indexes every summary in embedded DuckDB.
- π Distraction-Free Reader Views: Generates clean HTML and Markdown pages with dark mode support.
- β‘ Rich Terminal Paging: Syntax-highlighted CLI output with automatic paging for long summaries.
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"
Homebrew (macOS & Linux)
Build from Source (Cargo)
If you prefer building with Rust from source:
Usage
Summarize
|
Ask & Chat
Library, Search & Telemetry
Run srz --help to see all available subcommands and flags.
Features
- Multi-Source Ingestion: Webpages, YouTube captions, PDF documents, Markdown/text files, Unix pipes (
-), book synopses, and Google News RSS. - Interactive Q&A (
srz ask): Single-turn and multi-turn REPL chat grounded on full source documents or past reads with delimiter injection defense. - TUI Dashboard (
srz browse): Split-pane terminal explorer with live search, telemetry inspection, clipboard copying, and deletion. - 8 Summary Presets:
concise,detailed,bullets,executive,tldr,critique,eli5, andflashcards. - Offline Storage & Search: Saves all reads to embedded DuckDB with full-text search (
srz find) and HTML index dashboard (srz index). - Reader Views & Paging: Standalone HTML/Markdown exports with dark mode, plus automatic terminal paging (
less -RFX) likebat. - Parallel Map-Reduce: Automatically splits and synthesizes large documents exceeding token limits in parallel.
- 100% Safe Rust & Hardened Security: Compiled under
#![forbid(unsafe_code)], strict POSIX0700/0600permissions, bounded streaming, and SHA-256 binary validation. - Profiles & Diagnostics: Named backend profiles in
config.toml, server health checks (srz doctor), and self-updater (srz upgrade).
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:
# Default local model
= "http://localhost:9931/v1"
= "ggml-org/gemma-4-E4B-it-GGUF:Q8_0"
# Cloud profile (e.g. OpenAI or Anthropic)
[]
= "https://api.openai.com/v1"
= "gpt-4o-mini"
= "sk-..."
Switch profiles on the fly with --profile:
Architecture & Modules
See OVERVIEW.md for detailed Mermaid architecture diagrams and execution sequences.
Running Tests & Static Analysis
# Run full automated test suite (78 tests)
# Strict static analysis (warnings denied)