SuperAPI AI 工具集

marimo-pair

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:marimo-pair 让 AI 直接接入正在运行的 marimo notebook 内核,读取单元格代码、创建和编辑单元格、安装包、运行单元格并查看响应式数据流图,用户在浏览器中实时看到结果。

主要能力:通过脚本或 MCP 发现本地服务器并执行代码。发现服务器用 bash scripts/discover-servers.sh 或 list_sessions();执行代码用 bash scripts/execute-code.sh -c "code" 或 execute_code(code=..., session_id=...)。多行代码用 heredoc 或文件,例如 bash scripts/execute-code.sh <<'EOF'。可用 --port、--session 指定目标,--url 直接连接服务器(也是连接远程服务器的唯一方式)。修改 notebook 结构需使用 marimo._code_mode,且必须用 async with cm.get_context() as ctx,否则操作静默无效;ctx.* 方法为同步,退出上下文时统一刷新。

使用方式:先发现服务器,再执行代码探索与验证,最后创建单元格持久化状态。只有以 --no-token 启动的服务器会注册到本地注册表并可自动发现;有 token 时设置 MARIMO_TOKEN 环境变量。不要使用 --headless,除非用户明确要求。没有服务器时,按用户意图启动一个,并作为后台任务运行。

限制与注意:每次 execute-code 调用之间变量、导入和副作用都会重置,不能持久化;单元格不会自动执行,需用 run_cell 排队。安装包应使用 ctx.install_packages(),不要用 uv add 或 pip。会话运行期间绝不要直接写 .py 文件。单元格代码中不要依赖临时文件。避免空单元格,优先编辑已有空单元格。删除单元格会从内核内存移除变量,属于破坏性操作,意图不明时应先询问。code_mode API 可能随 marimo 版本变化,每个会话开始时应先检查可用接口。使用 --url 时数据会发送到该端点,只应连接可信服务器。