开发工具:CLI、SDK、MCP 介绍
了解 Rabetbase 提供的五大核心工具,以及它们如何协同工作。
五件套概览
Rabetbase 为开发者提供了一套完整的工具链,覆盖从接口调用到 AI 辅助开发的完整场景:
| 工具 | 一句话定位 | 核心价值 |
|---|---|---|
| OpenAPI | 标准 HTTP 接口 | 跨语言调用、第三方系统集成、无 SDK 依赖 |
| CLI | 项目生命周期管理 | 创建项目、生成配置、同步菜单、构建部署 |
| TypeScript SDK | 前端数据访问 | 类型安全、统一错误处理、高效查询 |
| Java SDK | 后端数据访问 | 服务端复杂业务逻辑开发 |
| MCP Server | AI 业务智能引擎 | 让 AI 理解你的业务数据,生成准确代码 |
下面逐一介绍它们各自解决什么问题。
OpenAPI:标准 HTTP 接口
如果你不想依赖任何 SDK,或者需要用 Python、Go、PHP 等语言调用,OpenAPI 是最直接的选择。
curl -X POST https://runtime.lovrabet.com/openapi/data/get-list \
-H "Content-Type: application/json" \
-H "X-Time-Stamp: 1758903130713" \
-H "X-App-Code: your-app-code" \
-H "X-Dataset-Code: your-dataset-code" \
-H "X-Token: your-signed-token" \
-d '{"appCode": "your-app-code", "datasetCode": "your-dataset-code", "paramMap": {"pageSize": 10}}'
OpenAPI 使用签名认证(X-Header 方式),支持 AccessKey 和预生成 Token 两种模式,任何能发 HTTP 请求的语言都能用。详细的认证说明请参考 OpenAPI 认证指南。
CLI:项目生命周期管理
CLI 帮你省掉项目搭建中的各种琐事。
npm install -g @lovrabet/cli
lovrabet auth # 登录认证
lovrabet create # 创建项目
lovrabet start # 启动开发服务器
lovrabet api pull # 拉取数据集配置,生成 SDK 代码
lovrabet menu sync # 同步菜单到工作台
lovrabet build # 构建生产版本
不用从零配置项目结构,不用手写类型定义,不用登录后台手动添加菜单,不用操心跨域问题——CLI 都替你处理了。
TypeScript SDK:前端数据访问
SDK 提供了类型安全的 API,IDE 自动提示字段和类型,错误处理也是统一的。
import { lovrabetClient } from "@/api/client";
// 列表查询(带筛选、分页)
const result = await lovrabetClient.models.customers.filter({
where: { status: { $eq: "active" } },
select: ["id", "name", "phone"],
orderBy: [{ createTime: "desc" }],
pageSize: 20,
});
// 单条查询
const customer = await lovrabetClient.models.customers.getOne(customerId);
// 创建数据
await lovrabetClient.models.customers.create({
name: "张三",
phone: "13800138000",
});
// 自定义 SQL(复杂报表场景)
const stats = await lovrabetClient.api.executeSql("sql-code-xxx", {
startDate: "2024-01-01",
endDate: "2024-12-31",
});
浏览器端自动使用 Cookie 认证,内置分页、筛选、排序支持。
Java SDK:后端数据访问
如果你有 Java 后端服务,需要在服务端处理复杂业务逻辑(批量操作、事务管理、定时任务等),可以使用 Java SDK。
LovrabetClient client = new LovrabetClient(accessKey, secretKey);
// 列表查询
FilterResult<Customer> result = client.models("customers")
.filter(new FilterParams()
.where("status", "active")
.select("id", "name", "phone")
.orderBy("createTime", "desc")
.pageSize(20));
// 单条查询
Customer customer = client.models("customers").getOne(customerId);
// 创建数据
client.models("customers").create(new Customer("张三", "13800138000"));
密钥放在服务端,不会暴露给前端,与现有 Java 生态无缝集成。
MCP:让 AI 理解你的业务
传统 AI 只能"看文档",知道字段名但不理解业务关系。MCP 让 AI "理解业务"——表之间的关联、字段的含义、数据的流转,它都能看到。
在 Claude Desktop 或 Cursor 中配置:
{
"mcpServers": {
"lovrabet-dataset": {
"command": "npx",
"args": ["-y", "@lovrabet/dataset-mcp-server"],
"env": {
"LOVRABET_APP_CODE": "your-app-code"
}
}
}
}
配置好之后,你可以直接在 AI 对话中探索数据:
你:列出所有数据集
AI:(调用 MCP)你的应用有 8 个数据集...
你:查看 customer 表的字段
AI:(调用 MCP)customer 表有以下字段:id、name、phone...
你:帮我写一个客户列表页面
AI:(调用 MCP 理解数据结构后)好的,我来生成代码...
实际效果对比:
| 场景 | 不用 MCP | 用 MCP |
|---|---|---|
| 数据探索 | 20-30 分钟(查文档、试接口) | 几秒钟 |
| SQL 设计 | 30-60 分钟(反复调试) | 1-2 分钟 |
| 代码生成准确度 | 60-70%(需多轮迭代) | 95%+(基本一次通过) |
| 完整页面开发 | 2-3 小时 | 10-15 分钟 |
五件套的协同流程
实际开发中,这五个工具是这样配合使用的:
开发前
1. lovrabet create → 创建项目
2. lovrabet api pull → 生成 SDK 配置
3. 配置 MCP → 让 AI 理解你的数据
开发中
4. AI + MCP → 探索数据、生成代码
5. SDK 调用 → 类型安全的数据操作
6. lovrabet start → 实时预览调试
开发后
7. lovrabet build → 构建生产版本
8. lovrabet menu sync → 同步菜单到工作台
实战演示:用户列表页
假设你要做一个用户列表页——显示基础信息 + 会员标签 + 最近登录时间,需要关联 3 张表。
传统方式:查文档找字段名(猜错了再查)→ 写 SQL(JOIN 方式不对再改)→ 写代码(字段名拼错再调)→ 反复 4-5 轮,耗时 2-3 小时。
用 MCP:告诉 AI"我要做一个用户列表页,显示基础信息、会员标签、最近登录时间",AI 通过 MCP 分析出表结构和关联关系,直接生成完整代码,字段名全部正确,10 分钟搞定。
端到端示例:订单管理系统
下面通过一个完整的订单管理场景,演示如何组合使用所有工具。
场景需求
开发一个订单管理页面,需要:
- 显示订单列表,支持按状态筛选
- 点击订单查看详情
- 支持导出 Excel
- 复杂报表需求:按客户统计月度销售额
开发流程
第一步:环境准备(CLI)
# 1. 安装并登录
npm install -g @lovrabet/cli
lovrabet auth
# 2. 创建项目
lovrabet create order-management
# 3. 生成 SDK 配置
cd order-management
lovrabet api pull --appcode your-app-code
第二步:配置 AI 辅助(MCP)
在 Cursor 中配置 MCP:
{
"mcpServers": {
"lovrabet-dataset": {
"command": "npx",
"args": ["-y", "@lovrabet/dataset-mcp-server"],
"env": {
"LOVRABET_APP_CODE": "your-app-code"
}
}
}
}
第三步:与 AI 协作开发
对话示例:
你:帮我查看有哪些数据集?
AI:(调用 list_datasets)你的应用有以下数据集:
- orders(订单表)
- customers(客户表)
- products(产品表)
- order_items(订单明细表)
你:查看 orders 表的字段结构
AI:(调用 get_dataset_detail)orders 表有以下字段:
- id: 订单ID(主键)
- customer_id: 客户ID(关联客户表)
- order_date: 下单时间
- status: 订单状态(枚举:pending/paid/shipped/completed)
- total_amount: 订单金额
...
你:帮我生成订单列表页面的代码,支持按状态筛选
AI:(调用 generate_sdk_code)好的,我来生成代码...
第四步:实现复杂报表(SQL + SDK)
对于"按客户统计月度销售额"这类复杂报表,使用自定义 SQL:
// 1. 先让 AI 帮你设计 SQL
// 你:帮我写一个 SQL,按客户统计月度销售额
// 2. AI 生成 SQL 后,保存到平台
// 你:保存这个 SQL,名称叫"客户月度销售统计"
// 3. 在代码中调用
const monthlyStats = await client.sql.execute({
sqlCode: 'customer-monthly-stats',
params: { year: 2024, month: 1 }
});
if (monthlyStats.execSuccess) {
console.log('统计数据:', monthlyStats.execResult);
}
第五步:构建部署(CLI)
# 构建
lovrabet build
# 部署到 CDN(示例使用阿里云 OSS)
ossutil cp -r dist/ oss://your-bucket/order-management/
# 同步菜单到工作台
lovrabet menu sync
工具使用总结
| 需求 | 使用的工具 | 说明 |
|---|---|---|
| 项目搭建 | CLI | lovrabet create + api pull |
| 理解数据结构 | MCP | 让 AI 自动获取表结构 |
| 生成代码 | MCP + SDK | AI 生成 SDK 调用代码 |
| 基础 CRUD | SDK | filter() / getOne() / create() |
| 复杂查询 | SQL + SDK | 自定义 SQL + sql.execute() |
| 导出功能 | SDK | excelExport() 方法 |
| 部署上线 | CLI | build + menu sync |
下一步
- 5 分钟上手指引 — 从零开始的完整流程
- OpenAPI 接口文档 — HTTP 接口调用详解
- CLI 命令参考 — 所有命令详解
- TypeScript SDK 指南 — 前端数据操作详解
- Java SDK 指南 — 后端数据操作详解
- MCP 配置指南 — AI 辅助开发配置