Open Science v0.6.1
A polish-and-reliability release: a redesigned dotted-mark app icon, session pinning in the sidebar, resilient downloads with range-resume and retry, a one-click error report for failed runs, and a round of Codex/ACP and packaging fixes on top of v0.6.0.
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 a persistent, sandboxed compute kernel and durable project/session storage.
This is a patch release: no breaking changes. It refines the desktop shell and download reliability, completes the migration off the legacy Local Claude provider, and hardens Codex/ACP session and permission handling.
✨ Highlights
- Redesigned app icon. A new dotted-mark app icon across macOS, Windows, and Linux builds and the in-app branding. (#370, #356)
- Session pinning. Pin key sessions to keep them at the top of the sidebar. (#319)
- Resilient downloads. Model-runtime and asset downloads now resume from a byte range after an interruption, show transfer speed, and retry automatically on transient failures. (#343)
- Report an error on a failed run. A Report error button on failed runs captures the failure for quick reporting instead of leaving a dead end. (#345)
- Claude subscription via
setup-token. The isolated Claude subscription provider (paste aclaude setup-token) replaces the removed legacy Local Claude login, running under an app-ownedCLAUDE_CONFIG_DIR. (#350, #354)
🚀 New Features
- Session pinning — pin and unpin sessions so important work stays at the top of the session list. (#319)
- Resilient download manager — range-resume, live speed display, and automatic retry for interrupted downloads. (#343)
- Report error on failed runs — surface and report a failed run's error in one action. (#345)
- Claude subscription (isolated) provider — add a Claude subscription with
claude setup-token; the token is stored encrypted and used under an app-owned config dir, isolated from your~/.claude/. (#350)
🔧 Improvements
- New dotted-mark app icon wired through the packaged builds, dock, and in-app assets. (#370, #356)
- The legacy Local Claude provider has been removed; previously stored Local Claude entries are dropped on upgrade in favor of the Claude subscription flow. (#354)
- Failed-run reporting only surfaces genuinely unknown failures, not expected/handled ones, cutting noise. (#362)
Cmd/Ctrlzoom-in, zoom-out, and actual-size shortcuts are re-enabled in the desktop app. (#341)- Release artifact filenames are prefixed with
aipoch-for clearer, consistent naming across platforms. (#367) - The
.debpackage uses the build's actual architecture instead of a hardcodedamd64. (#369, #368)
🐛 Bug Fixes
- Codex MCP permissions — use the correct Codex MCP permission option IDs, and collapse
allow_alwaysto a single session-scoped option so grants don't leak. (#377, #342) - Skill resolution — the agent is nudged to skills by their slug id so it can resolve and invoke them reliably. (#373)
- Stale ACP connections — session creation is blocked on a stale connection during a deferred reconnect, avoiding failures against a dead transport. (#348)
- Reviewer MCP identity — hyphenated Claude MCP tool titles are accepted so the reviewer recognises its own verification tool. (#353)
- AI review pipeline — dispatched AI reviews are stabilized, their outcomes reliably published, and a specific reviewer can be selected for a dispatched run. (#379, #378, #361, #357, #358, #349)
📦 Install
Requirements: macOS 12+ (Apple Silicon or Intel), Linux x64, or Windows 10/11 x64. On first run the app's onboarding wizard checks your environment and can install and configure a Claude-compatible model backend for you. Once installed, the app updates itself in place.
Download the build for your platform from the Assets below:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | aipoch-open-science-0.6.1-mac-arm64.dmg |
| macOS (Intel) | aipoch-open-science-0.6.1-mac-x64.dmg |
| Linux | aipoch-open-science-0.6.1-linux-x86_64.AppImage / aipoch-open-science_0.6.1_amd64.deb |
| Windows | aipoch-open-science-0.6.1-win-x64-setup.exe |
macOS — first launch. Release builds are Developer ID signed and notarized by Apple, so they open like any other app. (A .app you build yourself is not notarized — see README → Building From Source.)
Windows — first launch (unsigned build). No Authenticode certificate yet, so SmartScreen shows a bypassable "unrecognized app" prompt (More info → Run anyway).
Build from source instead:
npm install
npm run build:mac # or: build:linux / build:win
🧭 What's in this release (maturity)
Aligned with the PRD and Roadmap. This is a patch release: it polishes the desktop shell (icon, session pinning, zoom shortcuts), download reliability, and Codex/ACP handling on top of v0.6.0's remote-compute and SDK work. No Roadmap phase changes status.
- ✅ Implemented: desktop shell (Electron + React + TS) with a tray/single-instance lifecycle, reachable as a desktop app, an optional localhost web UI (with project/session deep links and lifecycle sync), a headless backend mode, and an
open-scienceCLI daemon plus a zero-dependency Node.js task SDK; ACP agent runtime on a pluggable framework backend (Claude Code default, with OpenCode and Codex as alternatives — Codex usable via an existing ChatGPT/Codex subscription login, and Claude via an isolatedclaude setup-tokensubscription) whose app-managed runtimes are installable, switchable, and uninstallable from Settings; an opt-in reviewer with a bounded fix loop; a persistent multi-kernel notebook runtime (warm Python/R/REPL kernels, app-managed conda environments with offline provisioning and bring-your-own interpreters, crash-recoverable run history, session.ipynbexport); project + session persistence with a paginated, session-grouped Files tab and session pinning; artifacts MCP server; file renderers + notebook/session-notebook viewers + a full-screen preview mode + offline molecule viewer; multi-provider config (built-in vendors Anthropic (Claude), DeepSeek, Zhipu AI (GLM), GLM Coding Plan, Kimi (Moonshot), MiniMax, StepFun, Xiaomi MIMO, SenseNova, Volcengine Ark, plus the OpenRouter aggregation gateway, custom gateways, and Claude/Codex subscription logins) with per-model image-input metadata and per-model reasoning-effort control; desktop task notifications; remote SSH compute hosts as notebook execution targets; resilient range-resume downloads; signed-and-notarized macOS packaging plus Windows/Linux, with in-place auto-update and a configurable data-storage location; file-based agent skills; 24 built-in connectors plus custom MCP servers; a guided onboarding wizard; and per-conversation approval profiles. - 🚧 Partial: R remains managed-only and environment snapshotting/export is not built; the CLI/SDK surface is a first entry point and task-automation layer, not yet a fully scriptable/embeddable orchestration SDK; provider choice is still gated on the selected framework's endpoint compatibility rather than one unified gateway; remote compute covers SSH hosts for notebook runs but not Slurm/cloud-GPU submission or sub-agent fan-out; skills are local and file-based (no shared/public commons yet); the reviewer verifies a turn's own record but does not yet apply domain-specific citation/units/statistics rubrics.
- 🗺️ Roadmap (not in this build): public skills commons and savable specialist roles (rest of Phase 3); a fully model-agnostic gateway with unified per-agent routing and a full CLI/SDK entry point (rest of Phase 1); artifact versioning + provenance chain, environment snapshotting/export, and specialist sub-agents (rest of Phase 2); Slurm/cloud-GPU remote compute, sub-agent fan-out, and the rest of the security stack — network sandbox, credential vault, scoped permission tiers (rest of Phase 4).
🐢 Known Limitations
- R is managed-only. A bring-your-own R interpreter path is not built yet.
- No environment snapshotting or export yet. Phase 2 work.
- Remote compute is SSH-only. Slurm, cloud GPU, and sub-agent fan-out are not built yet.
- Provider choice is per backend, not one unified gateway. Claude Code reaches Anthropic-compatible endpoints; OpenCode and Codex add OpenAI-compatible / Responses ones.
- The task SDK is a first-generation surface. Task creation, polling, and artifact fetch work; a broader programmatic orchestration API is still open Phase 1 work.
- Switching backends can't carry a live session over. Open conversations replay to the new backend, but in-flight tool state is not migrated.
- Skills are local only. No shared/public commons, cross-machine forking, or user-facing version pinning yet.
- The reviewer is opt-in and record-scoped.
- Windows builds are unsigned. SmartScreen prompt on first launch. (macOS is notarized.)
- No provenance chain / artifact versioning yet. Phase 2.
- No local GPU compute backend.
- No multi-user / real-time collaboration.
🙏 Acknowledgements
Thanks to @ewen-poch, @imjszhang, @wen2zhou, @roxi3906, @GiaoLee, and everyone in Discord, X, and Discussions.
What's Changed
- fix(main): re-enable Cmd/Ctrl zoom in/out and actual-size shortcuts by @ewen-poch in #341
- fix(acp): collapse Codex MCP allow_always to single session-scoped option by @ewen-poch in #342
- fix(acp): block session creation on stale connection during deferred reconnect by @ewen-poch in #348
- fix(reviewer): accept hyphenated Claude MCP titles by @ewen-poch in #353
- chore(branding): replace app icon with dotted mark by @ewen-poch in #356
- ci(review): gate fork PR review and externalize review models by @ewen-poch in #349
- fix(review): restore AI review execution by @ewen-poch in #357
- feat(net): add resilient downloads with range resume, speed display, and retry by @ewen-poch in #343
- feat(workspace): add Report error button for failed runs by @ewen-poch in #345
- fix(review): restore working reviewer actions by @ewen-poch in #358
- feat(sidebar): add session pinning by @roxi3906 in #319
- feat(agent): add claude-isolated provider via setup-token by @ewen-poch in #350
- refactor(agent): remove the 'Local Claude' provider by @ewen-poch in #354
- build(packaging): prefix artifact names with aipoch- by @ewen-poch in #367
- fix(packaging): hardcode amd64 arch in deb artifactName by @ewen-poch in #368
- feat(branding): update app icon to dotted mark design by @ewen-poch in #370
- fix(packaging): use ${arch} instead of hardcoded amd64 in deb template by @ewen-poch in #369
- ci(review): allow selecting a dispatched reviewer by @ewen-poch in #361
- fix(acp): nudge skills by slug id so the agent can resolve them by @wen2zhou in #373
- fix(acp): use Codex MCP permission option IDs by @ewen-poch in #377
- ci(review): ensure AI review outcomes are published by @ewen-poch in #378
- fix(workspace): report only unknown run failures, not expected ones by @ewen-poch in #362
- ci(review): stabilize dispatched AI reviews by @ewen-poch in #379
- chore(release): bump version to 0.6.1 by @ewen-poch in #382
Full Changelog: v0.6.0...v0.6.1