v0.14.1
Open Science v0.14.1
Global proxy settings, prominent update reminders, DeepSeek V4 Pro Responses support, a first-message scroll control, camelCase delegation APIs, and unified dialog presentation — alongside notebook RPC authentication, subagent activity preservation, CLI AppImage path stability, narrow-screen onboarding recovery, composer accessibility improvements, and startup loading diagnostics.
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.14.1 is a patch release. It adds a global proxy setting so all app traffic — Electron networking, spawned agent runtimes, notebook kernels, and installer processes — follows one app-wide policy with system, manual, and direct modes. Prominent update reminders now surface available updates on both the project and session views with a compact action, contextual details on hover, and a finite attention animation that respects reduced-motion preferences. DeepSeek V4 Pro gains native Responses API support so the Codex backend selects it without falling back to the Chat Completions bridge. A first-message scroll control gives a quick way to jump back to the start of a long conversation. The public Host JavaScript delegation surface is renamed to camelCase — stopChild, sendFrameMessage, messageReceipt, resolveMessage, and submitOutput — matching the rest of the Host SDK and removing legacy snake_case spellings. Dialog presentation is unified across the app for consistent visuals and interaction states. On the fix side, notebook local RPC is authenticated before reading the request body, running subagent activity is preserved across lifecycle transitions, CLI AppImage launcher paths are stabilized, narrow-screen onboarding failures are recovered, composer accessibility and responsive panel behavior are improved, and startup loading is instrumented with diagnostics.
✨ Highlights
- Global proxy settings. A new Settings → Network → Proxy setting lets researchers choose System (OS/PAC resolution), Manual (fixed proxy for Electron and child processes), or Direct (no proxy) modes. All app traffic — provider requests, connector calls, ACP agent processes, notebook runtimes, and installers — shares the selected policy. Manual proxy URLs with embedded credentials are rejected and loopback addresses are always bypassed. (#1148)
- Prominent update reminders. Available app updates are now surfaced as compact actions on both the Home project grid and the workspace session sidebar, with two lines of context revealed on hover or focus, a finite gradient attention animation, and a 15-minute replay cooldown. Downloading, ready, installer, restart, and retry states are all presented concisely. (#1163)
- camelCase delegation APIs. The public Host JavaScript delegation interface is renamed from snake_case to camelCase —
stopChild,sendFrameMessage,messageReceipt,resolveMessage, andsubmitOutput— with caller inputs translated to the existing private RPC contract at the adapter boundary. Legacy snake_case inputs are rejected before transport. (#1175) - DeepSeek V4 Pro Responses support. DeepSeek V4 Pro and its
[1m]variant now advertise native Responses API support, so the Codex backend selects them directly instead of routing through the Chat Completions bridge. (#1157)
🚀 New Features
- Global proxy settings — a Settings → Network → Proxy setting with System, Manual, and Direct modes; in Manual mode, the configured proxy is applied to Electron networking and injected into subsequently spawned ACP agents, notebook runtimes, and installer processes; in Direct mode, proxy variables are cleared for child processes; manual proxy URLs with embedded credentials are rejected and loopback is always bypassed. (#1148)
- Prominent update reminders — compact update actions on the Home project grid and workspace session sidebar reveal contextual details on hover or focus; a finite gradient sheen with a traveling cyan arc guides attention; downloading, ready, installer, restart, and retry states are presented concisely; reduced-motion preferences are respected. (#1163)
- First-message scroll control — a compact control at the top of the conversation viewport scrolls smoothly to the first message on the active branch; the control is hidden while a session is running or in a waiting state. (#1144)
⚠️ Breaking Changes
-
camelCase delegation interface. The public Host JavaScript delegation methods now require camelCase:
stopChild,sendFrameMessage,messageReceipt,resolveMessage, andsubmitOutput. Caller input keys must also use camelCase. Former snake_case public spellings are rejected before transport. Private RPC operation names, wire fields, persisted records, and return projections are unchanged. (#1175)Migration: any notebook code or skill script calling the delegation interface with former snake_case method names or input keys must be updated to camelCase.
🔧 Improvements
- Dialog presentation is unified across the app for consistent layout, spacing, and interaction states. (#1171)
- The conversation panel interface has been shrunk to reclaim vertical space without losing information density. (#1164)
- Application-shell presentation priority is centralized so surfaces compete for attention predictably. (#1167)
- Local capability identifiers are aligned with portable names so connector and skill identities match their catalog IDs. (#1172)
- Startup loading is instrumented with diagnostics so slow phases are identifiable. (#1159)
- Interaction states and design tokens are tightened for more consistent hover, focus, and active feedback. (#1154)
🐛 Bug Fixes
- Running subagent activity preserved. A running subagent's activity could be lost when the parent session underwent certain lifecycle transitions, leaving the delegation in a stale state. Activity is now preserved across these transitions. (#1141)
- Notebook local RPC authenticated before reading body. The local RPC server could read the request body before verifying authentication, allowing an unauthenticated process to observe request framing. Authentication is now checked before the body is read. (#1145)
- Auth URL kept out of daemon logs. The authenticated web-service URL could appear in daemon log output, exposing the access token. The URL is now redacted in daemon logs. (#1146)
- CLI AppImage launcher paths stabilized. The AppImage launcher path could resolve to a temporary mount point that changed across reboots, breaking the installed CLI. Paths are now kept stable. (#1149)
- Narrow-screen onboarding failures recovered. On narrow screens, certain onboarding steps could fail to render their full content, blocking setup. The layout now recovers gracefully on narrow viewports. (#1151)
- Remote-access loading and focus recovered. The remote-access loading screen could fail to complete and the trap operation could lose focus. Both are now recovered. (#1152)
- Composer accessibility improved. Keyboard navigation and screen-reader labels in the composer have been improved for better accessibility. (#1153)
- Connector toolbar order aligned. The connector settings toolbar button order was inconsistent with the rest of the settings layout. The order is now aligned. (#1161)
- Responsive panel accessibility improved. Side panels could become inaccessible at certain responsive breakpoints. Panel accessibility is now improved across breakpoints. (#1158)
- Shipped capability wording aligned. Status copy describing shipped capabilities has been aligned with the actual feature set. (#1162)
- First-message scroll control refined. The first-message scroll control's visibility logic has been refined to avoid appearing during active turns. (#1165)
- Composer review loading state shown. The reviewer's composer loading state was not shown while a review was in progress, leaving the user uncertain whether their action was received. The loading state is now shown. (#1174)
- Parallel delegated work removed. The test-only parallel delegated work implementation has been removed; production delegated-work behavior is unchanged. (#1170)
📦 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, 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 durable execution contracts and persistent plan call records; a unified plan-approval, permission-approval, and ask-user composer lane; hot-switching of compatible models and providers without reconnecting the agent process; multi-provider model configuration with combined model/reasoning selection and DeepSeek V4 Pro Responses support; persistent Python/R/REPL kernels and remote SSH execution; immutable artifact versions with inspectable audit evidence, artifact lineage access, and on-demand LLM-driven code reconstruction; multi-format previews; file-based skills with conversational creation and imports; permissioned scientific connectors with standard remote OAuth sign-in, portable configuration import/export, runtime status and recovery surfaces, and immutable invocation identities; opt-in review and bounded correction; personal specialist agent profiles with scoped capabilities; scoped permission management with global, project, and session grants; local folder access via @path mentions; global proxy settings with system, manual, and direct modes; prominent update reminders; conversation export as Markdown and PDF; first-message scroll control; unified dialog presentation; a project-scoped command palette; smooth live response rendering; a new-conversation keyboard shortcut; collapsible side panels; split-view file preview beside the session; desktop notifications plus durable unread conversation badges; a cross-surface notification message center; structured agent clarification cards; live session status on the Home dashboard; 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 roles are personal-only (no cross-machine sharing); and review is opt-in and record-scoped.
- 🗺️ Roadmap: a unified model gateway, a public skills commons and cross-machine specialist sharing, 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.
- Specialist roles are personal-only. There is no shared public commons or cross-machine specialist forking yet.
- 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.