商业产业 Hacker News AI 2026-07-06T05:13 正文 ok 1222 words

Open Science:开源替代方案,打造可追溯的科学研究工作台

英文标题:🔶 Show HN: Open Science, open-source alternative to Claude Science

Open Science 是一个面向科学研究(AI4S)的开源桌面工具,旨在替代 Claude Science,提供可规划、执行、审查的完整工作流,而非简单聊天框。它支持模型无关、本地优先的运算,所有图表、报告和代码可追溯至生成来源,并通过内置的文献检索、实验管理和完整性审计技能,确保研究可复现。该项目基于 Tauri、OpenCode 和 ai4s-skills 构建,目前在 macOS 上提供 MVP 版本,对需要本地化、高可信度科学计算环境的开发者具有重要参考价值。
打开原文相关 2 · 机会 2
media60.4 KB media1.2 KB media1.2 KB media1.3 KB media1.3 KB media1.3 KB media1.2 KB media1.3 KB media92.3 KB media98.9 KB media166.2 KB media84.5 KB media111.5 KB media98.6 KB media82.1 KB

中文


  • 工作台,而非聊天框 — 规划 → 批准 → 执行 → 产出物 → 审查。
  • 可追溯的产出物,而非纯文本 — 每张图表、表格和报告都关联回生成它的代码、数据、环境以及对话。
  • 本地优先 — 你的数据和计算保留在本地;应用会明确说明哪些(如果有的话)信息会被发送出去。
  • 模型无关 — 通过 OpenRouter、OpenAI 兼容接口、Anthropic 或本地模型自行携带密钥(BYOK);一个免费开箱即用的模型,无需任何设置即可工作。
  • 可复现 — 代码、数据、图表、报告、日志以及 provenance.jsonl 均被保留,每个产出物版本均可恢复。
  • 多领域 — 从 AI4S 出发,扩展至材料、化学、生物学、医学和工程学。

一句提示 → 一次完整、可追溯的分析。 模拟数据、拟合模型、保存出版级别的图表,并撰写一份每个数字都可追溯到代码的报告。

端到端剂量-反应分析:Agent 运行代码并生成拟合图表与报告

每个产出物都可追溯到其代码、输入和对话 — 点击图表即可显示生成它的脚本以及背后的版本。

产出物检查器展示图表的生成代码、输入和来源

文献 → 可验证的报告。 搜索论文,撰写呈现在 PDF 中的手稿,并对引用、无出处的数字以及图表与代码一致性进行审计。

文献调研生成一份可追溯性审核的 PDF 手稿

更多截图 — 笔记本、参数扫描以及技能库

对话式笔记本。 Agent 驱动真正的 Jupyter 内核;单元格和图表在聊天旁实时呈现。

Agent 驱动一个带有实时 matplotlib 图表的 Jupyter notebook

运行并跟踪实验。 扫描参数,保持持久内核,并将结果呈现为可追溯的产出物。

参数扫描表格与实时分析笔记本并列显示

可插拔的科学技能。 内置的文献、实验、图表和完整性技能 — 加上一键安装的开源连接器并支持自行携带。

技能库列出内置的科学技能

your prompt
   │
   ▼
[ plan ] ──▶ [ approve ] ──▶ [ execute ]           local Python / Jupyter kernel,
   ▲              ▲              │                  shell, MCP tools — on your machine
   │              │              ▼
   │         you answer     [ artifacts ]  ──▶  figures · tables · notebooks · reports
   │        questions /          │                  each linked to code + data + env
   │        permissions          ▼
   └──────────────────────  [ review ]        citation audit · untraceable-number
                                               flags · figure ↔ code consistency

所有操作都通过内置的 OpenCode Agent 运行时(一个由应用锁定和管理的单二进制 sidecar)运行。界面从不直接与模型对话 — 它通过一个轻量级 SDK 进行通信,因此技能、MCP 服务器和模型提供商保持可插拔。

能力 说明
完整工作流 一句提示驱动数据 → 代码 → 图表 → 报告 → 一份可复现的记录。一键启动器助你快速开始。
本地计算 持久本地 Python 内核以及一个可选的隔离 Jupyter 环境(通过内置 uv 提供,不会影响系统 Python)。
产出物来源记录 每次 Agent 写入都会向 .openscience/provenance.jsonl 追加一条版本记录;“历史”面板展示每个版本的代码、模型和发起对话。
可追溯性审查器 解析引用(Crossref / arXiv / PubMed),标记没有可追溯来源的数字,并检查图表与生成代码的一致性。
原生查看器 内嵌 PDF、表格、图像、HTML 和 Office 文档;matplotlib/plotly 图表默认渲染为出版级品质。
统一设计系统 原生 UI 和 Agent 生成的 matplotlib 图表共享经过验证的单一图表调色板 — 在浅色和深色模式下均正确显示。
键盘优先 命令面板(⌘K)可触达所有主要操作。
模型选择 通过 OpenCode 接入约 150 家提供商;BYOK、OpenAI/Anthropic 兼容端点、本地 Ollama 或免费内置模型。

内置科学技能(应用提供并保持同步的 Agent 手册):

  • research-explorer、literature-survey、experiment-suite、paper-writer、mindmap-render、integrity-auditor、ai4s-agent — 来自 ai4s-skills 技能包。
  • traceability-review 和 publication-figures — 用于可验证审查和本地图表的官方技能。

一键开源连接器(通过内置 uv 在隔离环境中提供):

  • 文献 — arXiv、PubMed、Crossref、Semantic Scholar、bioRxiv/medRxiv (paper-search-mcp)。
  • 生物医学 — PubMed、ClinicalTrials.gov、基因组变异 (biomcp)。

自行携带 — 任何 MCP 服务器(本地命令或远程 URL)或技能;详见 docs/CONNECT_YOUR_TOOLS.md。

先决条件: Node.js ≥ 20、pnpm 9 和 Rust 工具链(用于 Tauri)。macOS 或 Windows。

从源码构建桌面应用:

git clone https://github.com/ai4s-research/open-science
cd open-science
pnpm install

# 获取锁定的 sidecar 和内置技能(不纳入 git 管理):
bash scripts/dev/fetch-opencode.sh   # OpenCode Agent 运行时
bash scripts/dev/fetch-uv.sh         # uv,用于隔离的 Python/Jupyter 环境
bash scripts/dev/fetch-skills.sh     # ai4s-skills 技能包

# 开发,或构建安装包(.dmg / .app / NSIS / .msi):
pnpm --filter @ai4s/desktop tauri dev
pnpm --filter @ai4s/desktop tauri build

首次启动时,应用会自动启动内置运行时,并使用免费模型开箱即用 — 可随时在 设置 中选择你自己的提供商。

常用检查:

pnpm test        # 单元测试(Vitest)
pnpm typecheck   # TypeScript
pnpm lint        # ESLint
  • 从工作流开始 — 空会话提供一键启动器(运行演示分析、分析你的数据、审计报告),或直接输入你想要的内容。

  • 在被提问时回答 — 当 Agent 需要决策时,它会内嵌询问并给出选项;当它想运行命令或写入文件时,它会请求许可(允许一次 / 始终允许 / 拒绝)。默认为手动批准模式。

  • 检查任意产出物 — 点击图表、报告或笔记本即可在右侧窗格中打开;打开其 历史 可查看每个版本,并跳转回生成它的对话。

  • 使用 ⌘K 触达一切 — 命令面板执行所有主要操作。

  • 添加数据 — 将文件拖入工作区(~/Documents/OpenScience)或在输入框中添加附件;Agent 在此处读取和写入。

  • 默认本地运行 — 你的工作区文件、原始数据、代码执行、会话历史和来源记录都保存在本机。设置中以通俗的语言明确说明,有哪些信息会发送给你选择的模型提供商(你的消息以及 Agent 为完成任务而读取的文件/命令输出),以及什么信息不会外传。

  • 人在回路中 — 命令执行、文件删除、依赖项安装和远程连接都需要批准;应用默认以手动批准模式运行。

  • 凭证 — 提供商密钥保存在应用私有文件中,绝不会出现在工作区、来源记录、日志或导出内容中。

路径 用途
apps/desktop/ Tauri 2 + React + TypeScript + Vite 桌面外壳(src/ 前端,src-tauri/ Rust)
packages/shared/ 共享领域类型和图表设计系统
packages/sdk/ OpenCodeClient SDK 封装(隔离 UI 与运行时)
packages/ui/ 共享 UI 组件库
runtime/skills/core/ 官方科学技能(traceability-review、publication-figures)
runtime/skills/external/ 内置 ai4s-skills 包(通过脚本获取)
runtime/ manager、opencode-profile、mcp 配置
docs/ PRD.md、TECHNICAL_DESIGN.md、REQUIREMENTS.md、CONNECT_YOUR_TOOLS.md
examples/bci-trends/ 一个内置的端到端演示项目工作区
scripts/ release/ 与 dev/ 脚本(sidecar 与技能获取工具)

v0.1,积极开发中 — 在 macOS 上工作的桌面 MVP。查看 PROGRESS.md 获取日志,docs/REQUIREMENTS.md / docs/PRD.md 获取完整规格说明。

  • ✅ 端到端工作流、产出物来源记录、可追溯性审查、本地 Python 内核 + Jupyter、一键科学连接器、通俗语言数据流、图表设计系统、命令面板。
  • 🚧 下一步:领域渲染器(蛋白质/化学结构)、R 内核、Windows 安装程序、更大的多文件项目,以及 HPC / Slurm 计算。

欢迎提交 Issue 和 PR。请保持变更最小且可验证,遵循 AGENTS.md 中的设计原则(简单 · 明确 · 清晰 · 完整),并在发起 PR 前运行 pnpm test、pnpm typecheck 和 pnpm lint。

MIT。内置的第三方科学技能和连接器带有各自的许可证。

这是一款测试版研究工具。输出为草稿 — 需核实数字、引用和论断,并在任何提交或决策前由领域专家审核。

基于 Tauri、OpenCode 和 ai4s-skills 技能包构建。感谢 linux.do — 一个充满活力的技术社区,本项目在此分享与讨论。

English / 原文


  • A workbench, not a chat box — plan → approve → execute → artifacts → review.
  • Traceable artifacts, not just text — every figure, table, and report links back to its code, data, environment, and the conversation that produced it.
  • Local-first — your data and compute stay on your machine; the app states plainly what (if anything) leaves it.
  • Model-agnostic — BYOK via OpenRouter, OpenAI-compatible, Anthropic, or local models; a free out-of-the-box model works with zero setup.
  • Reproducible — code, data, figures, reports, logs, and provenance.jsonl are kept, and every artifact version is recoverable.
  • Multi-domain — starting with AI4S, expanding to materials, chemistry, biology, medicine, and engineering.

One prompt → a complete, traceable analysis. Simulate data, fit a model, save a publication-grade figure, and write a report where every number traces to the code.

End-to-end dose–response analysis: the agent runs code and produces a fitted figure and a report

Every artifact traces back to its code, inputs, and conversation — one click on a figure reveals the script that made it and the versions behind it.

Artifact inspector showing a figure's generating code, inputs, and provenance

Literature → verifiable report. Search papers, draft a manuscript rendered as a PDF, and audit it for citations, unsourced numbers, and figure↔code consistency.

Literature survey producing a rendered PDF manuscript with a traceability review

More screenshots — notebooks, experiment sweeps, and the skills library

Conversation-first notebooks. The agent drives a real Jupyter kernel; cells and figures appear live beside the chat.

The agent driving a Jupyter notebook with a live matplotlib figure

Run and track experiments. Sweep parameters, keep a persistent kernel, and surface results as traceable artifacts.

An experiment sweep table alongside a live analysis notebook

Pluggable scientific skills. Bundled skills for literature, experiments, figures, and integrity — plus one-click open-source connectors and bring-your-own.

The skills library listing bundled scientific skills

your prompt
   │
   ▼
[ plan ] ──▶ [ approve ] ──▶ [ execute ]           local Python / Jupyter kernel,
   ▲              ▲              │                  shell, MCP tools — on your machine
   │              │              ▼
   │         you answer     [ artifacts ]  ──▶  figures · tables · notebooks · reports
   │        questions /          │                  each linked to code + data + env
   │        permissions          ▼
   └──────────────────────  [ review ]        citation audit · untraceable-number
                                               flags · figure ↔ code consistency

Everything runs through the bundled OpenCode agent runtime (a single-binary sidecar, pinned and managed by the app). The UI never talks to a model directly — it goes through a thin SDK, so skills, MCP servers, and model providers stay pluggable.

Capability What it does
Full workflow One prompt drives data → code → figure → report → a reproducible record. One-click starters get you going.
Local compute A persistent local Python kernel and an optional isolated Jupyter environment (provisioned with a bundled uv — your system Python is untouched).
Artifact provenance Every agent write appends a version record to .openscience/provenance.jsonl; a History panel shows each version's code, model, and originating conversation.
Traceability reviewer Resolves citations (Crossref / arXiv / PubMed), flags numbers with no traceable source, and checks figures against the code that made them.
Native viewers Inline PDF, tables, images, HTML, and Office documents; matplotlib/plotly figures render publication-grade by default.
One design system A single validated chart palette shared by native UI and agent-generated matplotlib figures — correct in light and dark.
Keyboard-first A command palette (⌘K) reaches every primary action.
Model choice ~150 providers via OpenCode; BYOK, OpenAI/Anthropic-compatible endpoints, local Ollama, or the free built-in model.

Bundled scientific skills (agent playbooks the app ships and keeps in sync):

  • research-explorer, literature-survey, experiment-suite, paper-writer, mindmap-render, integrity-auditor, ai4s-agent — the ai4s-skills pack.
  • traceability-review and publication-figures — first-party skills for verifiable review and on-system figures.

One-click open-source connectors (provisioned into an isolated env via the bundled uv):

  • Literature — arXiv, PubMed, Crossref, Semantic Scholar, bioRxiv/medRxiv (paper-search-mcp).
  • Biomedical — PubMed, ClinicalTrials.gov, genomic variants (biomcp).

Bring your own — any MCP server (local command or remote URL) or skill; see docs/CONNECT_YOUR_TOOLS.md.

Prerequisites: Node.js ≥ 20, pnpm 9, and the Rust toolchain (for Tauri). macOS or Windows.

Build the desktop app from source:

git clone https://github.com/ai4s-research/open-science
cd open-science
pnpm install

# Fetch the pinned sidecars and bundled skills (kept out of git):
bash scripts/dev/fetch-opencode.sh   # the OpenCode agent runtime
bash scripts/dev/fetch-uv.sh         # uv, for isolated Python/Jupyter envs
bash scripts/dev/fetch-skills.sh     # the ai4s-skills pack

# Develop, or build an installer (.dmg / .app / NSIS / .msi):
pnpm --filter @ai4s/desktop tauri dev
pnpm --filter @ai4s/desktop tauri build

On first launch the app starts the bundled runtime automatically and works out of the box with a free model — pick your own provider anytime in Settings.

Common checks:

pnpm test        # unit tests (Vitest)
pnpm typecheck   # TypeScript
pnpm lint        # ESLint
  • Start from a workflow — the empty session offers one-click starters (run a demo analysis, analyze your data, audit a report), or just type what you want.

  • Answer when asked — when the agent needs a decision it asks inline with options; when it wants to run a command or write a file it asks permission (allow once / always / reject). Manual approval is the default.

  • Inspect any artifact — click a figure, report, or notebook to open it in the right pane; open its History to see every version and jump back to the conversation that produced it.

  • Reach anything with ⌘K — the command palette runs every primary action.

  • Add data — drop files into the workspace (~/Documents/OpenScience) or attach them in the composer; the agent reads and writes there.

  • Local by default — your workspace files, raw data, code execution, session history, and provenance stay on your machine. Settings shows, in plain language, exactly what is sent to your chosen model provider (your messages and the file / command output the agent reads for the task) and what never leaves.

  • Human-in-the-loop — command execution, file deletion, dependency installs, and remote connections require approval; the app ships in manual-approval mode.

  • Credentials — provider keys live in an app-private file, never in the workspace, provenance, logs, or exports.

Path Purpose
apps/desktop/ Tauri 2 + React + TypeScript + Vite desktop shell (src/ frontend, src-tauri/ Rust)
packages/shared/ Shared domain types and the chart design system
packages/sdk/ OpenCodeClient SDK wrapper (isolates the UI from the runtime)
packages/ui/ Shared UI component library
runtime/skills/core/ First-party scientific skills (traceability-review, publication-figures)
runtime/skills/external/ The bundled ai4s-skills pack (fetched by script)
runtime/ manager, opencode-profile, mcp configuration
docs/ PRD.md, TECHNICAL_DESIGN.md, REQUIREMENTS.md, CONNECT_YOUR_TOOLS.md
examples/bci-trends/ A built-in end-to-end demo project workspace
scripts/ release/ and dev/ scripts (sidecar + skills fetchers)

v0.1, in active development — a working desktop MVP on macOS. See PROGRESS.md for the log and docs/REQUIREMENTS.md / docs/PRD.md for the full spec.

  • ✅ End-to-end workflow, artifact provenance, traceability reviewer, local Python kernel + Jupyter, one-click science connectors, plain-language data-flow, chart design system, command palette.
  • 🚧 Next: domain renderers (protein / chemical structures), an R kernel, a Windows installer, larger multi-file projects, and HPC / Slurm compute.

Issues and PRs are welcome. Keep changes minimal and verifiable, follow the design principles in AGENTS.md (simple · explicit · clear · complete), and run pnpm test, pnpm typecheck, and pnpm lint before opening a PR.

MIT. Bundled third-party scientific skills and connectors carry their own licenses.

This is beta research tooling. Outputs are drafts — verify numbers, citations, and claims, and have a domain expert review before any submission or decision.

Built on Tauri, OpenCode, and the ai4s-skills pack. Thanks to linux.do — a vibrant tech community where this project is shared and discussed.