Releases: flight505/NotebookAI
Release list
v0.3.1
v0.3.0
v0.3.0 — hardening pass: launch flow, runtime internals, SSE resilien…
v0.2.0 — production polish
v0.2.0 — production polish
Six features that take NotebookAI from "build complete" to "feels like a product."
Highlights
- GitHub Actions CI — pytest + ruff + Next.js build + cargo check + Playwright e2e on every PR. Sidecar binary build matrix for macOS arm64/x86_64, Linux x64/arm64, Windows x64 — artifacts attach to GitHub Releases on tag push.
- Wiki-only mode (graceful degradation) — when Claude credentials are missing, NotebookAI no longer errors out. Ingest still saves raw markdown (compile skipped), Ask returns retrieval-only answers from the local sqlite-vec index, Lint runs the passive watcher only. Surfaced via top-nav badge + amber banner on the Ask page + new
agent.unavailableSSE event. Seedocs/wiki-only-mode.md. - PyInstaller-bundled sidecar — Tauri desktop now ships a single-file backend binary; end-users no longer need
uvinstalled. The Rust shell falls back touv runfor the dev loop when the bundled binary isn't present. - Playwright e2e suite — 16 browser tests across Read, Ask, Curate, Library modes, ~19s wall-time, deterministic via per-test API mocking (no real backend). 13 components got
data-testidattributes for selector stability. - Real app icons + brand mark — bold cream N on an ink-blue squircle with a single amber AI-node accent. One Python script generates every Tauri size, ICNS, ICO, and the web favicon. See
docs/branding.md. - Scheduled lint cron — per-notebook hourly Haiku lint with idle detection (max-mtime over
wiki/+raw/viaos.scandir) and token-budget gating. UI shows a "Next: in 23m" countdown with a "Run now" button. - First-run welcome flow — empty library + flag absent → 3-step welcome with a pre-seeded demo notebook (3 wiki articles + 1 chat) so a fresh install gives the user something to navigate immediately.
Stats
- 7 PRs merged (#1–#6 plus initial CI commit)
- ~25k LOC (up from ~14k in v0.1)
- 131 backend tests + 21 Playwright e2e tests, all green
- macOS, Linux, Windows backend + Linux Playwright now CI-verified per PR
Acknowledgements
Every PR went through isolated subagents with strict input/output contracts and a verification gate, per BUILD.md discipline. Pull requests are tagged with the contract section they amended.
Migration from v0.1.0
No breaking changes. New endpoints are additive:
POST /api/library/demo— create the demo notebookGET /api/notebooks/{id}/lint/schedule+POSTto update +POST .../run-nowGET /api/notebooks/{id}response gainedagent_status: {available, reason}- New SSE events:
agent.unavailable,lint.scheduled,lint.skipped,lint.run_complete
notebook.json schema additions are optional (lint_schedule_enabled, lint_schedule_interval_minutes); existing notebooks keep working with defaults.
Followups bumped from this milestone
- macOS codesigning + notarization for the bundled sidecar — out of scope until an Apple Developer ID is wired up
- Wider Tauri test coverage —
cargo checkruns but no functional tests yet - Hugging Face model pre-baking into the sidecar — would add ~33MB to bundle in exchange for instant first-launch
v0.1.0 — initial release
Local-first, agent-native knowledge workspace. 15-phase orchestrated build.
Highlights
- Notebooks are folders of plain markdown —
raw/,wiki/,chats/— owned by the user, agent-portable across Claude Code / Codex / Cursor / Antigravity. - Compounding knowledge: every ingest sharpens wiki pages instead of inflating a chunk store; answers cite durable wiki pages.
- Local-first: bge-small embeddings + sqlite-vec on-device; Claude Agent SDK against your Max OAuth or
ANTHROPIC_API_KEY. - Tauri 2 desktop shell (native macOS vibrancy + transparent titlebar).
Quick start
git clone https://github.com/flight505/NotebookAI.git && cd NotebookAI
cd backend && uv sync && uv run notebookai new my-research && uv run notebookai serve &
cd ../frontend && pnpm install && pnpm devStats: 21 commits, 14k LOC, 114 backend tests, all gates green.
See VISION.md for the product thesis, docs/CONTRACTS.md for symbol-level contracts, and BUILD.md for the 15-phase build provenance.
Known followups (v0.2 milestone): CI/CD, agent-unavailable degradation mode, real app icons, Playwright e2e, Tauri sidecar binary.