SuperAPI AI 工具集

managing-streamlit-apps

智能体与模型

查看项目

更新于 10-16 03:45

技能介绍

用途:在 PostHog 内创建、部署和运维 Streamlit 应用。每个应用是运行于隔离沙箱中的 Python 数据应用,代码以不可变版本保存,一个版本处于激活状态,由沙箱进程提供服务,全生命周期通过 streamlit-apps-* MCP 工具驱动。

主要能力与用法:

  1. 创建:streamlit-apps-create 传入 name,可选 description、cpu_cores(0.25–8)、memory_gb(0.5–16),默认 0.5 CPU / 1 GB。此时应用尚无代码。
  2. 设置源码:streamlit-apps-set-source 传入完整 app.py 字符串;files 映射项目相对路径到文本(辅助模块、CSV、JSON),assets 映射路径到 base64(Parquet、图片)。该调用创建并激活版本 1。源码应使用 posthog_apps.query() 读取 PostHog 数据,不要 import posthog。
  3. 启动与轮询:streamlit-apps-start 立即返回,沙箱异步启动;轮询 streamlit-apps-status 直到 running(通常不到一分钟),若为 error 则查看 last_error。
  4. 分享:create/get/start 返回的 _posthogUrl(/streamlit-apps/{short_id})是应用页面,查看者需登录 PostHog 并有项目权限,无公开 URL。

数据权限:查询以激活版本作者的权限运行,能查看应用的人即可看到这些结果,发布应用等于向项目成员共享该数据;作者被删除的应用无法启动,需上传新版本。

更新与版本:再次调用 set-source 会创建并激活新版本,每次需重新传入完整 files 与 assets;运行中的沙箱会被停止,需再调用 start。版本不可变但非永久:versions 列出最新 50 个,非激活且超过 30 天的版本连同代码被删除;无回滚工具,回滚需重新设置旧源码、files 和 assets,因此需自行保存完整包。

停止、闲置与删除:stop 停止沙箱,代码与版本不受影响;闲置沙箱会自动停止,属正常现象;delete 会停止沙箱并软删除应用,删除非本次会话创建的应用前应先与用户确认。

重命名与调整资源:streamlit-apps-update 可改 name、description、cpu_cores、memory_gb,仅传入的字段变更;新规格在下次启动时生效,运行中应用需 stop + start。默认规格适合典型仪表盘;仅当应用自身在内存中持有大型 DataFrame 时才提高 memory_gb,256 MB 的 HogQL 桥接查询上限在服务端,不随沙箱规格变化。

限制与排错:403 “Streamlit apps is not available.” 表示该组织未开启功能开关,属发布门控,需告知用户;查询失败属应用代码问题(桥接限制:每次查询 30 秒执行、256 MB 内存);set-source 后仍显示旧代码通常是漏了 start。

适用场景:在 PostHog 项目内构建和共享数据仪表盘类 Streamlit 应用。

暂未提供:公开访问方式、定价信息。