用途:使用 APX 框架(后端 FastAPI、前端 React)在 Databricks 上构建全栈应用。触发条件为请求 Databricks 应用且未指定框架,或明确提到 APX;用户指定 Streamlit、Dash、Node.js、Shiny、Gradio、Flask 等框架时不应使用。
前置条件分两种:仓库已配置 APX 时,验证 APX 与 shadcn 的 MCP 可用(mcp-cli tools | grep apx、mcp-cli tools | grep shadcn),并在 pyproject.toml 确认项目;否则安装 APX,验证 uv、bun、git,Mac 上可用 brew install uv、brew tap oven-sh/bun、brew install bun,再执行 uvx --from git+https://github.com/databricks-solutions/apx.git apx init。
工作流程约 55-70 分钟,分初始化、后端、前端、测试、文档等阶段。初始化用 mcp-cli call apx/start '{}' 与 apx/status '{}' 启动并查询服务器。后端在 backend/models.py 采用三模型模式(EntityIn、EntityOut、EntityListOut),在 backend/router.py 编写路由并始终包含 response_model 与 operation_id,命名如 listX/getX/createX/updateX/deleteX,并初始化 3-4 条 mock 数据;用 mcp-cli call apx/dev_check '{}' 做类型检查。前端后端改动后等待 5-10 秒让 OpenAPI 客户端再生成,通过 shadcn 添加组件(mcp-cli call shadcn/get_add_command_for_items),创建列表页与详情页,并在 _sidebar/route.tsx 的 navItems 添加导航项。测试阶段做前后端类型检查、用 curl 验证 API、获取前端 URL 并在浏览器手动验证。部署可用 DABs(参考 databricks-asset-bundles 技能),日志可用 APX MCP 自动获取或手动 databricks apps logs。文档产出 README.md 与 CODE_STRUCTURE.md。
限制与常见问题:不要编辑 lib/api.ts 或 types/routeTree.gen.ts;TypeScript 报错先等 OpenAPI 再生成并核对 hook 名与 operation_id;OpenAPI 未更新时检查 watcher 状态;组件未添加时需在项目根目录以 --yes 运行 shadcn;Python 类型错误需显式类型转换并检查可选字段。相关技能包括 databricks-app-python、databricks-asset-bundles、databricks-python-sdk、databricks-lakebase-provisioned。收费、价格等未提供。