Skip to content

v0.22.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 06:13
· 218 commits to main since this release
25cb9cc

Open Science v0.22.0

A release that gives the agent a memory and the figures a provable path: persistent, project-scoped agent memory carries what matters across sessions; the bundled skills gain provenance-aware figure workflows from styling to paper-ready narratives; GitHub tokens, connector keys, and connector sign-ins are managed from one place with guided recovery; and the usage dashboard attributes every token to the run that produced it — including side conversations, delegation, and compaction — alongside the Tencent TokenHub provider, safer update downloads and runtime installs, and a broad set of session, Claude-backend, and localhost-service 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.22.0 is a feature release. The agent gains an opt-in persistent memory: entries organized in project-scoped categories are recalled automatically when a conversation touches them, survive restarts, and stay fully viewable, editable, and clearable from a dedicated Settings panel. Credentials come together in one management surface — GitHub personal access tokens, connector API keys, and connector sign-ins with health status, guided recovery, and automatic re-checks of affected connectors once a credential is fixed. Tencent TokenHub arrives as a built-in provider with international and China-mainland endpoints, and the token usage dashboard now attributes consumption to the run that produced it while counting model calls outside the main conversation — side chats, delegation, and compaction included — so totals match what providers bill. The bundled scientific skills gain provenance-aware figure workflows for styling, multi-panel composition, and paper-ready narratives on immutable artifact inputs. Under the hood, update downloads and runtime installs are hardened end to end, agent error output stays out of logs by default, Task API and CLI event streams reconnect safely with stable run identity, and a set of Claude-backend, session-persistence, and localhost-service fixes lands throughout.

✨ Highlights

  • Persistent agent memory. The agent can now remember what matters across sessions. Opt-in memory entries, organized in project-scoped categories, are recalled automatically when a conversation touches them — and everything stays viewable, editable, and clearable from Settings. (#1432)
  • Provenance-aware figure workflows. The bundled scientific skills gain registered helpers for figure styling, multi-panel composition, and paper-ready narratives — built on immutable artifact inputs, so every figure stays traceable to the data that produced it. (#1864)
  • Centralized credential management. GitHub tokens, connector keys, and connector sign-ins live in one place, with health status at a glance, guided recovery when a credential stops working, and affected connectors re-checked automatically once a credential is fixed. (#1865)
  • A fuller usage picture. The usage dashboard now attributes token consumption to the run that produced it and counts model calls outside the main conversation — side conversations, delegation, and context compaction included. (#1877, #1874)

🚀 New Features

  • Persistent agent memory — opt-in, project-scoped memory categories that the agent recalls before relevant turns; entries can be created, corrected, and deleted from a dedicated Settings panel, and recall stays scoped to the conversation's project so unrelated work is not mixed in. (#1432)
  • Centralized credential management — one panel for GitHub personal access tokens, connector API keys, and connector sign-ins, with health status, guided recovery, and acceptance of keys on free rate-limited plans for open data sources. (#1865)
  • Tencent TokenHub provider with international and China-mainland endpoints plus a first set of Tencent models. (#1880)
  • Provenance-aware figure workflows in bundled skills — registered helpers for figure styling, multi-panel composition, and paper-ready narratives that consume immutable artifact inputs, keeping figures traceable to the data that produced them. (#1864)
  • Per-run usage attribution — token usage is attributed to the run that produced it and persisted, so the dashboard stays truthful across restarts. (#1877)

🔧 Improvements

  • The usage dashboard now includes model calls that happen outside the main conversation — side conversations, delegation, and context compaction — so totals match what your provider bills. (#1874)
  • Expanded skill loads render the loaded skill document as formatted Markdown, recover with a retry when the document cannot be fetched, and expand without scroll jumps. (#1812)
  • A failed update download no longer dead-ends: the update dialog stays actionable and can retry immediately. (#1868)
  • Update downloads and runtime installs are hardened — update manifests are validated before use, installers must come from the trusted origin, and timed-out installs are cleaned up completely. (#1873)
  • Agent error output is summarized instead of streamed into logs, keeping ordinary research output and local paths out of diagnostics; raw samples remain available as an opt-in support tool. (#1858)
  • The CodeBuddy runtime no longer sends runtime error reports. (#1856)
  • The model picker explains why a model is currently unavailable instead of silently disabling it. (#1879)
  • Task API and CLI event streams gained stable run identity with bounded replay, so consumers reconnect without mixing consecutive runs — and revoked or finished streams stop retrying instead of looping forever. (#1875)
  • Required fields and field errors are now exposed to assistive technology. (#1869)

🐛 Bug Fixes

  • Claude backend — an interrupted Claude response resumes instead of stalling (#1853); loopback credentials survive restarts and reconfiguration (#1878, #1859); and agent-granted tool permissions are no longer shadowed by stale settings (#1848).
  • Sessions — a busy first turn no longer hides the agent's reply when session details and usage bookkeeping overlap (#1876), and consecutive bookkeeping updates replay cleanly (#1860).
  • Local and headless service — concurrent request bodies and WebSocket broadcasts are bounded, and stalled clients are disconnected so the localhost service stays responsive under load. (#1857)
  • Long runs — raw runtime events are released after processing, so long-running tasks hold markedly less memory. (#1855)
  • Notebook — internal routing metadata no longer reaches notebook model calls. (#1861)
  • Folder access — a stale dialog response can no longer close the wrong grant dialog or report an outdated folder. (#1870)
  • Connectors — cancel is disabled while a save is in flight, protecting the OAuth sign-in continuation. (#1867)
  • Workspace — the session preview no longer stays open underneath open action menus. (#1852)

📦 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, composer session references (#) with turn-scoped read access, reversible archiving with keyboard undo, project pinning, collapsed long user messages, persistent side conversations with advisories injected into running main turns, generated and editable session details, session hover previews in the sidebar, and SQLite-indexed summary-first session startup; in-app sandboxed previews for source links in agent responses; selectable Claude Code, OpenCode, Codex, and CodeBuddy agent frameworks (CodeBuddy app-managed and login-free) behind a shared provider turn-adapter interface; text and image annotations that send selected context into conversations with agent configuration change markers in the timeline; opt-in persistent agent memory with project-scoped categories recalled across sessions and managed from Settings; 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, unified draft undo and redo history, 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 a consolidated Scenario models card; per-model-call usage details with a per-call context-window chart; a token usage dashboard with persisted per-run attribution that includes auxiliary model calls outside the main conversation; centralized credential management for GitHub tokens, connector keys, and connector sign-ins with guided recovery; a configurable reviewer model policy with an isolated review runtime, durable assessment snapshots, and empty initial checks; context-window composition insights with compaction boundaries; persistent Python/R/REPL kernels with bounded run-history payloads, a read-only live variable browser for running kernels, separated approval and execution state, cross-run dependency tracking, package-installation progress, progressive history loading, terminated read-only previews, session-scoped remote SSH execution with key or password authentication (including Windows), harvest ceasing, and remote file-staging cleanup; a user terminal shared with the agent; app-managed and bring-your-own environments for Python and R; immutable, session-scoped artifact versions with checksummed content, producer code, execution history, exact input references, environment inventory, producing message-branch context, version-scoped reviewer evidence, and on-demand LLM-driven code reconstruction; rich in-app previews for scientific data, documents, images, source code, molecular structures, and notebook history with right-click tab actions and full-screen mode; file attachments up to 10 GB with streaming upload; skills with conversational creation, import, marketplace browsing, and explicit / selection, plus provenance-aware figure workflows for styling, composition, and paper narratives; 24 built-in research connectors plus custom MCP servers with import/export of standard MCP client configurations; durable scoped permissions with allow grants; remote-access pairing; interface localization in Spanish, French, Chinese (Simplified and Traditional), Japanese, Korean, and Russian; and auto-update with prominent update reminders and localized release notes.
  • 🚧 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 and directory-level file access control 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.


Full Changelog: https://github.com/aipoch/open-science/commits/v0.22.0