SuperAPI AI 工具集

mesop

编程与开发

查看项目

更新于 10-16 09:49

技能介绍

用途:构建、调试和部署 Mesop 应用。Mesop 是 Python 原生 UI 框架,无需编写前端代码(HTML/CSS/JS),适合纯 Python Web UI,尤其是 AI/ML 演示和内部工具。不适用于用户明确要求其他框架(Streamlit、Gradio、Solara)的场景,除非涉及比较或迁移;也不用于通用 Flask/FastAPI 后端开发,除非是为了挂载 Mesop 应用。

主要能力与工作流:安装 mesop 并创建 main.py;用 @me.page(path="/") 定义入口;用 @me.stateclass 定义会话状态(必须可序列化);用 me.box、me.text、me.input 等构建 UI 树;编写事件处理函数(普通、生成器或异步)更新状态;用 me.Style(flexbox/grid)设置样式;部署到 Cloud Run、Docker 或 Hugging Face Spaces。

关键模式:始终使用标准别名 import mesop as me 与 import mesop.labs as mel。状态为会话级且必须可序列化,通过 me.state(State) 在组件或事件处理器中访问。事件处理器分为普通(运行完成后更新 UI)、生成器(yield 流式更新 UI,例如加载状态或 LLM 流式输出,且必须在末尾 yield)和异步(async def 加 await)。内容型父组件使用 with 块组合子组件。key 用于重置状态、焦点管理、滚动定位和复用事件处理器。

常见陷阱:不要在事件处理器中依赖闭包变量,可能过期,应改用 key 或状态;避免在不必要时设置输入框 value,性能上优先用 on_blur 而非 on_input,如需双向绑定应跟踪初始值与当前值;@me.stateclass 中不要用可变类型(list、dict)作默认值,应使用 dataclasses.field(default_factory=...);全局变量在所有用户间共享,应使用 @me.stateclass 实现按会话状态。

参考:核心模式、组件 API、样式与布局、部署与配置、Web Components 等分档说明。具体收费、价格与平台细节暂未提供。