跳到主要内容

在ClaudeCode中用Rabetbase:从一句话到完整功能

这篇回答一个更实际的问题:打开 Claude Code 之后,怎么让 AI 帮你用 rabetbase 完成真实开发任务。你会看到从一句话到完整功能的全过程——包括 AI 怎么自动选命令、怎么查字段、怎么保证不出错。


开始之前:30 秒确认

确保以下条件全部满足,否则 AI 无法正常工作:

检查项命令
CLI 已安装rabetbase --version 输出版本号(>= 2.0)
Skill 已安装npx skills add lovrabet/rabetbase --global(只需一次)
已认证rabetbase auth login 浏览器完成 OAuth
项目已初始化项目目录下有 .rabetbase.json(rabetbase init 生成)

不确定环境是否正常?运行 rabetbase doctor 一键诊断。

详细的安装步骤请参考:Rabetbase CLI 2.0 快速上手指引。


第一个对话:探索数据

最简单的场景。在 Claude Code 里说一句话,看看会发生什么。

在 Claude Code 里输入: 帮我看看这个应用有哪些数据集

AI 自动做了什么

Claude Code 读取了 Skill 中的命令手册,知道"列数据集"应该用 rabetbase dataset list。然后它自动执行:

rabetbase dataset list --format compress

AI 自动加了 --format compress(单行紧凑 JSON)。这不是你要求的——是 Skill 教它这么做的,因为压缩格式能省约 60% 的 token,让 AI 的上下文窗口更充裕。

AI 拿到返回结果后,会把数据集列表整理给你:

找到 5 个数据集:
1. customers(客户) - dataset_abc123
2. orders(订单) - dataset_def456
3. order_items(订单明细) - dataset_ghi789
4. products(商品) - dataset_jkl012
5. users(用户) - dataset_mno345

追问一句

你再问: 客户数据集有哪些字段?

AI 自动执行:

rabetbase dataset detail --code  --format compress

返回完整的字段结构——字段名、类型、是否必填、枚举值,一目了然。

这和手动操作有什么区别?

手动方式

  1. 打开浏览器
  2. 登录管理后台
  3. 找到数据集管理页
  4. 在列表里翻找客户数据集
  5. 点进去看字段详情 用时:3-5 分钟

Claude Code + Skill

  1. 说一句话
  2. AI 自动执行正确的命令
  3. 结果直接在对话中呈现 用时:10 秒

进阶对话:创建 SQL 查询

这次让 AI 完成一个需要多步操作的任务——写一条自定义 SQL。

在 Claude Code 里输入: 帮我写一条 SQL,按月统计订单金额,支持按年份筛选

AI 的完整工作流

AI 不会拿到需求就埋头写 SQL。Skill 教了它一套严格的 SOP:

第 1 步:查数据集结构(绝不猜字段名)

rabetbase dataset detail --code  --format compress

AI 拿到了订单表的真实字段:order_date(不是 date)、total_amount(不是 amount)、status(枚举:pending/paid/completed/cancelled)。字段名用真实的,不靠猜。

没有 Skill 时,AI 会猜字段名——10 条 SQL 里大概 3 条字段名是对的。有了 Skill,AI 被强制要求先查 dataset detail,从返回值中获取真实字段名。准确率从 30% 跳到接近 100%。** 第 2 步:检查是否已有类似 SQL**

rabetbase sql list --name "order"

看看有没有能复用的。如果没有,就新建。

第 3 步:编写 SQL 并校验AI 编写 SQL 后,用 rabetbase sql validate 校验语法。如果校验失败(字段名拼错、语法错误、危险语句),AI 会自动修正后重新提交。第 4 步:保存到平台

rabetbase sql save --file ./monthly-order-summary.sql

sql save 内置了不可跳过的校验——DELETE、DROP 等 dangerous 语句会被自动拦截。

第 5 步:测试执行

rabetbase sql exec --sqlcode  --params '{"year":"2025"}'

AI 验证查询结果正确后,告诉你 SQL 已就绪,可以在前端代码中调用。

整个过程你做了什么?

你说了一句话。AI 自动执行了 5 步完整工作流——查字段、查已有、写 SQL、校验、保存、测试。全程符合平台的 SQL 开发规范。

这就是 Skill 的核心价值:它把"最佳实践"编码成了 AI 可以遵循的 SOP。AI 不是靠"聪明"在做——它是按 Skill 定好的流程一步步执行,所以结果稳定可靠。


完整实战:从需求到功能上线

这次来一个全链路——从理解需求到页面生成到构建部署。

在 Claude Code 里输入: 用 rabetbase CLI 帮我创建一个客户列表页面,支持搜索和分页

AI 的全流程

步骤AI 执行的命令说明
数据探索dataset list → dataset detail先找到客户数据集,再查完整字段结构(字段名、类型、枚举值、关联关系)
API 拉取rabetbase api pull生成 TypeScript SDK 客户端代码,直接在项目中 import 使用
代码生成AI 根据 Skill 中的 SDK 规范编写代码使用真实的字段名和 API 调用方式——不是猜的,是从第 1 步拿到的
本地预览rabetbase run start本地启动开发服务器,实时预览效果
构建rabetbase run build构建生产包,CLI 自动处理微前端集成配置
菜单同步rabetbase menu sync自动扫描页面,同步到主应用菜单——用户点击即可访问

生成的代码长什么样?

AI 生成的客户列表页面,核心代码类似:

// AI 从 dataset detail 拿到的真实字段:
// name(string), phone(string), company(string),
// status(enum: potential|active|lost)

const result = await client.models.customers.filter({
where: {
name: { $contain: searchKeyword }, // 用 $contain 做模糊搜索
status: { $eq: selectedStatus }, // 用 $eq 做精确筛选
},
select: ["id", "name", "phone", "company", "status"],
orderBy: [{ createTime: "desc" }],
currentPage: page,
pageSize: 20,
});

注意几个细节——这些都不是 AI 随手写的,是 Skill 规定的标准用法:

  • 参数名用 select(不是 fields)、orderBy(不是 sort)、currentPage/pageSize(不是 page/limit)
  • 模糊搜索用 $contain,精确匹配用 $eq——不是 LIKE '%xxx%'
  • 字段名是 name、phone、status——从 dataset detail 返回值中拿的,不是猜的

最终效果

用户在主应用菜单中看到"客户列表",点击后加载你的子应用页面。搜索、筛选、分页全部正常工作——数据从真实的数据集读取,不是 mock 数据。


Skill 为什么能让 AI "聪明"

你可能好奇:同样是 Claude Code,装了 Skill 和没装有什么区别?

没有 Skill 时

  • AI 猜字段名——customer_name 还是 name 还是 customerName?猜对概率约 30%
  • AI 猜参数格式——page=1&size=20 还是 currentPage=1&pageSize=20?不确定就两个都试试
  • AI 不知道 SQL 要先校验,直接写完就调接口——字段名错了返回一堆报错
  • AI 不清楚什么时候该用 filter、什么时候该写 SQL——全靠"感觉"
  • AI 想直接调 HTTP 接口——拼 URL、处理认证、处理错误,每一步都可能出错

有了 Skill 后

  • AI 先执行 dataset detail 拿到真实字段名——准确率接近 100%
  • AI 用 Skill 规定的参数格式:select、orderBy、currentPage、pageSize——没有歧义
  • AI 严格按流程:先 sql validate 再 sql save——语法错误被自动拦截
  • AI 按优先级选方案:filter → aggregate → SQL → BFF——不乱猜
  • AI 通过 CLI 命令操作——认证、错误处理、风险控制全部内置

Skill 里到底装了什么?

Rabetbase Skill 2.0 包含三层内容:

层级内容
命令手册35+ 个命令的完整参数、风险等级、输出格式、使用场景。AI 执行任何命令前会先读对应手册——确保参数正确、风险可控
跨领域指南10 个主题指南:SDK 完整用法、SQL MyBatis 语法、BFF 脚本规范、前端页面开发约束、数据接口最佳实践、冲突处理、故障排查等。AI 在生成代码时会参考这些规范
SOP 规则禁止猜字段名、禁止跳过校验、禁止手动拼 URL、按优先级选方案。这些"禁止"和"必须"让 AI 的行为从"可能对"变成"基本不会错"

安全防线:Skill 还定义了风险等级——只读命令 AI 可以直接执行,写入操作会先 --dry-run 预览,高危操作需要你确认。AI 无法自行提升权限等级(riskLevel 只能由人类手动修改配置文件)。


AI 友好的参数速查

以下参数是 Skill 教 AI 使用的,你日常手动操作时一般不需要关心——但了解它们有助于理解 AI 的行为:

参数作用为什么 AI 用它
--format compress单行紧凑 JSON,语义与 json 完全相同省约 60% token,AI 上下文窗口更充裕
--format json缩进 JSON,便于人类阅读调试时用,输出结构清晰
--jq '.data[]'用 jq 表达式提取结果子集返回数据量大时只取需要的部分,避免刷屏
--dry-run预览变更,不实际执行写入操作前的安全网——先看后做
--yes跳过交互确认CI/CD 管道或信任场景下使用

关于 rabetbase schema:如果 AI 不确定某个命令有哪些子命令或参数,它会先执行 rabetbase schema(导出与 --help 同源的机器可读契约)。这个命令不需要登录,零成本获取完整的命令元数据。


更多提示词模板

以下是一些你可以直接复制到 Claude Code 中使用的提示词,覆盖常见开发场景:

数据探索类:

  • 「帮我看看这个应用有哪些数据集,它们的关联关系是什么」
  • 「客户数据集有哪些字段?哪些是枚举?枚举值分别是什么?」
  • 「帮我拉取最新的 API 客户端代码」

SQL 开发类:

  • 「帮我写一条 SQL,统计每个客户的订单总数和总金额,按金额降序排列」
  • 「已有的 SQL 里有没有和订单统计相关的?有的话给我看看详情」
  • 「这条 SQL 执行报错了,帮我看看哪里有问题」

BFF 开发类:

  • 「帮我创建一个 BFF 独立端点,接受订单 ID 参数,返回订单详情(包含客户信息和商品明细)」
  • 「帮我创建一个 filter 操作的前验函数,校验手机号格式必须是 11 位数字」

页面开发类:

  • 「帮我创建一个订单列表页面,支持按状态筛选和日期范围筛选,分页显示」
  • 「帮我创建一个新建客户表单,手机号要校验格式,提交后返回列表页」
  • 「帮我创建一个订单提交页面,主表填客户信息,明细表可以动态增删商品行,一次提交」

构建部署类:

  • 「帮我构建项目并同步菜单到主应用」
  • 「帮我检查一下菜单同步状态,看看有没有遗漏的页面」

相关阅读

文档说明
Rabetbase CLI 2.0 快速上手指引安装 CLI、安装 Skill、认证、初始化项目
Rabetbase 命令合集所有命令的分组速览和参数说明
Rabetbase CLI 风险等级完全指南read / write / high-risk-write 三级风险控制详解
Rabetbase 配置项参考.rabetbase.json 完整字段说明