v0.8.2.md
docs/release-notes/v0.8.2.md
Tesserae v0.8.2 — web clipper: one-click ingestion from the browser
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-06-13 · PyPI · GitHub release · pip install --upgrade tesserae==0.8.2
Minor release that adds a browser path into the knowledge base. The "autonomous, proactive knowledge ingestion" pillar is now one click from any web page — and the same ingestion is exposed to agents over MCP.
1. Web-clip ingestion endpoint (POST /api/clip)
tesserae serve gains a JSON route that turns a clipped page into typed graph nodes. It writes a provenance-stamped data/ingested/<slug>.md (front-matter url/title/tags/note/clipped_at, an optional ## TL;DR, your ## Note, and the ## Content), then runs the same incremental ingest_sources path the CLI uses. The TL;DR is best-effort via the CLI-backed Claude layer (no API key); a missing/failed summarizer never blocks the clip. The response reports {status, path, tldr, node_count, edge_count}.
2. ingest MCP tool
The same ingestion core is now an MCP tool, so an agent can ingest content it found — no browser required. Inputs: content (required), url, title, note, tags, tldr (default on). It ingests into the active project and returns the same report as /api/clip.
3. Chrome extension (Web Clipper)
A Manifest V3 extension lives in extension/ (load-unpacked; a Chrome Web Store listing is in review). It captures a page's readable content — or just your selection — with an optional note and tags and a per-clip TL;DR toggle, then POSTs to your local tesserae serve. Default shortcut Ctrl+Shift+S (macOS Cmd+Shift+S). See docs/integrations/chrome-extension.md.
4. The clip endpoint is hardened by default
Because a browser is now talking to localhost, /api/clip is locked down:
- Origin-checked CORS. Only browser-extension (
chrome-extension://…) and loopback origins are reflected; a foreign website origin is rejected with403before any work — so a page you happen to visit cannot POST into your graph. - Private Network Access. The preflight answers
Access-Control-Allow-Private-Network: true, so a Web-Store extension can reachlocalhostunder current Chrome. - Body cap. Requests are bounded (5 MB) before they are read into memory.
Upgrading from v0.8.1
Drop-in. To use the clipper, upgrade so tesserae serve exposes /api/clip, then run tesserae serve and load the extension. No graph or config changes are required.