Skip to content

v0.17.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Aug 09:28
· 57 commits to main since this release
b380096

Open Science v0.17.0

A scoped Specialist marketplace with signed packages and CDN fallback, a persistent Vision evidence relay for text-only models, context-window composition insights, plan artifacts rendered as the session plan preview, empty-conversation placeholder banners, generated Specialist and Connector IDs, durable browser revocation, and marketplace install integrity hardening — alongside pending approval lifecycle restoration, session resume timeout renewal, remaining SQLite domain constraints, terminal session deletion, and unsupported session file version rejection.

Open Science is an open-source, model-agnostic AI workbench for scientific discovery — a self-hosted desktop app pairing a plan-and-execute agent with persistent compute, durable project/session storage, and inspectable research artifacts.

v0.17.0 is a feature release. It introduces a scoped Specialist marketplace: specialists can now bundle their own skills and connectors without injecting them into main agent sessions, and install from the official GitHub marketplace, a CDN fallback, or a user-approved GitHub source — with signed metadata verification, download progress, verified installs, and skill-conflict resolution that asks whether to reuse the installed skill or replace it with the incoming one. A persistent Vision evidence relay lets text-only backends work with images: a dedicated Vision model selector under Settings analyzes eligible images in an isolated, tool-less session and replaces each outbound image with bounded canonical evidence that persists in SQLite and is reused across restarts, context resets, replays, and model changes — native image-capable backends keep the direct image path. The context-window dialog gains composition insights: stacked per-run bars show what occupies the window, with estimated category attribution, local-versus-agent diagnostics, and compaction markers. Stored plan artifacts now open as the session plan preview instead of raw JSON. New conversations show a branded placeholder banner until the first message. Specialist and Connector local IDs are generated from their names with validated overrides. On the reliability side, the pending approval lifecycle is restored, session resume timeouts renew on provider progress and reconnect, the remaining SQLite domain constraints are enforced, terminal session deletion is centralized in the main process, and unsupported session file versions are rejected cleanly.

✨ Highlights

  • Scoped Specialist marketplace. Specialists can now be installed from a marketplace with signed package verification — the official source, user-approved GitHub sources, CDN fallback, and cache fallback — with download progress and a verified install flow. Bundled skills and connectors are scoped to the selected specialist, never injected into main agent sessions, and protected from accidental deletion; skill conflicts on import ask whether to reuse the installed skill or replace it. (#1342)
  • Persistent Vision evidence relay. A dedicated Vision model selector under Settings lets text-only backends work with images: eligible images are analyzed in an isolated, tool-less Vision session, and each outbound image is replaced with bounded canonical evidence (summary, findings, transcription, regions, entities, relations, uncertainty) that persists in SQLite and is reused across restarts, context resets, historical replay, and model changes. Native image-capable backends keep the direct image path. (#1314)
  • Context-window composition insights. The context dialog now shows what occupies the window: horizontally scrollable stacked bars — one per visible terminal run — with hover/focus preview, authoritative totals, estimated category attribution, local-versus-agent diagnostics, cache-read split, and completed compaction markers after the terminal outcome that owns them. (#1321)
  • Plan artifacts as the session plan preview. Opening a stored plan artifact from the Files tab, global search, or the artifacts list now renders the shared plan document view with live step status — in the same version-scoped tab the in-chat plan entries use — instead of raw JSON in a duplicate tab. (#1331)

🚀 New Features

  • Scoped Specialist marketplace — a marketplace service with the official source, user-approved GitHub sources, signed metadata verification, CDN/GitHub fallback, cache fallback, download progress, and a verified install flow; bundled skills and connectors stay scoped to the selected specialist with availability surfaced in Settings and deletion protection; skill content/version conflicts resolve by asking the user to reuse or replace; install, setup, breadcrumb, loading, error, deletion, and unavailable-session interactions across Specialist, Skill, Connector, and Workspace surfaces; the specialist description limit rises to 1000 characters. (#1342)
  • Persistent Vision image evidence relay — a dedicated Vision model selector validated against the provider catalog, framework, image-input capability, and restricted-inference transport; for a text-only active backend, eligible images are analyzed in an isolated tool-less Vision session and replaced with bounded, escaped canonical evidence persisted in SQLite as a derived cache; evidence is reused across restart, context reset, historical replay, and model changes; relay preparation failures fail closed for the current image and historical replay uses an explicit omission notice; the provider session rebuilds across an image-capability boundary only when the active branch contains replayable images. (#1314, #1330, #1332)
  • Context-window composition insights — the live context composition at the top of the context dialog (falling back to the newest persisted sample), stacked per-run bars with hover/focus preview and click/Enter/Space pinning, authoritative totals with estimated category attribution, local-versus-agent diagnostics, runtime metadata, cache-read split, and compaction markers. (#1321)
  • Plan artifacts as the session plan preview — stored plan artifact files redirect to the version-scoped session plan tool tab; plan-aware JSON rendering with live step status when a stored projection matches the previewed version, or a read-only all-not-started snapshot with an explanatory banner otherwise; a raw-JSON toggle remains; the plan header shows the real on-disk artifact name. (#1331)
  • Empty-conversation placeholder banner — brand-new empty sessions show a centered branded banner ("What will you research in Open Science?") until the first message. (#1325)
  • Generated Specialist and Connector IDs — new local Specialist IDs are inferred from their names by normalizing case, whitespace, underscores, and repeated hyphens, with a UUID fallback when unsafe, reserved, or colliding; an immutable ID control under Advanced settings previews the generated ID and permits a validated override; Connector local IDs use the same shared rules with an Advanced preview and immediate validation; the main process is authoritative and enforces atomic cross-ID/name uniqueness. (#1333, #1336, #1334)

⚠️ Breaking Changes

  • Specialist package JSON fields move to snake_case. The external specialist.json in specialist packages now uses display_name, system_prompt, skill_ids, and connector_ids (matching connector configuration JSON). Legacy ZIP files whose specialist.json uses camelCase are rejected — there is no compatibility reader. TypeScript application APIs remain camelCase. (#1342, #1348, #1341)

    Migration: specialist packages exported before v0.17.0 must have their specialist.json fields renamed to snake_case before reimport; the marketplace republishes corrected artifacts separately.

🔧 Improvements

  • The remaining SQLite CHECK domain constraints are enforced across the database, with migration coverage centralized. (#1302, #1326)
  • Session-plan model context overhead is reduced. (#1327)
  • Terminal session deletion is centralized in the main process behind validated composition, keeping deletion failures out of run state. (#1303, #1329, #1301)
  • Marketplace install integrity is hardened with fail-closed package verification. (#1355)
  • Web runtime command requests are encoded and event reconnect recovery bounded. (#1324, #1299)

🐛 Bug Fixes

  • Pending approval lifecycle restored. Pending approvals could stall after a lifecycle transition; the pending approval lifecycle is restored. (#1337)
  • Session resume timeout renews. A resumed session could time out while the provider was still making progress or after a reconnect; the timeout now renews on provider progress and reconnect. (#1316)
  • Bursty response streams preserve prefixes. Rapidly interleaved stream chunks could drop text prefixes; prefixes are now preserved. (#1323)
  • Unsupported session file versions rejected. Session files written by a newer app version are rejected cleanly instead of failing mid-load. (#1317)
  • Artifact source session reviews loaded. The reviewer could miss prior reviews of the artifact's source session; they are now loaded. (#1308)
  • Canonical Claude Skill frontmatter synthesized. Skill packages missing canonical frontmatter are now synthesized correctly. (#1313)
  • Runtime state reconciled after event drain. ACP runtime state could lag after an event drain; it is now reconciled. (#1312)
  • Read-only agent file references snapshotted. Read-only file references could race agent mutations; they are now snapshotted. (#1309)
  • Message queue retained across project navigation. Switching projects no longer clears the composer message queue. (#1305)
  • Compute queues reconciled after concurrency changes. Changing concurrency now reconciles compute queues correctly. (#1307)
  • Durable elicitation preserved after resume. A pending elicitation could be dropped when a session resumed; it is now preserved. (#1310)
  • Custom location preserved on dialog dismissal. Dismissing a folder dialog during onboarding no longer resets a custom data location. (#1306)
  • Environment status query failures surfaced. Notebook environment status query failures are now visible instead of silent. (#1300)
  • OpenCode baseline kept within budget. The OpenCode context baseline could exceed its budget; it is now bounded. (#1352)
  • Agent updates in one CAS write. Agent updates now use a single compare-and-swap write, preventing lost updates. (#1350)
  • Browser revocation durable. Remote-access browser revocation now survives restart. (#1347)
  • Runtime lifecycle fences preserved. Notebook runtime lifecycle fences lost in a refactor are restored. (#1344)
  • Failed deletion recovery isolated. A failed project deletion no longer blocks recovery of other projects. (#1343)
  • Unmanaged launcher files protected. The CLI no longer overwrites launcher files it does not own. (#1345)
  • Internal host errors redacted. Internal host errors are redacted before reaching agent-facing surfaces. (#1346)
  • Runtime query errors fail closed. Agent runtime query errors now fail closed instead of returning stale data. (#1353)

📦 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, project pinning, and persistent side conversations; 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; hot-switching of compatible models and providers; multi-provider model configuration with DeepSeek V4 Pro Responses and GLM-5.3 support and a dedicated Vision model selector with a persistent evidence relay; a configurable reviewer model policy with an isolated review runtime and durable assessment snapshots; a token usage dashboard; persistent Python/R/REPL kernels with bounded run-history payloads, separated approval and execution state, remote SSH execution with harvest ceilings, and a host viewImage capability; frame-scoped Host JavaScript artifact queries, session diagnostics, and model introspection with camelCase Host LLM results; immutable artifact versions with artifact lineage access; multi-format previews with view-in-context navigation and plan-artifact rendering; file-based skills with conversational creation, save-as-skill turns, direct user folder support, bulk management, and imports; permissioned scientific connectors with immutable invocation identities and generated local IDs; opt-in review and bounded correction; personal specialist agent profiles with a scoped marketplace, signed packages, CDN fallback, and skill-conflict resolution; scoped permission management; local folder access with cross-drive browsing; Chinese (Simplified and Traditional) interface translations; global proxy settings with connectivity diagnostics; prominent update reminders; a run-marks navigation rail; context-window composition insights; notifications with attention reasons; empty-conversation placeholder banners; contextual GitHub star prompts; conversation export as Markdown and PDF; a project-scoped command palette; CLI Codex device login; smooth live response rendering; 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 (specialist packages are portable, but there is 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, @roxi3906, @daanveer-tech, @justemu, and everyone in Discord, X, and Discussions.