用途:把刚克隆的 vignette catalog 拉起到可用的 marimo 内核,然后交给 notebook 编写环节。适用于已克隆 catalog 仓库、需要启动首个 notebook 并验证鉴权与内核可用性的场景。
主要能力与流程:
- 读取仓库根的 catalog.toml,获取 first_notebook、auth 所需环境变量与 catalog 名称;没有该文件时回退到 notebooks/ 中编号最小的 notebook,并从 README.md 查鉴权。
- 检查 uv(uv --version),缺失时按官方方式安装:curl -LsSf https://astral.sh/uv/install.sh | sh;再以 npx skills add marimo-team/marimo-pair -y 安装 marimo-pair 技能,已安装则跳过。
- 若清单声明鉴权,探测 env_var 或 indirect_env_var 是否可用;两者皆空视为公开 catalog。不通过则停止并告知用户如何解锁或获取 token,不应在未验证的 token 上继续。
- 在沙盒中后台启动首个 notebook,记录端口;启动依赖 --sandbox 以装配 PEP 723 依赖,并需处理 PYTHONPATH、文件描述符上限等已知问题。
- 无浏览器时运行 scripts/register-session.py 注册内核会话;随后通过 marimo-pair 的 execute-code.sh 显式运行所有单元,并做一次端到端抽查。
- 交接端口给用户,后续由 vignette-catalog-compose-notebook 接手;停止内核时按端口定位并终止整个进程组,避免误杀其他内核。
限制:需要 real localhost 网络与进程控制,部分步骤需在非沙盒环境运行;不保证该内核服务所有 notebook;具体费用、平台要求与效果资料未提供。