Skip to content

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 04:00
· 146 commits to main since this release
8dfbe1f

Open Science v0.19.0

An xAI (Grok) OAuth subscription provider, governed Marketplace-installed Specialists, notebook cross-run dependency tracking with tree-sitter analysis, mid-turn Send now through native follow-up steering, message-artifact previews from Markdown, compaction transcript boundaries, SQLite-indexed session metadata for fast summary-first startup, terminated read-only notebook previews, a redesigned About with Help Center, an archive undo shortcut, custom model token limits, a complete OAuth connector lifecycle, and the deepseek-v4-flash-vision-exp model — alongside coalesced tool-burst IPC, batched event drain, and a long list of notebook, composer, workspace, and provider fixes.

Open Science is an open-source, local-first AI research workbench for scientists and researchers. It enables reproducible, inspectable research across models with scientific AI agents, Python and R execution, scientific data connectors, and cross-platform support for macOS, Windows, and Linux.

v0.19.0 is a feature release. A new xAI (Grok) OAuth provider lets one subscription account drive Grok 4.6 across Claude Code's Anthropic protocol, OpenCode's Chat Completions, and Codex's Responses — with app-owned device authorization, main-process token refresh, and local count-token approximation. Marketplace-installed Specialists become governed packages: publisher-owned content is read-only, updates require higher SemVer against an exact content baseline, Installed groups All/Custom/Marketplace/Built-in, and update/copy/uninstall share one managed lifecycle. Notebooks gain cross-run dependency tracking: Python and R runs are analyzed in-process with tree-sitter WASM, tracking aliases, mutations, classes, and library effects so later outputs are marked stale when their variables changed. Send now on a queued message no longer interrupts the live turn — a host compatibility layer routes mid-turn additions through native follow-up steering where the framework provides one, and falls back gracefully where it does not. Message bodies preview their artifacts: managed file links and Markdown images open in the existing preview workbench with zoom affordances. Context compaction renders as a clear transcript boundary instead of a tool row. Session startup is summary-first: query metadata and per-turn usage are indexed in SQLite, so navigation, counts, search, and analytics no longer parse every session file at launch. Terminated notebook previews become read-only. About is redesigned into an app-identity row with Help Center and release-notes resources, plus a feedback entry. Custom providers gain separate context-window, input-cap, and output-cap token limits with editable presets, and custom reasoning controls simplify to what the model supports. OAuth connectors complete their lifecycle: first-run authorization in a cancellable dialog, transient recovery prompts at runtime, and pre-registered redirect URIs. deepseek-v4-flash-vision-exp joins the catalog. On the performance side, tool bursts coalesce into renderer IPC batches, live non-text events drain in batches, session-renderer history scans drop to one per stream batch, and installer logs batch with capped renderer retention.

✨ Highlights

  • xAI (Grok) OAuth subscription. One subscription account works across all three agent protocols — Claude Code (Anthropic Messages), OpenCode (Chat Completions), and Codex (Responses) — through the xAI Responses API. Device-code sign-in from Settings and onboarding, main-process token refresh with a single 401 retry, locally approximated Anthropic count-tokens, and Grok 4.6 as the default model. (#1554, #1556)
  • Governed Marketplace Specialists. Marketplace-installed packages carry an explicit marketplace origin: publisher content is read-only (icon, color, and enabled remain editable), manual ZIP overwrite is blocked, updates require higher SemVer against an exact content baseline, and Installed groups All / Custom / Marketplace / Built-in with a managed detail view — quiet update availability, Create editable copy, separate enable/disable, and tailored uninstall confirmation. (#1600)
  • Notebook cross-run dependency tracking. Completed Python and R runs are analyzed in-process with tree-sitter WASM — aliases, root-object mutations, classes, S4/R6 objects, copy/reference semantics, and common scientific-library effects — so outputs captured from earlier variable states are marked stale, clear, or unknown instead of silently misrepresenting current state. (#1553)
  • Mid-turn Send now. Sending a queued message while a turn runs no longer interrupts it: a host compatibility layer uses the framework's native follow-up steering (_session/steering) where available and never opens a second prompt interaction; where steering is absent, fallbacks degrade gracefully instead of cancel-and-resend. (#1566, #1593, #1592, #1590)
  • Summary-first session startup. Session query metadata and per-turn usage are duplicated into SQLite as a materialized view; healthy startup reads summaries and loads a session file only when that session is opened or exported — startup no longer parses every session JSON. (#1618, #1631)

🚀 New Features

  • xAI (Grok) OAuth subscription provider — app-owned device authorization with a single subscription account; Anthropic Messages, Chat Completions, and Responses traffic routed through the xAI Responses API; main-process token refresh with one 401 retry; local o200k_base count-token approximation; device-code sign-in in Settings and onboarding across all six locales; grok-4.6 default. (#1554, #1556)
  • Governed Marketplace-installed Specialists — additive marketplace origin with read-only publisher content; privileged package transactions preserving local presentation; SemVer-guarded updates against exact content baselines; All/Custom/Marketplace/Built-in Installed grouping; managed detail with quiet updates, editable copy, separate enable/disable, and tailored uninstall; provenance cleanup and guarded historical backfill. (#1600)
  • Notebook cross-run dependency tracking — tree-sitter WASM analysis of Python and R runs in-process; alias, mutation, class, object-model, and library-effect tracking; clear/stale/unknown dependency states surfaced on outputs. (#1553)
  • Mid-turn Send now via native follow-up — queued messages join the live turn through framework steering where available, with framework-aware fallbacks; permission responses defer queued sends correctly and resume failures surface on the queued item. (#1566, #1593, #1592, #1590, #1589)
  • Message-artifact previews — managed file links and Markdown artifact images in message bodies resolve by stable artifact/version id, managed path, or unique filename and open in the preview workbench with inline zoom; generated cards gain a preview affordance. (#1587, #1597)
  • Notebook preview improvements — figures preview inside tool groups; the current-session preview follows latest output; the preview opens when the notebook becomes available; terminated notebooks show read-only previews. (#1605, #1564, #1545, #1599)
  • Compaction transcript boundaries — ACP compaction renders as a non-interactive boundary with rules, a compacting glyph, and continuity explanation; active/completed/failed/cancelled each get distinct semantics, and the context-window history uses the same mark. (#1581)
  • Archive keyboard undo — the standard desktop undo shortcut restores the latest archive. (#1595)
  • About redesign and feedback entry — app identity and update row with full-width Help Center and release-notes resources; a feedback entry in Settings. (#1551, #1588)
  • Custom model token limits — separate contextWindow, optional maxInputTokens, and optional maxOutputTokens with editable preset comboboxes; custom reasoning controls simplify to model-supported shapes. (#1525, #1546)
  • Complete OAuth connector lifecycle — first-save authorization in a cancellable dialog reused for sign-in, failure recovery, retry, and finish-later; runtime invalidation shows a session-local action toast; pre-registered OAuth redirect URIs supported. (#1560, #1563)
  • deepseek-v4-flash-vision-exp — the vision-capable flash model joins the DeepSeek catalog. (#1538)

🔧 Improvements

  • Session metadata is indexed in SQLite for summary-first startup; session-renderer history scans drop from per-batch to one per stream. (#1618, #1631, #1626)
  • Tool bursts coalesce into renderer IPC batches and live non-text events drain in batches, reducing renderer load during dense activity. (#1557, #1555)
  • Installer logs batch with capped renderer retention. (#1606)
  • Full-suite Vitest worker pool and long-conversation E2E screenshots stabilized. (#1625, #1627, #1628)
  • The v0.18.2 README callouts were clarified. (#1634)

🐛 Bug Fixes

  • Agent identity and capability scope isolated. (#1617)
  • Live Send now without hung resume or interrupt. Send now keeps the live turn responsive without leaving resume or interrupt hanging. (#1613)
  • Notebook kernel routing and tabs — user input routes to the selected kernel; only used kernel tabs show; idle input stays enabled during refresh; the R namespace survives cancellation; historical runs analyze without a live interpreter; parser runtimes load lazily; kernel protocol output lines are bounded; malformed host connector calls and unknown environment languages are rejected at the boundary; the macOS developer-tools Python stub is skipped; approved run status is preserved during state reads. (#1604, #1619, #1615, #1612, #1570, #1571, #1569, #1616, #1621, #1568, #1540, #1537)
  • Codex and Claude provider failures — incompatible and transient Codex ACP failures are handled; the legacy Codex provider slot negotiates; persisted and live Claude API connection failures no longer surface as reports. (#1594, #1586, #1584, #1583)
  • Composer and queue — slash shortcuts stay visible; Specialist selection shows while switching; messages show during runtime admission; the retained plan-approval revision refreshes. (#1633, #1630, #1601, #1610)
  • Delegation — imported subagent history marks incomplete records; replayed activity collisions are prevented. (#1609, #1520)
  • Updater — in-flight checks are awaited before downloading; the macOS update handoff is preserved. (#1632, #1539)
  • Startup — database checks separate from composition delays; the loading animation stays continuous; catalog recovery overlays are dismissible. (#1598, #1565, #1591)
  • Sessions and workspace — composer model choices scope to sessions; an unsaved local title survives a newer remote upsert; overlapping idle sends reject without failing the live turn; stale registry reachability refreshes on window focus; Specialist switch recovery is exposed. (#1552, #1579, #1577, #1602, #1543)
  • Settings — Remote navigation simplified; in-flight optimistic preferences survive onChanged. (#1629, #1573)
  • Stale-state rejection — preview snapshots, tag mutation snapshots, and granted-folder refreshes reject stale reads. (#1578, #1574, #1575)
  • Artifacts, compute, connectors — the default repository wires into finalization recovery; retried job submissions deduplicate; transient custom MCP connections recover; specialist list rows and controls align; context navigation disables during deletion; unexpected action failures localize. (#1542, #1541, #1544, #1611, #1607, #1608, #1580)
  • Notebook static context kept within budget. (#1572)

📦 Install

Requirements: macOS 12+ (Apple Silicon or Intel), Linux x64, or Windows 10/11 x64. On first run, the onboarding wizard checks the environment and can install and configure an app-managed agent runtime. Once installed, the app can update itself in place.

Download the appropriate package from the Assets section below:

Platform Package
macOS (Apple Silicon) DMG for ARM64
macOS (Intel) DMG for x64
Linux AppImage or Debian package for x64
Windows Installer for x64

macOS — first launch. Official release builds are Developer ID signed and notarized by Apple, so they open like other trusted applications. A locally built copy is not notarized and may require approval through macOS Privacy & Security.

Windows — first launch (unsigned build). No Authenticode certificate yet, so SmartScreen shows a bypassable "unrecognized app" prompt (More info → Run anyway). Verify that the package came from the official release page before continuing.

Build from source instead:

npm install
npm run build:mac   # or: build:linux / build:win

🧭 What's in this release (maturity)

  • Implemented: a local-first desktop, localhost-web, headless, CLI, and task-SDK surface over persistent projects and sessions with selectable message branches, branching into a new session from user messages or completed agent messages with persisted source lineage, reversible archiving with keyboard undo, project pinning, collapsed long user messages, persistent side conversations, and SQLite-indexed summary-first session startup; selectable Claude Code, OpenCode, and Codex agent frameworks behind a shared provider turn-adapter interface; production subagent delegation with durable messaging, restart recovery, structured output, artifact and review evidence, and camelCase delegation APIs; review-gated session plans with CLI plan controls; a unified composer lane with a session-scoped message queue, active-specialist emphasis, and mid-turn Send now through native follow-up steering; hot-switching of compatible models and providers; multi-provider model configuration including an xAI OAuth subscription, a dedicated Vision model selector with persistent evidence relay, custom token limits, and deepseek-v4-flash-vision-exp; a configurable reviewer model policy with an isolated review runtime, durable assessment snapshots, and empty initial checks; a token usage dashboard; context-window composition insights with compaction boundaries; persistent Python/R/REPL kernels with bounded run-history payloads, separated approval and execution state, cross-run dependency tracking, terminated read-only previews, session-scoped remote SSH execution with key or password authentication, harvest ceilings, and a host viewImage capability; frame-scoped Host JavaScript artifact queries with five-field agent summaries, session diagnostics, and model introspection with camelCase Host LLM results; immutable artifact versions with artifact lineage access and connector artifact provenance; multi-format previews with view-in-context navigation, plan-artifact rendering, and message-artifact Markdown previews; file-based skills with conversational creation, save-as-skill turns, direct user folder support, a redesigned management experience, an imported group menu, and confirmed bulk deletion; cross-resource catalog tags with favorites and drag ordering; permissioned scientific connectors with immutable invocation identities, generated local IDs, pre-registered OAuth clients and redirect URIs, a complete authorization lifecycle, and aligned catalog interactions; opt-in review and bounded correction; personal specialist agent profiles with a scoped signed marketplace, governed installed packages, instant cached browsing, capability icons, quick appearance editing, and capability-row navigation; scoped permission management; local folder access with cross-drive browsing; Chinese (Simplified and Traditional), Japanese, Korean, French, and Russian interfaces with multilingual README and contribution guides; turn-scoped conversation export as Markdown and PDF; global proxy settings with connectivity diagnostics; prominent update reminders with CLI-driven updates; a run-marks navigation rail; message-center alerts with project and task context; notifications with attention reasons; empty-conversation placeholder banners; a redesigned startup error notice and About with Help Center; contextual GitHub star prompts; a project-scoped command palette; CLI Codex device login and project agent-context management; smooth live response rendering with bounded event admission and coalesced tool-burst IPC; collapsible side panels; split-view file preview; desktop notifications; a cross-surface notification message center; structured agent clarification cards; live session status; and session keyboard shortcuts.
  • 🚧 Partial: R remains managed-only; provider choice remains constrained by the active framework's endpoint compatibility; remote compute is SSH-only; skills remain local (no hosted public discovery commons); and review is opt-in and record-scoped.
  • 🗺️ Roadmap: a unified model gateway, a hosted public skills and specialist discovery commons, Slurm/cloud-GPU execution, stronger sandboxing and credential isolation, and collaborative research workflows.

🐢 Known Limitations

  • R is managed-only. A bring-your-own R interpreter path is not built yet.
  • Remote compute is SSH-only. Slurm and cloud GPU submission are not built yet.
  • Provider choice is per framework, not one unified gateway. The available protocol depends on the selected agent backend.
  • Hot-switching applies only to registered compatible targets. Framework, auth-lane, wire-route, or unsafe capability changes still require a reconnect.
  • Code reconstruction is LLM-generated. It does not replace deterministic reproduction; portable environment locks and full-fidelity session replay remain open.
  • No hosted public specialist discovery commons. Specialist packages are portable across machines via import/export and the signed marketplace; what is not built yet is a hosted public discovery and forking hub.
  • The task SDK is a first-generation surface. Task creation, polling, artifact retrieval, run progress, and cancellation work; broader orchestration remains open.
  • Switching agent backends cannot transfer in-flight tool state. Existing conversation history can replay, but a running action is not migrated.
  • Skills are local only. There is no shared public commons, cross-machine forking, or user-facing version pinning yet.
  • The reviewer is opt-in and record-scoped. It does not replace domain-specific validation of citations, units, statistics, or methods.
  • Scoped permissions cover allow-grants only. Network sandboxing, directory-level file access control, and a credential vault are not built yet.
  • Windows builds are unsigned. SmartScreen may warn on first launch; official macOS builds are notarized.
  • No local GPU compute backend.
  • No multi-user real-time collaboration.

🙏 Acknowledgements

Thanks to @ewen-poch, @wen2zhou, @daanveer-tech, @justemu, and everyone in Discord, X, and Discussions.