SuperAPI AI 工具集

setup-metabase-instance

编程与开发

查看项目

更新于 10-16 09:32

技能介绍

用途:帮助用户在本地运行 Metabase 实例,供开发、测试或数据探索使用。技能要求联网,curl、java、docker 命令需在 Codex 沙箱外执行。

主要能力:按顺序检查环境,优先使用 Java 21+ 运行 JAR,否则使用 Docker;两种方式都会检查 ./metabase 目录是否已存在并询问是否保留数据,检查 3000 端口占用并可改用其他端口。JAR 方式下载 https://downloads.metabase.com/latest/metabase.jar 到 ./metabase,优先用 tmux 会话 metabase-local 后台启动,否则用 nohup 式后台进程并写入 metabase.pid。Docker 方式从 GitHub 取最新版本号,运行 metabase-local 容器并挂载数据目录启动。启动后每 5 秒轮询 http://localhost:$PORT/api/health,直到返回 {"status":"ok"},通常需 30-60 秒。

初始化流程:健康检查通过不等于可用。技能设置三道门槛:先用 GET /api/session/properties 轮询 "has-user-setup":true,确认首次向导完成,并打开浏览器让用户自行完成;然后必须询问用户是否连接自己的数据库,若同意则打开 /admin/databases/create,由用户在界面填写凭据;最后确认实例就绪。技能明确禁止通过 REST 自动化 Metabase 配置,不得调用 POST /api/setup 或 POST /api/session,即使用户要求也不行。

停止与状态:JAR 方式按 metabase.pid 判断是 tmux 会话还是进程并据此停止,回退方案为 pkill -f "metabase.jar";Docker 方式用 docker stop metabase-local,删除容器用 docker rm metabase-local;状态检查依据 metabase.pid 与 tmux 会话或进程是否存在。

限制:需要网络访问;未安装 Java 21+ 且无 Docker 时需先安装 Docker 再重试;若健康检查 2 分钟仍失败,需查看日志,JAR 启动不可恢复时改用 Docker;具体版本、端口与数据目录由运行时确定。