用途:在 APX 框架(FastAPI 后端 + React 前端)下构建 Databricks 全栈应用。当用户要求“Databricks app/application”,或未指定框架的全栈应用,或提及 APX 框架时触发;若用户明确指定 Streamlit、Dash、Node.js、Shiny、Gradio、Flask 等其他框架则不触发。
前置检查:确认仓库已配置 APX(可用 mcp-cli tools | grep apx、grep shadcn 检查 MCP,并查看 pyproject.toml),或安装 APX:需 uv(Mac 可 brew install uv)、bun(brew tap oven-sh/bun; brew install bun)、git,随后运行 uvx --from git+https://github.com/databricks-solutions/apx.git apx init。
工作流程(约 55-70 分钟):初始化(启动服务器、创建 todos);后端(Models + 路由,含 mock 数据);前端(组件 + 页面);测试(类型检查 + 手动验证);文档(README + 代码结构指南)。
主要能力与用法:后端在 src/{app_name}/backend/models.py 采用 3 模型模式(EntityIn 输入校验、EntityOut 完整输出、EntityListOut 性能优化摘要);在 router.py 编写 API 路由,必须包含 response_model 与 operation_id,命名采用 listX/getX/createX/updateX/deleteX,并初始化 3-4 条 mock 数据。前端在 src/{app_name}/ui/routes/_sidebar/ 下创建列表页与详情页,使用 shadcn 组件,更新导航数组。测试阶段执行 mcp-cli call apx/dev_check '{}',用 curl 验证端点,浏览器手动核验列表、详情、变更与加载状态。部署用 DABs,日志查看可用 APX MCP 自动检索,或手动执行 databricks apps logs <app-name> --profile <profile-name>。
关键模式:后端 3 模型与 operation_id 命名,前端 Suspense hooks 与骨架屏回退,格式化工具,禁止编辑 lib/api.ts 与 types/routeTree.gen.ts。
限制与常见问题:后端改动后需等待 5-10 秒完成 OpenAPI 客户端再生成;Python 类型错误用显式转换处理;TypeScript 错误需确认 hook 名与 operation_id 对应;OpenAPI 未更新可重启 watcher;组件未添加需在项目根目录用 --yes 运行 shadcn。参考文件 backend-patterns.md、frontend-patterns.md、best-practices.md。相关技能:databricks-app-python、databricks-asset-bundles、databricks-python-sdk、databricks-lakebase-provisioned。本技能不定义具体平台支持与价格信息,官方资料暂未提供。