Skip to content

AI Private Workspace v0.2.3

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 15:57
a155621

Downloads

macOS

Windows

A change-aware release. The app now keeps track of what changed in your
project and keeps the local model's knowledge fresh — without re-indexing the
whole repository. A dated change history (git-based, cheap), an incremental
re-index
of only the files whose content changed, and an Ask that can answer
"what changed today / since yesterday" from that journal. The bundled llama.cpp
engine is also faster and more reliable, and the read-only Investigator agent
uses schema-constrained output where the engine supports it. Everything stays
local, and no new model downloads are required.

Added

  • Faster, more reliable bundled llama.cpp engine. The answer server now starts with Flash Attention (quicker generation, smaller KV cache) and a KV-slot save path so a warm prompt prefix can persist to disk. Both are best-effort: if a particular build rejects a flag, the server automatically retries on the known-good baseline, so startup can never break. New env knobs: AI_WORKSPACE_LLAMA_FLASH_ATTN (default on) and AI_WORKSPACE_LLAMA_PARALLEL (default 1; raise for concurrent request slots, at the cost of per-request context). GPU offload was deliberately left out to stay safe on the CPU-only Windows/Linux builds.
  • Structured (JSON-Schema) output for the llama.cpp provider. Generation can be constrained to a JSON Schema so the model cannot emit invalid JSON (core.domain.structured_output) — the foundation for more reliable agents and structured features. (Ollama accepts the option but ignores it for now.)
  • Exact token budgeting. When the engine exposes a tokenizer (llama.cpp /tokenize), the Ask context-window budget now uses real token counts instead of the ~4-chars-per-token estimate, and falls back to the estimate otherwise.
  • More reliable Investigator steps. When the engine supports structured output (llama.cpp), the read-only Investigator agent now asks for each ReAct step as a schema-constrained JSON object, so the chosen tool-call can't be malformed. Engines without it (Ollama) keep the lenient text protocol, and a non-JSON reply degrades gracefully back to text parsing — no behaviour change for them.
  • Incremental re-index (changed files only). When the project changes, you can update the AI's knowledge without re-indexing the whole repo: a new "Update index (changed files)" action (Settings) re-embeds only the files whose content hash changed and drops chunks for changed/removed files, leaving the rest untouched. Tracked by a per-file content-hash manifest (no reliance on mtime). New POST /workspaces/{id}/index/changed; the vector stores gained delete-by-source-path. The Settings section shows a stale-index hint ("N files changed since the AI last indexed them", from a cheap embed-free …/index/changed/preview) and an optional auto-update (off by default) that runs the incremental update once a day when you open the workspace. Then just ask in Ask — questions like "what changed today?" or "what changed since yesterday?" now pull the dated git change journal into the answer's context automatically.
  • Change history timeline. A new History tab under Project Intelligence keeps a durable, date-grouped journal of what changed in the project — summary, risk/structural counts, changed areas (hover a chip for the files) and commit subjects — so the "what changed since last time" digest no longer vanishes when you leave the view. It fills automatically: opening the app on a new day records a dated entry from git alone (a cheap path — no file rescan, no graph rebuild, no re-indexing). "Check now" additionally re-scans to capture structural changes. A generated one-tap summary is saved onto its entry too.

Changed

  • New app icon. Redesigned the macOS/Windows app icon as a proper rounded-tile icon: a deep-forest gradient background with the pigeon-and-shield mark filling the tile and the home outline glowing as a frame — far more legible at dock/taskbar sizes than the previous white-background version. Regenerated the full set (.png, .ico, .icns). The brand mark also gets brighter, livelier eyes.
  • Bundled llama.cpp updated to b9789 (from b9777) for scripts/fetch_llama_server.sh and the release / Windows build workflows.
All commits in this release
  • release: 0.2.3
  • ruff format
  • feat(index): stale-index hint + optional auto-update (changed files)
  • refactor(settings): extract UpdateIndexSection (CodeFactor complexity)
  • ruff fix
  • feat(ask): answer 'what changed today' from the dated change journal
  • feat(index): incremental re-index endpoint + Settings button + DI/inventory
  • feat(index): incremental re-index by content hash (backend)
  • refactor(watch): single home for history — remove inline timeline from Home card
  • feat(watch): cheap git-only history journal + date-grouped timeline
  • refactor(watch): split history timeline into HistoryEntryItem + HighlightList
  • ruff fix
  • feat(watch): hover an area chip to see which files changed
  • feat(watch): surface change history on the Project Watch card + richer entries
  • refactor: use contextlib.suppress for best-effort history writes (B110)
  • ruff fix
  • ruff format fix
  • docs(api): inventory the watch/history endpoint
  • feat(intelligence): durable change-history timeline + History tab
  • feat(investigator): JSON-schema structured steps with text fallback
  • feat(llamacpp): flash-attn, KV-slot cache, parallel slots, JSON-schema output, exact tokenizer
  • chore: new app icon + bump bundled llama.cpp to b9789

Full changelog: v0.2.2...v0.2.3