Marginalia v0.2.1
Highlights
- Added the Chat UI Quick / Deep mode switch.
- Added request-level chat mode selection:
POST /v1/chat/{session_id}now acceptsmode: "quick" | "deep". - Added deterministic, non-LLM
read_filesresult compression for long Agent reads. - Added exact reopen support with
read_filescompress: falsefor omitted compressed ranges. - Added runtime settings for read result compression, including a Settings-page toggle and
.envdefaults throughREAD_COMPRESSION_*. - Broadened text routing for common code/config/data files, including JSON/YAML/TOML/XML/HTML/CSV, Python, JavaScript/TypeScript, Go, Rust, Java, SQL, and shell scripts.
Agent Reading
Long read_files results can now be trimmed before they enter the chat model while preserving page, line, and offset anchors. The compression is extractive and lossy, not an LLM summarizer. Visible text remains quoteable; omitted markers must be reopened before quoting or relying on that evidence.
Supported compressed shapes include large plain text, PDF text, JSON, logs, and code-like files. Precision reads are left uncompressed, including pattern hits, explicit line/paragraph ranges, and VLM reads.
Compression is enabled by default. It can be disabled from Settings or with READ_COMPRESSION_ENABLED=false; thresholds can be tuned with READ_COMPRESSION_MIN_CHARS, READ_COMPRESSION_TARGET_CHARS, and READ_COMPRESSION_CONTEXT_CHARS.
Quick Mode
Quick mode keeps the plan phase but caps execute to three LLM calls: the first two may gather evidence with tools, while the third disables tools and must answer from collected evidence. Deep mode keeps the existing full ReAct investigation budget.
Validation
- Backend test suite:
189 passed. - Added unit coverage for PDF page, text, JSON, log, and code read compression.
- Added
read_filese2e coverage for compressed reads andcompress: falsereopen behavior. - Frontend production build passed.
cargo check --locked --all-targetspassed.- CI and Release workflows completed successfully.
Artifacts
Desktop bundles built from v0.2.1.
Desktop targets: Windows x64/arm64, macOS arm64, Linux x64/arm64.
Each bundle ships a self-contained Python runtime; no system Python required.
Docker image: ghcr.io/shenmintao/marginalia:v0.2.1 (linux/amd64, linux/arm64)
First-Launch Notes For Unsigned Binaries
- Windows: SmartScreen may say "Windows protected your PC". Click "More info" and then "Run anyway".
- macOS: Gatekeeper may refuse to open the .dmg. Run
xattr -dr com.apple.quarantine /Applications/Marginalia.appafter dragging it across.