Hedgehog-Computing/hedgehog-lab · 上手攻略

  • 仓库:Hedgehog-Computing/hedgehog-lab
  • 链接:https://github.com/Hedgehog-Computing/hedgehog-lab
  • 分类:academic-writing / tool
  • 作者:Tom
  • 更新:2026-08-14

是什么

Hedgehog Lab(官网 hlab.app)是一个完全运行在浏览器中的开源科学计算环境,使用一种名为 Hedgehog Script 的 JavaScript 方言。它让你可以在浏览器里做矩阵运算(含 GPU 加速)、数据可视化、符号计算和 TeX 公式渲染——无需安装任何本地环境。

项目开源(Apache-2.0),GitHub 2.4k Stars,137 Forks,有独立的 Hedgehog Book 文档站点。


解决什么问题

传统科学计算环境(如 MATLAB、Python/Jupyter)需要本地安装、配置 CUDA/环境依赖,跨设备使用极不方便。Hedgehog Lab 的核心理念是零门槛科学计算

  • 无需安装:打开浏览器就能跑科学计算代码
  • GPU 加速:内置 WebGL 加速矩阵运算(Chrome 默认启用)
  • 分享协作:脚本可保存、修改、分享给全球任意用户
  • 社区模块:开发者可以把脚本封装为 @username/filename 模块供他人引用

快速安装

直接使用(最简)

访问 https://hlab.app,打开 Chrome 或 Firefox 即可。推荐 Chrome(GPU 加速默认支持)。

本地开发

# 克隆(建议 dev 分支)
git clone https://github.com/Hedgehog-Computing/hedgehog-lab.git
cd hedgehog-lab
git checkout dev

# 安装依赖(需 yarn)
yarn install

# 启动开发服务器
yarn watch

# 等待编译完成(约需数分钟),浏览器打开显示的地址

⚠️ 每次运行 yarn watch 都会重新编译整个项目,需要等待数分钟,页面刷新后生效。

部署方式

使用 Vercel(vercel.json 已配置)或自托管。Vercel 部署:

npx vercel

核心用法

Hedgehog Script 语言基础

Hedgehog Lab 使用 JavaScript 扩展( Hedgehog Script),语法兼容标准 JavaScript,并内置科学计算库:

// 矩阵运算
let A = [[1, 2], [3, 4]];
let B = [[5, 6], [7, 8]];
let C = matmul(A, B);  // 矩阵乘法

// GPU 加速向量运算
let x = linspace(0, 10, 100);
let y = sin(x);

// 符号计算(部分能力)
let expr = sym("x^2 + 2*x + 1");
let integrated = integrate(expr, "x");

// TeX 渲染
let tex = "E = mc^2";
render(tex);  // 在输出区渲染数学公式

数据可视化

// 折线图
let x = linspace(0, 10, 100);
let y = sin(x);
plot(x, y, {title: "Sine Wave", xlabel: "x", ylabel: "sin(x)"});

// 散点图
scatter(data_x, data_y, {color: "blue"});

脚本管理与分享

  • 保存脚本:登录后点击 Save,所有脚本公开
  • 引用他人模块@username/filename 语法引用社区模块
  • Fork & Edit:任意公开脚本可 fork 修改

环境布局

主要界面:代码编辑区(左)+ 输出区(右)+ 侧边栏(文件浏览/社区/文档)。具体按钮和快捷键见 Hedgehog Book - Features


典型适用场景

  1. 快速原型验证:想验证一个算法思路,打开浏览器就能跑,无需搭建 Python 环境
  2. 教学演示:教师在课堂上演示数学/统计概念,学生无需安装任何软件
  3. 轻量数据可视化:小数据集的快速可视化,不需要完整的 JupyterLab
  4. 跨设备工作:在任意设备浏览器中访问自己的脚本(需登录)
  5. 社区学习:浏览、引用、fork 社区开发的科学计算脚本

坑与注意

  1. GPU 加速仅 Chrome 完善:Firefox 支持较有限,生产环境科学计算如需稳定 GPU 加速,建议用 Chrome。
  2. 编译等待时间:本地 yarn watch 每次启动均需完整编译,大型脚本首次加载较慢;在线版(hlab.app)无此问题。
  3. 语言表达能力有限:Hedgehog Script 是 JavaScript 子集+科学计算库,不适合大规模数据处理或生产级 ML 训练(更适合快速探索)。
  4. 符号计算能力有限:符号计算(sym)功能较基础,复杂推导建议用 Python/SymPy。
  5. 在线版数据隐私:脚本默认公开,分享时注意不要上传敏感数据。
  6. 环境依赖版本:部分第三方库版本与浏览器兼容性问题可能在不同版本间出现。

与同类对比

方案 类型 特点 适用场景
Hedgehog Lab 浏览器科学计算 零安装、GPU 加速、分享协作、JavaScript 快速探索、教学、轻量可视化
Jupyter Notebook 本地/云端 生态丰富、交互强、支持 Python/R 正式研究、大规模数据
Observable 浏览器 notebook D3 可视化强、社区活跃 数据 journalism、可视化
Google Colab 云端 Jupyter GPU/TPU 免费额、Python 生态 深度学习训练

Hedgehog Lab 的最大差异化是零安装 + JavaScript 生态 + 社交化脚本分享,劣势在于 Python 生态缺失和符号计算能力有限。


一句话推荐结论

需要一个打开浏览器就能跑代码、做矩阵运算和画图的科学计算环境?Hedgehog Lab 是目前最轻量的选择——完全免费,无需注册,适合快速原型和教学演示。


原始仓库:https://github.com/Hedgehog-Computing/hedgehog-lab(commit SHA 需本地 git ls-remote 核验;Hedgehog Book:https://hedgehog-computing.github.io/)