sandbox.bio 推出可嵌入的 Linux 终端,用于可运行的技术教程

Robert Aboukhalil 和 Maria Nattestad 正在将一个已有五年历史的生物信息学教学工具改造成出版商可以添加到自己网站的基础设施。

By · Published

Primary source: sandbox.bio

Why it matters

Embedding the runtime lets sandbox.bio reach learners through existing courses and documentation. It also shows how browser-side compute can make specialized technical education cheaper to distribute.

Illustration of the sandbox.bio embeddable Linux terminal overlaying bioinformatics diagrams and code snippets on a web tutorial page.

OMGenomics Labs 联合创始人 Robert Aboukhalil (@RobAboukhalil)Maria Nattestad (@marianattestad) 于 2026 年 8 月 14 日 发布了 一个 sandbox.bio embed,允许教育工作者和技术作者只需插入一个 script 标签,就能在网站上添加一个可工作的 Linux 终端。页面上的 Bash 示例会获得一个“运行”按钮,让读者在不切换标签页或不安装本地环境的情况下执行命令。

此次发布延续了解决 Aboukhalil 在其 resume 中多年从事的问题:生物信息学课程通常在教授任何生物学内容之前就由讲师花时间排查操作系统、依赖项和学生机器不一致的问题。Aboukhalil 拥有 Cold Spring Harbor Laboratory 的生物信息学博士学位,曾在 Chan Zuckerberg Initiative、Invitae、GenapSys 和 Fluidigm 从事基因组软件开发。Nattestad 同样拥有 Cold Spring Harbor 的基因组学博士学位,据她的 curriculum vitae 所示,在领导 DNAnexus 的科学可视化工作后,她参与了 Google 的 DeepVariant 和 DeepConsensus 项目。

他们的工作一直推动复杂的基因组软件走向研究人员可以使用的接口,而无需从头重建环境。Nattestad 创建了包括 Circa、Ribbon 和 Assemblytics 在内的可视化工具。Aboukhalil 创建了 sandbox.bio 和 biowasm,后者通过 WebAssembly 将 samtools、bedtools、bcftools、minimap2、grep 和 sed 等命令行程序打包以供浏览器使用。

新的 embed 将该技术基础转化为一种分发特性。讲师无需让学习者前往 sandbox.bio training platform,即可将其执行环境嵌入现有课程页面、实验手册或技术文章中。

从目标站点到发布工具

发布者通过插入以下标签来添加终端:

<script src="https://sandbox.bio/embed.js" data-cwd="embed"></script>

在 GitHub Pages 上,围栏式的 Bash 代码块会自动获得一个运行按钮。标准 HTML 页面可以通过为元素标注 language-bash 类来获得相同的控制。终端以停靠的形式出现在文章下方,将解释、命令和输出保持在同一视图中。

该 embed 可以通过 data-cwd 属性在指定的工作目录中打开。发布者还可以将 data-config 指向远程配置文件,以选择工具并预加载文件。文档使用托管在 GitHub Pages 上的基因组 BAM 文件作为示例,展示了讲师如何将一个小的练习数据集与课程一起分发。

在生物信息学中,这种配置很重要,因为一个命令很少是孤立存在的。一个有用的练习需要合适的可执行文件、预期的目录结构和有代表性的数据。将这些部分打包到页面中,为讲师提供了一个可复现的起点,同时将课程保留在他们控制的网站上。

此次发布紧随为期一周的更新,以纪念 sandbox.bio 的五周年。早期发布涵盖了将 GitHub 仓库转换为交互式教程、一个 Datavzrd 游乐场、与 The Carpentries 合作开发的 Python 练习以及一个 Nextflow 教程。sandbox.bio 表示 自 2021 年推出以来,学习者已完成超过 8,500 个教程。

浏览器承担计算成本

Aboukhalil 的架构解释了为什么一个专门的教育项目可以在不为每个访问者分配云机器的情况下提供实时计算。在他 2024 年 6 月的一次 technical talk 中,他将 sandbox.bio 描述为通过 v86 在浏览器内运行一个 Debian 环境,v86 是一个编译为 WebAssembly 的 x86 模拟器。计算由用户的设备执行,而不是由集中的教程服务器群承担。

这一选择将成本和运维复杂性从 sandbox.bio 转移出去。浏览器为每个学习者执行计算,而平台则提供运行课程所需的应用和机器资源。

其代价是容量。Aboukhalil 表示 2024 年的版本受限于 32 位软件、不超过 4 GB 的内存和小型练习文件。他将这些限制呈现为适合教学的边界:教学的目的是在有代表性的数据上教授工作流,而不是处理完整的生产级基因组工作负载。embed 沿袭了这种教育逻辑:它为可运行的解释、演示和紧凑的练习而构建。

基于浏览器的计算已被诸如 StackBlitz's WebContainers(用于 Node.js 开发)等产品采用,而 Termible 则在文档中提供基于 Docker 的嵌入式终端。sandbox.bio 的设计更为狭窄。其目录和工具链以基因组学程序为中心,这些程序在研究实验室之外往往不熟悉,并且即使对有经验的用户也很难安装。

这种专门化为该 embed 提供了切入点。通用的浏览器 IDE 要求作者将课程调整为开发平台。sandbox.bio 为生物信息学教育者提供了一个以他们课程已经教授的软件和文件格式为中心准备好的终端。

创始人实际上正在将 sandbox.bio 从一个交互式教程库转变为其他教育者可以发布的组件。一个已有五年历史的教程站点现在可以通过一行行 script 标签在网络中传播,随之携带 Aboukhalil 和 Nattestad 的核心赌注:当环境消失在页面中时,命令行变得更容易教授。

Reader comments

Conversation for this story loads after sign-in.