OpenScience: AI Agent for Scientific Research (Claude Science Alternative)

A scientific research workspace combines agents, 290+ skills, scientific database tools, a terminal, and BYOK or Atlas model access.

OpenScience is a free, open-source alternative to Claude Science that runs as a local browser workspace for scientific research.

The workspace brings together a file tree, editor, terminal, scientific database tools, model routing, agents, and session history.

Once you provide a research goal and project folder, the agent can read papers, form a hypothesis, write and run code, run experiments, query scientific databases, and draft the result within the same session.

You can supply your own model API keys, connect a local OpenAI-compatible endpoint, use Atlas-managed models, or start with the demo-model route during first setup.

Features

  • Runs literature review, hypothesis generation, code, experiments, analysis, and write-up in one continuous session.
  • Includes a default research agent plus biology, physics, and ml specialists. Read-only critique and literature-review sub-agents check scientific work, while plan mode cannot edit project files.
  • Bundles 290+ skills for DeepSpeed, PEFT, and TRL training, evaluation, dataset work, cheminformatics, molecular and clinical biology, LaTeX and figure generation, and cloud compute through Modal and Tinker.
  • Queries around 30 scientific databases directly, including UniProt, PDB, Ensembl, ChEMBL, PubChem, arXiv, OpenAlex, and Semantic Scholar.
  • Opens as a browser workspace with a file tree, editor, terminal, and inline rendering for molecules, structures, genomes, and plots.
  • Extends through LSP integration, MCP servers, plugins, custom agents and commands, and a TypeScript SDK.
  • Filters model-provider credentials out of subprocess environments and redacts known credential patterns from output.
  • An opt-in execution sandbox for shell and notebook work on macOS and Linux. It confines writes to the workspace and can block network access.

OpenScience vs Claude Science

OpenScience and Claude Science both target scientific research workflows.

OpenScience is Apache-2.0 open source, runs from a local CLI, opens a browser workspace, and supports bring-your-own-key model access.

Claude Science is Anthropic’s scientific workbench for Claude users. It is designed around the Claude ecosystem, scientific artifacts, lab infrastructure, managed compute paths, curated scientific connectors, and reviewer-style checks.

OpenScienceClaude Science
AccessOpen source, no account required for BYOK use.Beta access for Claude Pro, Max, Team, and Enterprise users.
ModelModel-agnostic BYOK, plus optional Atlas managed models.Built around Claude.
Install and controlCLI-first local workbench with browser workspace.Claude app/workbench for scientific users.
Best fitResearchers who want open-source control, local setup, provider choice, and command-line workflows.Researchers already using Claude who want Anthropic’s managed scientific environment.
ExtensibilityAgents, skills, MCP, ACP, plugins, custom commands, and SDK paths.Claude Science skills, connectors, reviewer agents, and lab infrastructure integrations.
CostOpenScience is free software; model calls may cost money through providers or Atlas.Access depends on eligible Claude plans and any related compute or program terms.
SafetyThe agent has your account’s filesystem and shell access by default. An opt-in sandbox adds write and network restrictions on supported systems.Runs in the Claude Science environment with user infrastructure and Claude’s product controls.

Built-in Agents and Research Skills

OpenScience separates the agent that directs a session from the skills and database tools it calls. The agent plans the work and chooses actions. Skills supply domain instructions, while database tools retrieve scientific records from services such as UniProt, PDB, ChEMBL, arXiv, OpenAlex, and Semantic Scholar.

Choose an agent for the research task

AgentUse it forScope
researchGeneral scientific research and mixed-discipline projectsLiterature, data analysis, code, compute, and synthesis across the full skill library
biologyBioinformatics and computational biologySequence analysis, structures, omics workflows, and biological databases
physicsComputational physicsSimulation, PDE solving, dynamical systems, and symbolic regression
mlMachine learning experimentsTraining, evaluation, deep learning, LLMs, classical ML, and reinforcement learning
planReviewing an approach before files changeRead-only planning; edit tools are disabled except for plan files

Start with research for a project that crosses several fields. Select a specialist when the task depends on field-specific procedures or terminology. The browser workspace exposes primary agents in the session picker, and the CLI accepts an agent for a single run:

openscience agent list
openscience run --agent physics "Fit the dispersion relation in data/spectra.csv"

Two read-only sub-agents handle scientific checks. critique looks for problems such as data leakage, incorrect statistics, and unsupported claims before an expensive action. literature-review runs a PRISMA-style process for search, screening, eligibility, synthesis, and verification. The main agent delegates to them during a session.

For a repeated lab procedure or review role, run openscience agent create. The interactive command creates a Markdown agent definition with a system prompt, tool restrictions, mode, and optional default model. Project agents live under .openscience/agent/; user-wide agents live under ~/.config/openscience/agent/.

Find and add research skills

The bundled library contains 290+ skills for training, evaluation, datasets, molecular and clinical biology, cheminformatics, papers and LaTeX, figures, and cloud compute. A skill is an instruction bundle that prepares the agent for a domain task.

openscience skill list --all
openscience skill show <namespace/skill>

The first command groups the bundled skills by category. The second prints the metadata and instructions for one skill. Review those instructions before the skill guides a long experiment.

You can install skills from a public Git repository. OpenScience runs a static safety check and an LLM safety review during installation, then skips rejected entries and reports them.

openscience skill add gh:owner/repository
openscience skill list

For project-specific procedures, place skill folders in a path listed under skills.paths in the project-level openscience.json. OpenScience also detects existing .claude/skills/ directories and loads compatible skills stored with the project.

{
  "skills": {
    "paths": ["./skills", "../shared-skills"]
  }
}

How to Set Up Models and Providers

Add your own provider key

BYOK is the default route. Set the environment variable for your provider, add the credential through the browser workspace, or run the interactive key command:

export ANTHROPIC_API_KEY=<your-key>
# or OPENAI_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY, and others
openscience keys add

Connect a local model

OpenScience can detect OpenAI-compatible servers from Ollama and LM Studio. The same route works with llama.cpp, vLLM, and similar local endpoints.

openscience local add
openscience run --model ollama/llama3.1 "Summarize the experiment notes"

Use Atlas-managed models

Atlas is optional. It provides a curated model route billed from a prepaid wallet, synced service credentials, spend controls, and research graphs. Connect the current machine and inspect its account state with:

openscience login
openscience status
openscience wallet

When a BYOK credential exists for a provider, OpenScience uses that key. Other requests can use the Atlas-managed route when your account and billing settings permit it. openscience logout disconnects Atlas while leaving BYOK access available.

Check the route and choose a model

openscience models
openscience models <provider>
openscience models --refresh

The model list labels each provider route as your key, managed, local, Signed in with Codex, or unconfigured. This prevents an accidental switch from a local or BYOK route to a wallet-billed model.

Choose a model from the workspace selector for the current session. For a terminal run, pass the full provider/model ID. The optional --variant value sets a reasoning-effort tier supported by that model.

openscience run --model <provider/model> --variant high "Review the analysis"

How to Use OpenScience

Install OpenScience globally:

npm install -g @synsci/openscience

Or launch it without a global install:

npx synsci

On macOS or Linux, the official install script places a standalone binary in ~/.openscience/bin:

curl -fsSL https://openscience.sh/install | bash

Linux requires kernel 5.1 or newer. Glibc builds require glibc 2.17 or newer, and separate musl builds are available. CentOS 7 needs a newer host kernel or VM because its stock 3.10 kernel is unsupported.

Complete one model route from the preceding section, then open the workspace:

openscience

Open a specific project folder:

openscience ~/code/my-project

In the browser workspace, choose or confirm a model route, then enter a narrow research goal.

Example first task:

Review the notes in this project, find the strongest related papers, create a small analysis script, run it on the available data, and summarize the result with any generated plots or files.

After the run, inspect the file tree, generated code, terminal output, rendered objects, session history, and written result. Then verify model and skill availability:

openscience models
openscience skill list

Use the workspace for visible research sessions. Use openscience run for terminal tasks, automation, scripts, JSON output, or one-shot research commands.

Command Reference

Setup and Verification

openscience --version / openscience -v

Prints the installed version. Run it after installation, upgrade, or troubleshooting. Then check models and skills with openscience models and openscience skill list.

openscience --help

Prints top-level CLI help. Run it to inspect the command list on the installed version.

openscience init

Runs the setup wizard for managed models, provider keys, or demo models. You can rerun it after the first launch; openscience onboard is an alias.

openscience doctor

Reports the current account, provider keys, wallet, and default-model configuration.

openscience <command> --help

Prints help for one command. Run it when you need exact local flags for your installed version.

openscience --print-logs

Streams agent diagnostics to stderr. Use it during troubleshooting, support work, or failed runs.

openscience --log-level <level>

Changes the log threshold. Use it when troubleshooting output needs more or less detail.

Workspace and Local Server Commands

openscience

Starts the local server and opens the browser workspace in the current directory. Use it for the main interactive research workflow.

openscience ~/code/my-project

Starts the workspace with a specific project folder as the root. Use it when files, notes, code, and sessions should stay with an existing project.

openscience web

Starts the server, opens the browser workspace, and prints the URL. This explicit form performs the same launch as the bare command.

openscience web --port <port>

Starts the workspace on a selected local port. Use it when the default port conflicts with another local process.

openscience web --cors <origin>

Allows an extra CORS origin for the workspace server. Keep this limited to controlled local integration work.

openscience serve

Starts the local server without opening a browser. Use it for headless local operation or long-running server sessions.

openscience serve --port <port>

Starts the headless server on a selected local port. Use it when an attach workflow needs a predictable local URL.

openscience serve --cors <origin>

Adds an allowed CORS origin to the headless server. Treat it as a local integration option, not public hosting.

One-Shot Runs and File Context

openscience run [message..]

Sends one prompt from the terminal, streams the result, and exits. Use it for scripts, CI tasks, terminal research checks, or quick project analysis.

openscience run "Profile train.py and find the input-pipeline bottleneck"

openscience run -f <path> "..." / openscience run --file <path> "..."

Attaches a local file to the prompt. Use it for papers, data files, diffs, scripts, notebooks, or molecular structures.

openscience run "Set up a DFT optimization for this structure" -f data/sample.cif

openscience run --model <provider/model> "..."

Uses a specific model for one terminal run. Use it when a task needs a selected provider route.

openscience run --variant <tier> "..."

Selects a reasoning-effort tier when the chosen model supports it. Available tiers depend on the model.

openscience run --agent <agent> "..."

Runs a prompt with a selected agent. Use it for research, biology, physics, ml, plan, or a custom agent.

openscience run --command <command> "..."

Runs a configured custom command with the message as arguments. Use it after defining custom command behavior.

openscience run --title <title> "..."

Sets a title for the created session. Use it to keep terminal-created sessions easy to identify.

openscience run --format json "..."

Emits JSON event lines. Use it when scripts need tool-use events, text, errors, or structured run output.

openscience run --format json "Summarize the experiment in results/" > summary.json

openscience run --port <port> "..."

Sets the local port for a throwaway server used by a terminal run. Use it when local port control matters.

Sessions, Continuation, Attach, Export, and Import

openscience session list

Lists recent sessions. Use it to find session IDs and previous research threads.

openscience session list -n <count>

Limits the number of sessions shown. Use it when the session list is long.

openscience session list --format json

Prints the session list in JSON. Use it when scripts need session IDs or metadata.

openscience run -c "..." / openscience run --continue "..."

Continues the most recent session. Use it when the last session is the correct thread.

openscience run -s <session-id> "..." / openscience run --session <session-id> "..."

Continues a specific session by ID. Use openscience session list first when you need the ID.

openscience run --attach <url> "..."

Sends a prompt to a running local server. Use it with openscience serve or an existing workspace server. It does not attach files.

openscience export <session-id>

Writes a full session as JSON to stdout. Redirect it to a file for archive, support, handoff, or reproduction notes.

openscience export <session-id> > session.json

openscience export

Opens an interactive session picker before export. Use it when you do not want to copy a session ID manually.

openscience import <file>

Imports a session JSON file. Use it to move a session to another machine or restore an exported transcript.

openscience import session.json

Models, Providers, and Billing

openscience keys add

Adds a provider API key or starts OAuth sign-in where the provider supports it. The older openscience auth form remains an alias.

openscience keys signin

Signs in with a ChatGPT or Codex subscription.

openscience keys list / openscience keys rm

Lists stored provider credentials and active environment variables, or removes a stored provider key.

openscience models

Lists configured providers and models. Run it after provider setup, Atlas connection, catalog refresh, or first installation.

openscience models <provider>

Lists models for one provider. Use it when you need model IDs for a selected provider.

openscience models --verbose

Shows per-model metadata such as costs where available.

openscience models --refresh

Refreshes the local model catalog. Use it when model availability looks stale.

openscience models --flat

Prints one provider/model ID per line. Use it in scripts or when copying a model ID into --model.

openscience local add

Detects local OpenAI-compatible servers such as Ollama and LM Studio, then lists and adds their models.

openscience wallet

Shows the Atlas wallet balance and current key routing. openscience billing remains an alias.

openscience wallet topup

Opens the top-up flow for Atlas credit. Use it when managed-model access needs more wallet balance.

Atlas Account Commands

openscience login

Connects the local device to Atlas through a browser flow. Use it for Atlas managed models, synced credentials, spend controls, or research graphs.

openscience login --key <atlas-cli-key>

Connects with a CLI key. Use it on headless or CI machines.

openscience login --no-browser

Starts a headless login flow. Use it on machines without a browser.

openscience status

Shows the current Atlas connection state. Use it to check account, device, synced credentials, default model, and credit state where available.

openscience sync

Re-pulls synced service credentials from Atlas. Use it after changing dashboard-managed credentials.

openscience devices

Lists authenticated devices. Use it to audit machines connected to Atlas.

openscience logout

Disconnects the current device from Atlas. BYOK use remains available after logout.

The older openscience connect forms remain aliases for these account commands.

Execution Sandbox

openscience sandbox

Shows the operating-system backend and current sandbox policy.

openscience sandbox enable

Confines shell and notebook writes to the workspace on supported macOS and Linux systems. Add --network deny to block network access and --allow <path> for another permitted path.

openscience sandbox test

Tests writes inside and outside the workspace plus network egress to confirm the policy on the current machine.

openscience sandbox disable

Turns the optional execution sandbox off. Containers or virtual machines remain the safer boundary for hostile code.

Agents

openscience agent list

Prints the available agent roster. Use it before selecting an agent in the workspace or with run --agent.

openscience agent create

Scaffolds a custom agent interactively. Use it to create a recurring specialist role with its own prompt, tool set, routing policy, and mode.

openscience agent create --path <path>

Writes the agent definition to a specific path. Use it to choose project-local or user-global storage.

openscience agent create --description "<text>"

Supplies the intended role for the generated agent. Use it to guide the scaffolded profile.

openscience agent create --mode <primary|subagent|all>

Sets where the agent appears. primary agents lead sessions, subagent profiles work through delegation, and all supports both.

openscience agent create --tools "read,grep,glob"

Sets the tool allow-list. Use it to restrict a custom agent’s available actions.

openscience agent create --model <provider/model>

Sets the default model for that agent. Use it when a custom agent should prefer a specific provider route.

Skills

openscience skill list

Lists learned and installed skills. Use it to inspect the active skill library.

openscience skill list --all

Lists the bundled skill set by category. Use it to view the broader scientific and workflow skill surface.

openscience skill show <namespace>

Shows a namespace summary. Use it to inspect a group of related skills.

openscience skill show <namespace/skill>

Prints metadata and the full SKILL.md for a specific skill. Use it before relying on a skill in a research workflow.

openscience skill add <url> / openscience skill add gh:owner/repo

Installs skills from a public git repository. Review the safety-check output before using third-party skills.

openscience skill new <name> --description "<text>" --editor

Creates a local user skill and opens it in the editor. Use it for reusable lab procedures, review checklists, analysis steps, or domain workflows.

openscience skill edit <name>

Opens a local skill in $EDITOR. Use it to revise an existing user skill.

openscience skill validate <name>

Checks skill frontmatter and safety. Use it before regular use or sharing.

openscience skill validate <name> --strict

Fails validation on warnings. Use it when warnings should block a skill.

openscience skill set-entries <namespace> <entries>

Controls which skills in a namespace appear in the / picker. Use it to keep the workspace picker focused.

openscience skill remove <name-or-namespace>

Uninstalls a skill or namespace. Use it to remove unwanted skill entries.

Integrations: ACP, MCP, GitHub, and PR Work

openscience acp

Starts an Agent Client Protocol server for compatible editors. Use it when your editor workflow uses ACP.

openscience mcp list

Lists configured MCP servers. Use it to inspect external tool connections.

openscience mcp add ...

Adds an MCP server. Use it to connect external MCP tools.

openscience mcp remove ...

Removes an MCP server. Use it when an external tool connection is no longer needed.

openscience mcp auth ...

Authenticates an MCP server where required. Use it when a configured MCP tool needs authorization.

openscience github install

Installs or configures GitHub agent support for CI/Actions. Use it for GitHub-oriented agent workflows.

openscience github run

Runs the GitHub agent for CI/Actions. Use it inside a GitHub workflow context.

openscience pr <number>

Checks out a pull request branch and launches the agent on it. Use it for PR review, code investigation, or branch-level work. Review changes before merging.

Project, API Spec, Stats, Debug, Upgrade, Uninstall, and Completion

openscience project

Pins the Atlas project root for the current folder. Use it when Atlas project context should follow a local directory.

openscience project merge

Merges or pins Atlas project-root behavior for the current folder. Use it only when Atlas project association matters.

openscience generate

Prints the local server OpenAPI spec to stdout. Use it to inspect or integrate with the local server API.

openscience stats

Shows local token-usage and cost stats. Use it to review local usage tracking beside provider or Atlas billing.

openscience debug

Produces structured diagnostics. Use it when troubleshooting install, runtime, model, or support issues.

openscience debug paths

Shows data and config directories. Use it before editing, backing up, or removing local configuration.

openscience upgrade

Updates OpenScience. Run openscience --version afterward to confirm the installed version.

openscience uninstall

Removes the binary and local config. Use it when you want to remove OpenScience from the machine.

openscience completion <shell>

Prints a shell completion script for bash, zsh, or fish. Redirect it into your shell’s completion path when you want command completion.

Alternatives & Related Resources

Pros

  • Works with frontier and open-weight models from dozens of providers
  • No OpenScience or Atlas account required for BYOK use
  • Fully open source under Apache 2.0
  • 290+ research skills
  • Queries around 30 scientific databases

Cons

  • The execution sandbox is off by default and is not a full jail
  • The built-in server binds to localhost and has no remote-access mode

FAQs

Q: How does OpenScience compare to Claude Science?
A: OpenScience is an Apache-2.0, model-agnostic alternative that runs a local workspace and accepts your own provider keys. Claude Science runs inside Anthropic’s managed Claude environment. OpenScience also ships with 290+ research skills.

Q: Do I need an Atlas account to use OpenScience?
A: No. Atlas is Synthetic Sciences’ managed platform for wallet-billed models, synced service credentials, and research graphs. OpenScience does not meter BYOK access, although your chosen model provider may charge for API calls.

Q: Is the agent sandboxed?
A: The sandbox is off by default. Run openscience sandbox enable on supported macOS and Linux systems to confine writes and optionally deny network access. The sandbox provides write containment but is not a full jail. Use a container or VM for hostile code.

Q: What happens to my API keys?
A: BYOK provider keys stay on your machine, and requests go directly to the provider. OpenScience filters model-provider credentials out of agent subprocesses and redacts known credential patterns from output. If you connect Atlas and sync service credentials, Atlas stores the canonical copy and the local credentials file becomes a removable mirror.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!