Repository navigation
AIPOCH Open-Science v1.2.0
Approved jobs run on Kubernetes, Hugging Face Jobs, Modal, and Ray, a built-in agent runtime becomes the default, macOS updates download differentially, imported research gains step-linked discussions, and updates, Windows layouts, and PDF translation are more reliable.
AIPOCH Open-Science is an open-source, local-first, model-agnostic 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.
v1.2.0 follows v1.1.0 with a feature-and-reliability release. Sessions can now run approved jobs on four new remote backends — Kubernetes, Hugging Face Jobs, Modal, and Ray — alongside direct SSH and Slurm: every external submission freezes its inputs and asks for approval of the target, command, resources, and outputs, recovery records resume collection after a restart, and published results open from Compute Preview. A standalone built-in Open-Science Agent runtime with provider-neutral turn execution and validated tool handling ships as the default for new setups, with Claude Code, OpenCode, Codex, CodeBuddy, and Pi still available. macOS updates now download only the changed blocks of the app image, with automatic fallback to the full download. Imported .science research and replay steps can be discussed in step-linked child conversations that keep the parent's identity. Across the app, the workspace sidebar is reordered and simplified, imported history promotes the clear next step, sending from an earlier turn keeps the reading position, update installation checks verify the running app and name blocking files, Windows clamps the window to the taskbar area, and fixed-layout PDF translation keeps healthy pages when one page fails.
✨ Highlights
- Run jobs on cloud backends. Kubernetes, Hugging Face Jobs, Modal, and Ray join SSH and Slurm: approve the target, command, resources, and outputs before submission, recover the job after a restart, and open published results from Compute Preview. (#4191)
- Built-in Open-Science Agent. A standalone built-in agent runtime with provider-neutral turn execution and validated tool handling is now the default for new setups (previously Claude); Claude Code, OpenCode, Codex, CodeBuddy, and Pi remain available. (#4147, #4159)
- Faster macOS updates. Updates download only the changed blocks of the app image, falling back to the full download when needed. (#4177)
- Discuss imported research at a step. Ask from an imported
.sciencepackage or a replay step opens a child conversation linked to that step; the parent keeps its identity, and discussions survive archiving. (#4178) - A calmer workspace. The sidebar leads with pinned and imported research and folds older sessions into one recents list, imported history makes "fork to continue" the clear next step, and sending from an earlier turn no longer jumps the reading position. (#4180, #4183, #4188)
- More dependable updates and documents. macOS verifies the running app before blocking an install, Windows updates name the files holding the app open, and fixed-layout PDF translation keeps healthy pages when one page fails. (#4161, #4158, #4186)
🚀 New Features
- Submit approved jobs to Kubernetes, Hugging Face Jobs, Modal, or Ray, with per-job approval of the target, command, resources, and outputs, plus recovery records that resume collection after a restart. (#4191)
- Use the built-in Open-Science Agent runtime, with streaming adapters for major API protocols and durable stores; it is the default agent for new installations. (#4147, #4159)
- Download macOS updates differentially via blockmaps, with automatic full-download fallback. (#4177)
- Start a step-linked child discussion from imported research or replay; deleting the parent converts discussions into ordinary conversations. (#4178)
- Preview source links in a hover card that shows the destination domain and, for approved HTTPS sources, title and description metadata. (#4194)
🔧 Improvements
- The workspace sidebar orders groups as Pinned, Imported research, Active, and Recents, and child sessions read clearly as branches of their parent. (#4180)
- Imported research history keeps all four actions but promotes Fork to continue as the single primary action. (#4183)
- Sending a prompt while reading an earlier turn keeps the transcript anchored instead of jumping to the end. (#4188)
- The Model settings tab becomes Local capabilities, covering PDF extraction, OCR language packs, and research narration with aligned cards. (#4175)
- Ask in replay attaches to the selected step or Notebook run, including cells outside the current page. (#4187, #4185)
- Tool error messages now state the failed call and the explicit next step instead of reading as if the tool were unavailable. (#4184)
- Notebook large-source analysis runs off the main thread, file evidence reuses a resident worker, and owned-process exits are awaited natively, keeping runs and shutdowns responsive. (#4166, #4174, #4169)
- External literature PDF extraction recovers only proven native prose, math, and table fragments and rejects look-alike captions and citation tails. (#4156, #4176)
- The manual Add reference form accepts identifier-only entries such as a PMID, generating a title from the first identifier. (#4150)
- Research video export controls stay compact while progress runs, and the film button no longer flashes the wrong action while its status loads. (#4182, #4179)
🐛 Bug Fixes
- DeepSeek model aliases route through chat completions, fixing validation and runtime failures on the Responses path. (#4192)
- Windows managed R environments launch Rscript with the activated Conda DLL directories, fixing STATUS_DLL_NOT_FOUND exits. (#4195)
- On Windows with display scaling, the main window clamps to the display work area so the taskbar can no longer cover the input area. (#4200)
- Fixed-layout PDF translation retains independently translated pages when one page has an unsupported layout instead of discarding the whole preview. (#4186)
- Update installation checks verify the running macOS bundle before reporting installation-busy, name the Windows processes holding app files, and resolve blockers without blocking the app. (#4161, #4158, #4153)
- The shared macOS background service detaches from the desktop's crash handler, so a stale handler no longer holds files or blocks updates. (#4165)
- Startup diagnostics survive automatic restart after a backend exit. (#4144)
- Windows notebook runtime recovery proves the kernel process tree exited before clearing startup fences, and shell tasks prefer the app-managed Node over host shims. (#4140, #4142, #4143)
- Codex runtime cleanup resolves taskkill reliably on restricted Windows environments. (#4199)
📦 Install
Desktop client. Requirements: macOS 12+ (Apple Silicon or Intel), Linux x64 or ARM64, 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 updates itself in place.
Download the appropriate package from the Assets section below, or from the official download page. On macOS, the desktop app is also installable via Homebrew: brew install --cask open-science.
| Platform | Package |
|---|---|
| macOS (Apple Silicon) | DMG for ARM64 |
| macOS (Intel) | DMG for x64 |
| Linux | AppImage or Debian package for x64 / ARM64 |
| Windows | Code-signed installer for x64 |
Command line via Homebrew (macOS and Linux). The standalone CLI and local Web UI live in the official tap — bundled Node runtime, no separate Node.js needed, and upgrades through the normal brew flow:
brew install aipoch/tap/open-science
open-science start --no-open
open-science url
Command line via npm. With Node.js 22.13+, install the CLI (and Task SDK) globally; updates then follow your normal npm upgrade flow:
npm install --global @aipoch/open-science
open-science --help
Command line standalone (all platforms, no toolchain). The Assets below also include standalone CLI archives — macOS and Linux arm64/x64 tarballs and a Windows x64 zip — with a bundled Node runtime, so they install and run without Homebrew, npm, or a local Node.js. Linux packages additionally arrive as standalone .deb and .rpm installers.
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 notarized differently and may require approval through macOS Privacy & Security.
Windows — first launch. Official release builds are code-signed; Windows recognizes the publisher and no SmartScreen warning appears. 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: everything shipping in v1.1.0, plus remote job submission on user-connected Kubernetes, Hugging Face Jobs, Modal, and Ray targets with per-job approval and recovery, the built-in Open-Science Agent runtime as the default for new setups, differential macOS updates, step-linked discussions on imported research and replay, and the fixes described above.
- 🚧 Partial: remote compute covers direct SSH, Slurm, and user-connected Kubernetes, Hugging Face Jobs, Modal, and Ray targets, each requiring user-provisioned accounts, software, and permissions; provider choice remains constrained by the active framework's endpoint compatibility; WSL2 Bash remains an opt-in Windows x64 preview; the skills commons ships marketplace discovery but not cross-machine forking or user-facing version pinning; reproducibility ships replayable per-version verification, session replay, and RO-Crate packaging, while solver-exact equivalence remains open; review is opt-in and record-scoped.
- 🗺️ Roadmap: a unified model gateway, cross-machine skill forking and version pinning, stronger sandboxing and credential isolation, and collaborative research workflows.
🐢 Known Limitations
- Replay reproduces recorded steps, it does not re-execute them. Solver-exact equivalence guarantees remain open; replayable verification remains the deterministic check, and starting a check from the web client currently requires the desktop app.
- Imported
.sciencesessions stay read-only at the import itself. They remain inspectable and referenceable; step-linked discussions and forking provide writable continuations without modifying the import. - PDF annotations are bound to the file version they annotate. Notes follow the file across projects and sessions where that version is shared, but they do not sync across machines.
- OCR recognition data downloads on demand. Scanned pages are recognized after the matching language pack is installed, and coverage indicators show which pages still lack text.
- AI study snapshots reflect the configured main model. They summarize the available text at generation time and are not a substitute for reading the paper.
- Research film narration needs a locally installed voice model. Generation offers to install the narration voice on first use; films are produced once the voice model is ready. The voice downloads from the app's built-in CDN first and falls back to pinned upstream endpoints if the CDN is unreachable; downloads are verified against the published catalog.
- Bookmarks belong to a single session. They do not follow branch switches, join
.sciencepackage exports, or sync across machines — forking copies them into the new session with fresh identities. - WSL2 Bash is a preview. It is opt-in on Windows x64 only; PowerShell remains the default shell runtime.
- Remote compute requires user-provisioned targets. Direct SSH, Slurm, and the Kubernetes, Hugging Face Jobs, Modal, and Ray backends run under the approved target's account and need the host, software, resources, and permissions described in the remote-compute FAQ; jobs on cloud backends may incur costs on the connected account.
- Editable artifacts cover text formats. Binary formats stay read-only, and editing always publishes new versions.
- Network sandboxing covers the app's notebook and compute runtimes, not the whole system. On Windows, the boundary applies only after the sandbox's one-time administrator setup.
- Provider choice is per framework, not one unified gateway. The available protocol depends on the selected agent backend, and remote endpoints must use HTTPS.
- Code reconstruction is LLM-generated. It does not replace deterministic reproduction; replayable verification is the deterministic check.
- The reviewer is opt-in and record-scoped. It does not replace domain-specific validation of citations, units, statistics, or methods.
- No local GPU compute backend.
- No multi-user real-time collaboration.
- Mobile pairing over the internet routes through Pinggy's servers. Local WiFi pairing stays on your network; the internet tunnel mode discloses the relay in the connection dialog.
🙏 Acknowledgements
Thanks to @ewen-poch, @daanveer-tech, @wen2zhou, @nasus2002, @roxi3906, @LJLJ111, @guch96 and everyone in Discord, X, and Discussions.
Full Changelog: https://github.com/aipoch/open-science/commits/v1.2.0