用途:通过组合已有 catalog 辅助函数(如 jx、fgx、prx、dmx 等)来回答数据问题,而非从头编写管线。catalog 的可复用逻辑是编号笔记本中的顶层 @app.function 单元,应导入复用,不要重新实现或另建 src/ 包。产出物为 composed notebook,只需回答问题;多数保持此形态,只有经过有意策展、且能教一个可复用动作的少数才升级为 vignette。
主要能力与用法:先确保有由 marimo-pair 技能驱动的实时内核;若无会话或端口,先运行 getting-started 安装 marimo-pair 并以 --sandbox 启动 catalog 首个笔记本,保留其端口。从仓库根目录 catalog.toml 读取 vignette 表、数据面与鉴权信息,再阅读最相关笔记本。路径选择:参数替换(同一 vignette 换输入并重跑)或组合(需要两个以上笔记本的辅助函数,新增 notebooks/<topic>.py 导入它们)。磁盘上的 .py 是唯一真实来源,所有依赖必须落到 .py,保证新内核可复现。在内核中逐单元运行并查看输出,图表需实际查看渲染图像,必要时导出到 data/processed/<topic>/ 再打开;不得编造数字或描述未运行的输出。
最终校验:完成后再从干净状态运行 scripts/validate-notebook.sh notebooks/<topic>.py,该脚本执行 marimo check --fix、ruff,并在最终源码编辑后用 marimo export 执行笔记本;这是 CI 式闸门,不是发现输出含义的环节。可能生成 marimo/session/*.json 本地导出产物,默认视为 gitignore 的生成文件。输出保存到 data/processed/<topic>/,并写 summary.json 信封({description, numbers, files})供索引笔记本读取;遵守数据契约:raw 不可变、fetch 使用 SHA-256 固定。结尾写 “## To extend” 给出两三个具体后续问题。
限制:文档未提供具体价格、平台支持范围或效果保证;实时内核依赖 marimo-pair 与可访问端口;无头校验无法替代内核中的人工查看。