PathKeep v0.3.0
PathKeep v0.3.0 is the largest release so far: a full visual rebuild on the paper aesthetic, the complete optional AI stack (streaming chat, agent tools, embeddings, semantic and hybrid search), stars, consent-gated site enrichment, and a durability program that makes the archive crash-safe end to end. Everything stays local-first: AI is opt-in and off by default, and PathKeep remains fully usable without any LLM or embedding provider.
Highlights
Paper redesign
- The entire app moved to the new paper aesthetic: a redesigned dashboard (hero, On This Day, year heatmap, browsing threads), sidebar / topbar / status bar shell, and a ⌘K command palette.
- Self-built SVG chart primitives (calendar heatmap, sparklines) replace div-based charts, and unified skeletons now match their real layouts so pages no longer shift on load.
Optional AI, rebuilt end to end (off by default)
- Streaming AI chat with rendered markdown, a collapsible reasoning chain, visible tool use, and cancel — validated live against LM Studio. Conversations persist locally in a derived sidecar and are deliberately excluded from portable export bundles.
- A durable, observable agent harness with tool execution, a code-mode sandbox, and MCP / skill artifacts.
- Three embedding tiers: an external OpenAI-compatible
/v1/embeddingsendpoint, an in-app quantized Qwen3-Embedding-0.6B engine (no external runtime needed), and a fast static multilingual base tier — with content-hash dedup so identical pages embed once. - Real semantic search on a two-stage local vector index (binary recall → int8 rescore), validated on 14.4M rows at ~105ms median query latency within an 8GB RAM envelope.
- Hybrid search fuses lexical and semantic results with bounded starred boosting, so starred pages get a nudge but can never crowd out stronger matches.
- An optional GPU (Metal) heavy tier with selective or full re-embedding.
- No provider configured? Every AI surface degrades honestly to deterministic behavior — nothing breaks, nothing nags.
Stars
- Star any page from Explorer, search results, or the detail panel; browse them in the new Starred hub; filter with
is:starred(enforced across both lexical and semantic search). Stars ride the portable export.
Site enrichment (consent-gated, hard default OFF)
- Opt-in content fetching enriches history entries with GitHub repo metadata and readable page summaries, with per-extractor and per-domain controls, per-host rate limits, SSRF guards, and an always-visible disclosure of exactly what leaves the machine.
- Enrichment feeds full-text search (with result excerpts) and embeddings, and shows up as an "Enriched content" section in the detail panel.
Archive durability
- A ground-up durability program: crash-atomic writes, cross-process locking, crash-safe rekey, and crash-recoverable imports — a crash mid-operation can no longer corrupt the archive.
- The app auto-heals a drifted or half-recovered archive on launch, and a calm in-app "Restore from snapshot" GUI offers one-click full-archive restore from a verified snapshot, including a recovery path for encrypted archives.
- Upgrading from v0.2.0 is proven loss-free and brick-free, with a first-run progress screen while the archive migrates.
Onboarding and shell
- Onboarding now detects macOS Full Disk Access denial and guides you through it instead of reporting "found 0 browsers".
- The AI onboarding step is a real opt-in: nothing pre-selected, Skip is the effortless default.
- Background work is visible everywhere via a unified task bar, and index builds are resumable with honest progress.
Search
- Notes and tags are now findable by plain keyword search.
macOS unsigned app install
The macOS DMG builds in this preview are not signed with an Apple Developer ID and are not notarized. macOS Gatekeeper may block the app after download.
- Download the DMG for your Mac:
- Apple Silicon:
PathKeep_0.3.0_darwin_aarch64.dmg - Intel:
PathKeep_0.3.0_darwin_x64.dmg
- Apple Silicon:
- Open the DMG and drag
PathKeep.appto/Applications. - Verify the download checksum if desired:
cd ~/Downloads
shasum -a 256 PathKeep_0.3.0_darwin_aarch64.dmg
shasum -a 256 PathKeep_0.3.0_darwin_x64.dmgExpected SHA-256:
67eeb30d7142a45ac01614967d6cb23c7c34839cf6827a1ea288283e9765db41 PathKeep_0.3.0_darwin_aarch64.dmg
ed3b0f93f4fc5b11561c6996f34384fb875f53bc36e8d57093b7c1dd22521371 PathKeep_0.3.0_darwin_x64.dmg
- Remove the quarantine attribute and open the app:
xattr -dr com.apple.quarantine /Applications/PathKeep.app
open /Applications/PathKeep.appIf you put the app somewhere else, replace /Applications/PathKeep.app with that path. If Finder still blocks launch, use right-click -> Open once, or check System Settings -> Privacy & Security.
Security
- RustSec advisories were cleared by taking the patched dependencies before this release, including the Dependabot refreshes since v0.2.0.
- New AI, enrichment, and networking code paths went through repeated multi-round adversarial review pipelines (SSRF guards, rate limiting, secret handling with in-memory zeroization, export exclusions for chat history and raw fetched content).
Notes
- All user-visible copy ships in English, 简体中文, and 繁體中文.
- Windows installers are unsigned preview artifacts.
Unknown Publisherand SmartScreen prompts are expected; WebView2 downloads only on machines missing the runtime. - Updater artifacts are only produced when the release workflow is run with updater signing configured; unsigned preview builds skip updater publishing.
- Site enrichment for YouTube / Bilibili / X metadata, and a neural reranker on the GPU tier, remain future work.
SHA256SUMS.txtandRELEASE-MANIFEST.jsonare attached for all assets.