Rabetbase CLI Changelog
v2.5.2-beta.1(2026-09-01)
本次重点
- 部署同步目标改由服务端统一托管:
bff push与sql push默认静默提交dev同步意图,部署目标由服务端 appCode 白名单解析;CLI 不再查询或配置数据库 ID。
v2.5.1(2026-08-31)
本次重点
- 局部部署元数据同步:新增
deployment sync,按数据库连接、目标模式、资源类型与业务编码局部同步dataset/bff/sql研发元数据,支持 dry-run、显式确认、逐项结果与不确定结果保护。 - 独立部署目标配置:app profile 可配置
dev/test/pre独立部署目标;成功的bff push与sql push仅对本次实际变更执行后置同步,dry-run 展示完整计划,失败时保留主 push 事实。 - 字段删除恢复:新增
dataset user-deleted-field-list与单字段dataset field-restore,按用户删除墓碑精确定位字段,以服务端恢复数量和双重回读共同确认结果,不隐式同步关联页面。 - Agent Context 规则管理:新增
rule list/get/set,管理互斥的RULES.md(供页面、API 等研发 Agent 使用,排除 DB Agent)与DATABASE.md(仅供数据库分析时 DB Agent 使用),支持安全元数据输出、UTF-8 / 5 MiB 校验、dry-run 与写后精确回读,并提供DATABASE.md结构模板。 - 知识检索统一网关:
kb search改为 Cookie-only 调用 SmartCode Java 统一检索网关,完整保留 V2 命中、策略指纹与阶段耗时,移除 legacy 命中字段;KB Service 地址由 Java 侧配置管理,CLI 统一解析kbDomain。 - 企业路由清单共用:
config init --domain-config支持版本化企业路由清单,研发态与运行态 CLI 可导入同一份清单。 - 当前目录建项目:
project create --current-dir支持在当前空目录直接创建并绑定 AppCode 工程,失败时不污染已有目录;内置 Skill 同步以完成口径和安全边界指导建项目。 - 项目路由独立维护:新增
project domain-routing-sync,按当前项目最终配置原子生成rabetbase.domain-routing.json,不要求登录或 AppCode;api pull只处理 Dataset/API 与 SDK 客户端文件。 - SDK 重建:
api pull --force --yes支持在明确放弃本地定制时按最新 Dataset 事实重建 SDK TypeScript 文件。 - CDN 路由直观化:项目公开路由使用
cdn.libraries与cdn.lovrabet,中国大陆第三方库用 AliCDN、ID 与 Global 用 cdnjs、独立部署从共用清单读取显式值;项目模板升级到 2.6.3,按完整 CDN 基地址拼接第三方库路径。 - React 项目模板加固:SDK 最低版本更新至支持 ID 路由的
1.5.3,补齐类型检查脚本、JSX 转换与路由模块声明,新建工程可直接完成类型检查和构建验证,并按项目配置生成应用管理链接与备用 Runtime 请求地址。 - 非法区域配置快速失败:非法国家/地区配置不再静默回落中国大陆节点,业务命令在请求前停止,
doctor与config仍可用于定位和修复。 - 修复自动部署同步生成恢复命令时只保留本次 push 原请求中的失败 code,避免异常响应扩大人工恢复范围。
需要注意的兼容变化
- 破坏性变化:
dataset business-group-update的 DB_TABLE 写入统一升级到表业务分组接口;METADATA 可用ungrouped清空,DB_TABLE 仅支持设置非空分组并在清空请求写入前拒绝;未分组统一显示为ungrouped。
v2.5.0(2026-08-25)
本次重点
- 官方三节点与统一路由:官方节点扩展为中国大陆、ID、Global,CLI、认证回调和项目模板统一从 Routing Profile 解析最终 Domain。
- 区域化项目模板:React 模板按
.rabetbase.json的 region 选择 ID 或中国大陆开发域名与 HTTPS 证书,并同步应用于 HMR 与 preview;按国家/地区或显式 User Domain 加载对应base-info.js。 - 项目 SDK 路由配置生成:
project create与api pull只将非默认的region或runtimeDomain安全写入前端项目。 - Backend Function 语义资源访问:SQL 代码生成与内置指引默认使用语义 SQL 名和物理表名访问 DB_TABLE 数据集。
- React 项目模板更新:同步为最新英文真源,新增
@lovrabet/components交互示例页与可复制代码片段,过滤.codegraph等本地分析产物。 - 内置 Skill 完善:优化命令覆盖、默认
compress输出约定与 Dataset/SQL 最新结构说明。 - 安装与升级指引完善:完善 CLI 安装、稳定版与预览版升级、基础验证及 Built-in Skill 修复指引。
- 修复
role user-resolve重名提示中引用不存在的--userflag。 - 修复本地版本高于 npm latest 时出现误导性更新提示。
- 修复企业知识库请求错误回退到 Runtime 域的问题,当前默认跟随研发态 API 域。
- 修复业务场景分组无法清空的问题,
dataset business-group-update接受保留值ungrouped表示清空。 - 修复
page custom-list未传--appcode时无法复用工作区defaultApp或唯一应用。 - 修复 ID 节点浏览器登录仍使用中国大陆回调 Domain 与证书、导致认证后无法查询平台应用的问题。
需要注意的兼容变化
- 研发态数据读取命令下线:真实业务行数据查询统一交接给运行态
lovrabet data filter/getOne,研发态rabetbase data filter/getOne不再返回数据、改为输出迁移提示,依赖原命令的脚本需要切换。 - 风险等级配置移除历史别名:配置文件统一使用
riskLevel。 - 数据库差异查询职责收敛:
db tables统一通过 V2 接口聚合全部表及分析状态,db diff只查询差异;移除--view、冗余--changed-only、旧标签输出及兼容别名;diff-refresh-status只返回任务状态。
v2.5.0-beta.1(2026-08-22)
本次重点
- 区域化与独立部署域名支持:新增
auth login --region节点选择(cn/id/global),独立部署环境可通过--domain-config配置文件或对应--*-domain参数覆盖五类域名。 - 项目 SDK 路由配置生成:新增
project create与api pull的 SDK 路由配置生成,只将非默认的region或runtimeDomain安全写入前端项目。 - Backend Function 语义资源访问:优化 Backend Function SQL 代码生成与内置指引,默认使用语义 SQL 名和物理表名访问 DB_TABLE 数据集。
- 本地模板调试:新增
project create --template-source参数,支持使用本地项目模板替代 CDN ZIP。 - React 项目模板更新:优化 React 项目模板为最新版本,并过滤
.codegraph等本地分析产物。 - 内置 Skill 完善:优化内置 Skill 的命令覆盖、默认
compress输出约定与 Dataset/SQL 最新结构说明。 role user-resolve提示修复:修复重名提示中引用不存在的--userflag 的问题。- 更新提示修复:修复本地版本高于 npm latest 时出现误导性更新提示的问题。
需要注意的兼容变化
- 研发态数据读取命令下线:真实业务行数据查询统一交接给运行态
lovrabet data filter/getOne,研发态rabetbase data filter/getOne不再返回数据、改为输出迁移提示,依赖原命令的脚本需要切换。
v2.4.7(2026-08-20)
本次重点
- 公司与公共知识库检索:新增
rabetbase kb search,支持在当前应用范围内检索公司与公共知识库。 - 统一 Backend Function 术语:优化 Backend Function 对外术语,CLI 提示、用户文档与内置 Skill 统一使用完整名称。
v2.4.6(2026-08-18)
本次重点
- 新增菜单批量可见性更新:新增
menu visibility-update命令,支持按菜单 ID 批量调整可见性状态。 - 统一数据列表页与自定义页面语义:
page命令体系统一了数据列表页和 React 自定义页面的状态语义,删除/恢复等操作不再因页面类型产生冲突。 - BFF 脚本描述格式收敛:限制
bff脚本描述提取规则,避免描述字段中出现不规范格式。 - 页面生成状态校验前置:在 API 边界校验
page generate-status的 selector,防止非法查询导致状态误判。 - OCR Agent 路由边界收窄:研发态 OCR 能力的路由范围进一步收窄,降低误触发风险。
需要注意的兼容变化
- 破坏性变化:数据列表页与自定义页面语义已统一,原按旧类型判断删除/恢复状态的脚本可能需要更新为新的页面分类规则。
v2.4.5(2026-08-15)
本次重点
- BFF 安全性与详情输出增强:
bff pull增加路径穿越防护,并对远端字段按段做白名单校验;bff detail默认输出补充functionName、version、updateUserName字段。 - 开发角色权限拆分:
role命令支持按开发角色细粒度拆分权限,适配服务端新的原子成员 API 契约。 - 数据库与数据集工作流加固:分析、差异刷新等数据库和数据集工作流增加容错与一致性校验。
- Skill Node 运行时要求对齐:内置 Skill 安装流程的 Node 版本要求与运行时保持一致。
v2.4.4(2026-08-13)
本次重点
- 默认风险等级与权限控制调整:CLI 默认风险等级调整为
write,权限控制策略同步优化;新增数据库差异刷新相关命令。 - 新增应用级通知配置变更命令:
notification命令组新增应用级配置增删改能力。 - 支持从 CDN 安全创建项目模板:
project init(workspace init)支持从 CDN 安全拉取并创建项目模板。 - 自定义页面线上编辑地址修复:线上编辑页地址统一为
/app/<appCode>/ide/<pageId>,日常环境地址保持不变。 - 停用明文 SQL 页面引导:原明文 SQL 页面相关引导已下线,推荐使用标准化的 SQL/BFF 工作流。
需要注意的兼容变化
- 行为变化:CLI 默认风险等级由原先配置调整为
write,部分原先默认只读的场景现在可能需要显式确认或配置风险上限。
v2.4.3(2026-08-13)
本次重点
- 发布清单校验后置:部署流程将 manifest 校验推迟到 release 阶段,减少开发态校验阻塞。
- 可移植发布验证对齐:统一跨环境发布包的验证逻辑,确保本地与 CI 发布结果一致。
v2.4.2(2026-08-11)
本次重点
- 自定义页面线上运行地址修复:修正 React 自定义页面发布后的线上运行态地址,确保菜单与访问链接正确指向。
v2.4.1(2026-08-11)
本次重点
- 安装方式变更:内置 Skill 随 CLI 一起发布:Rabetbase CLI 改为 npm 内置安装方案,配套内置 Skill 已打包进
rabetbase,并通过skillsCLI 代理安装/刷新。 - 新增 React 自定义页面命令:新增
page react-create/react-list/react-detail/react-update/react-publish,支持创建、查询、更新和发布 React 自定义页面,输出开发配置、编辑和运行态地址。 - 新增企业知识库管理:新增
kb命令组,支持企业知识库的创建、更新、删除和查询等管理操作。 - 新增租户和应用人员列表:新增
tenant members-list与app members-list(或workspace members-list),方便查看租户/应用成员。 - 新增钉钉沙箱账号绑定:
user-account命令组新增钉钉沙箱环境绑定能力。 - 自定义页面校验与说明统一:统一使用 Prettier 做 JS/JSX/TS/TSX 基础语法校验,统一自定义页面地址和发布状态的用户可见说明。
- 移除废弃命令入口:清理已废弃的命令别名,推荐统一使用
workspace系列命令。
需要注意的兼容变化
- 行为变化:独立 CLI 与嵌入式 Rabetbase 默认仅允许只读命令,高危写操作需要显式风险确认;多层配置的风险上限已收紧,防止配置漂移导致意外写操作。
- 行为变化:
app add/remove与project init等旧别名已标记为废弃并移除入口,请迁移到workspace add/remove/init。 - 行为变化:MR 入口统一为仓库级云效 Skill,原仓库级 MR 工具绑定已移除。
v2.3.15(2026-08-09)
本次重点
- 新增通用菜单重命名命令:新增
menu rename,支持按菜单 ID 重命名任意类型菜单,补齐菜单运维能力。
v2.3.14(2026-08-06)
本次重点
- 补齐研发态 OCR 能力:CLI 新增研发态 OCR 识别命令,并调整文件上传相关风险策略。
- 支持恢复已删除页面:
page restore支持恢复已删除的标准页面和 JSX 自定义页面。 - 数据集关联页面计数来源归一:数据集详情中关联页面数量改为从权威来源计算,避免重复或遗漏。
v2.3.13(2026-08-05)
本次重点
- 新增外链菜单 URL 更新:
menu external-link-update支持更新外链菜单的 URL。 - 新增数据库分析恢复诊断:
db命令暴露分析恢复诊断信息,方便排查中断或失败任务。 - SQL MyBatis XML 校验增强:自定义 SQL 支持 MyBatis XML 格式校验,并修复 XML 实体与字符引用解析的大小写敏感问题。
v2.3.12(2026-08-04)
本次重点
- 稳定性优化:本版本主要进行内部稳定性优化和问题修复,无新增客户可见命令。
v2.3.11(2026-08-03)
本次重点
- 新增菜单移动命令:新增
menu move,支持将菜单移动到指定父节点或同级位置,并校验递归安全。 - 菜单删除能力增强:支持删除外链叶子节点,目录树删除改为叶子优先,并改用批量删除端点提升效率。
- 菜单返回最近更新信息:菜单列表/详情返回最近更新时间等元信息,方便审计与同步。
v2.3.10(2026-08-01)
本次重点
- 新增带审计的外链菜单创建:
menu external-link-create增加审计流程,并暴露稳定的外链 URL 事实。 - 菜单同步与预览对齐:菜单同步目标按本地路径选择,更新预览与执行逻辑保持一致,资源补丁增加歧义校验。
- 页面创建工作流对齐:菜单侧页面创建流程与页面命令统一,减少重复创建或配置不一致。
- 数据集业务分组候选能力:新增业务分组候选命令,辅助在更新数据集前查看可选业务分组。
v2.3.9(2026-07-30)
本次重点
- 新增菜单删除、分组创建与归属调整:
menu命令组支持删除菜单、创建分组以及调整菜单归属,异步重新分组流程的终态确认和生命周期更加明确。 - SQL 索引审计增强:自定义 SQL 支持可用的部分索引前缀,并新增可选的 JOIN 索引审计。
- 数值型 AppCode 兼容:API 层增加对数值型 AppCode 标识符的兼容处理。
- 页面关系审计数据源区分:
page relation-audit明确区分不同数据源,提升审计准确性。
v2.3.8(2026-07-28)
本次重点
- 数据库凭据更新时脱敏保护:
db update在更新数据库连接时保护已脱敏的凭据字段,避免明文回写导致泄露。 - 分析耗时估算同步服务端:
db analyze-start等分析命令的耗时估算与服务端保持一致。 - 问题上报命令需要认证:
issue report改为需要登录认证后才能提交,避免匿名误报。
v2.3.7(2026-07-23)
本次重点
- 新增通知配置发现命令:
notification config-list/config-get等增加configCode自动发现能力,方便定位可用的通知配置。 - 数据库分析批次规划增强:
db analyze-start支持本地分析批次规划器,按确定性规则分批,并提供耗时估算;空列表或超大列表将被拒绝,取消分析需要显式指定 plan。 - 新增文件上传与链接查询命令:新增
file upload与file query-url,支持上传文件并获取访问链接。
v2.3.6(2026-07-16)
本次重点
- 数据集关联关系按 ID 管理完善:
dataset relation-create/update/delete统一按relationId定位,创建/更新后通过 dataset detail 回读事实校验;基数(cardinality)读取与创建契约统一,目标类型识别更准确。 - 主子表关系读取与页面审计:
dataset relations透出bizRelationType;page relation-audit支持主子表sub_info缺失提示。
v2.3.5(2026-07-14)
本次重点
- 新增角色与权限管理命令组:Rabetbase CLI 新增
role和permit两个命令组。role覆盖 CUSTOM 角色的创建、更新、删除与成员管理;permit支持菜单页面权限设置、角色菜单授权/回收,以及按 datasetCode 回收角色 API 权限。 - 新增运行态应用配置管理:新增
app-config list/get/set/delete,支持管理运行态 app-config key,get默认脱敏、--reveal可展示明文,set支持命令参数、文件、--stdin、--from-env等多种 value 来源。 - 新增
cli-skill install内置 Skill 安装:封装npx skills add ... -g -y,方便 Agent 环境快速安装/刷新 Rabetbase CLI 配套 Skill。 - 应用登记入口迁移到
workspace:rabetbase app add/remove与rabetbase project init已标记为隐藏兼容命令,推荐入口改为rabetbase workspace add/remove和rabetbase workspace init,语义更清晰。 - 数据集维护能力继续补齐:新增
dataset restore(恢复已删除数据集)、dataset business-group-update(业务模型分组更新)、dataset relation-create/update/delete(按 ID 管理关联关系),以及dataset generate-start(文本异步生成 DO V2 数据集)。 - 数据库分析与 BFF 路由稳定化:
db analyze-start工作流参数与分页语义稳定,diff flag 行为锁定;BFF ENDPOINT 路由契约统一,减少不同入口调用失败。
需要注意的兼容变化
- 行为变化:
rabetbase app add <name>与rabetbase app remove <name>仍可直接调用,但会打印迁移提示,建议改用rabetbase workspace add <name>和rabetbase workspace remove <name>。 - 行为变化:
rabetbase project init保留为rabetbase workspace init --appcode <appcode>的兼容别名,新脚本请直接使用workspace init。 - 新增高危写操作:
role、permit、数据集关系/恢复/业务分组更新等命令均为high-risk-write,默认 dry-run,正式执行需--yes或--confirm,批量操作建议加--expected-count防漂移。
v2.2.4(2026-06-30)
本次重点
- 应用命令面更收敛:研发态 CLI 不再保留
rabetbase app remote和rabetbase app use两个兼容入口。平台应用发现统一使用rabetbase app list --remote;当前工作目录默认应用绑定统一使用rabetbase workspace use --app <name>。 - Schema / help 与 Skill 对齐:
rabetbase schema和rabetbase app --help的 app 命令只保留list、add、remove,避免 AI Agent 继续选择废弃命令。 - 文档和 Skill 同步收口:Rabetbase Skill、命令合集、配置参考和用户指南同步移除旧入口说明。
需要注意的兼容变化
- Breaking:旧脚本里的
rabetbase app remote需要改为rabetbase app list --remote。 - Breaking:旧脚本里的
rabetbase app use <name>需要改为rabetbase workspace use --app <name>;临时切换单次命令继续使用全局--app <name>或--appcode <code>。
v2.2.2(2026-06-13)
本次重点
- 数据集列表更贴近平台现状:
rabetbase dataset list默认返回 DO V2 数据集,包括DB_TABLE和METADATA。如果只想看数据库表数据集,用--source DB_TABLE;如果只想看元数据数据集,用--source METADATA。 - AppCode 环境变量不再静默接管命令:
RABETBASE_APPCODE/LOVRABET_APPCODE不会自动覆盖项目配置。脚本中要使用环境变量时,请显式写成--appcode "$RABETBASE_APPCODE"。 - 项目配置优先级更清楚:项目里已经配置了默认应用和环境时,CLI 会优先使用项目配置,不会被 shell 里残留的 AppCode 或环境变量带偏。
- 升级提醒减少打扰:版本提示会尽量避免重复出现。需要升级时,继续使用
rabetbase update;需要 beta 版本时使用rabetbase update --beta。
需要注意的兼容变化
- Breaking:旧脚本如果还在使用
rabetbase dataset list --include-metadata,需要改为rabetbase dataset list --source METADATA。 - Breaking:旧脚本如果依赖
RABETBASE_APPCODE/LOVRABET_APPCODE自动作为业务 AppCode,需要改为显式传--appcode "$RABETBASE_APPCODE",或者把应用写入.rabetbase.json。 - 脚本提醒:如果脚本默认认为
dataset list只返回DB_TABLE,请补上--source DB_TABLE,避免把METADATA数据集带入后续 SQL 或表结构处理。
v2.1.14-beta.1(2026-06-02)
本次重点
- 数据集写操作选择器更严格:
dataset delete、dataset field-update、dataset rename、dataset extend-update等写命令必须明确指定目标数据集,通常使用--code <datasetCode>;删除命令也支持--id或--dbid,但三者只能选一个。 - 安全的数据集改名能力:新增
rabetbase dataset rename --code <code> --name <newName> --expect-name <currentName>,先校验当前名称再提交修改;默认支持--dry-run预览。 - 字段与 extend 补丁能力收敛:
dataset field-update只允许修改字段展示、描述、选项、必填、日期格式、聚合和图表角色等白名单属性;dataset extend-update当前只开放businessGroup,两者都支持--expect-json防漂移。 - 数据集删除高危保护:
dataset delete是high-risk-write,真实删除必须传--confirm;按--dbid批量删除时建议同时传--expected-count,避免实际匹配范围和预期不一致。
需要注意的兼容变化
- Breaking:依赖数据集写命令从上下文或别名隐式推断目标的脚本需要改为显式传
--code/--id/--dbid。写操作不再接受模糊目标。
v2.1.14-beta.0(2026-05-22)
本次重点
- 数据集维护命令进入 beta 验证:补齐
dataset rename、dataset field-update、dataset extend-update与dataset delete,让交付和 Agent 能在终端内完成常见数据集元数据维护。 - METADATA 数据集本地开发约束更明确:当时曾通过额外参数查看平台元数据;从 v2.2.2 起,请统一使用
--source DB_TABLE或--source METADATA控制数据集来源。 - 菜单资源更新继续收紧:
menu update明确区分--mode replace和--mode patch,并保留页面原有extend配置,避免更新 CDN 资源时覆盖业务扩展配置。
修复与优化
- 字段补丁提前校验:
dataset field-update会在提交前拒绝不支持或禁止修改的字段 key,减少后端返回模糊错误。 - link dry-run 输出更完整:数据集关联关系的 dry-run 会带出已解析的应用和数据库信息,便于检查目标是否正确。
v2.1.13(2026-05-21)
本次重点
- 配置写入边界更清楚:项目内写配置时,CLI 会避免把全局
apps/defaultApp等合并结果带进项目配置文件,降低跨项目串配置的风险。 - 菜单资源更新更稳:
rabetbase menu update更新 CDN 资源时会保留页面原有extend配置,避免资源替换顺手覆盖业务配置。 - CLI 与 Skill 版本更一致:发布流程会同步检查 CLI 包版本与
skills/rabetbase/SKILL.md版本,减少“CLI 已升级但 Agent Skill 仍停在旧版本”的情况。
需要注意的兼容变化
- Breaking:如果你的脚本依赖项目目录下写配置时自动继承全局应用目录,需要改为显式使用
--global或重新初始化项目配置。 - Breaking:如果从
v2.1.11或更早版本升级,原来依赖rabetbase page generate-start --datasetcode <code>直接提交生成任务的脚本,需要改为rabetbase page generate-start --datasetcode <code> --apply。
v2.1.12(2026-05-21)
本次重点
- 智能列表页生成默认更安全了:
rabetbase page generate-start默认只返回 dry-run 预览,不再直接提交生成任务。真正发起生成必须显式加--apply,适合 Agent 和自动化脚本先确认再执行。 - 问题上报不会轻易泄露敏感信息:
rabetbase issue report会自动截断超长描述,并脱敏 Cookie、Authorization、AccessKey、密码、私钥和 JWT 等敏感片段。 - 非预期错误更容易反馈:平台 API 错误或 CLI 非预期异常会提示一条可复制的
rabetbase issue report命令;脚本化场景可用RABETBASE_DISABLE_ISSUE_NUDGE=1关闭。 - 平台请求可追踪来源:CLI 平台请求会带
X-Invoke-Source: cli:rabetbase,便于后端排查调用来源。
需要注意的兼容变化
- Breaking:原来依赖
rabetbase page generate-start --datasetcode <code>直接提交生成任务的脚本,需要改为rabetbase page generate-start --datasetcode <code> --apply。
v2.1.12-beta.2(2026-05-19)
本次重点
- 智能列表页生成默认更安全了:
rabetbase page generate-start默认只返回 dry-run 预览,不再直接提交生成任务。真正发起生成必须显式加--apply,适合 Agent 和自动化脚本先确认再执行。 - 问题上报不会轻易泄露敏感信息:
rabetbase issue report会自动截断超长描述,并脱敏 Cookie、Authorization、AccessKey、密码、私钥和 JWT 等敏感片段。 - 非预期错误更容易反馈:平台 API 错误或 CLI 非预期异常会提示一条可复制的
rabetbase issue report命令;脚本化场景可用RABETBASE_DISABLE_ISSUE_NUDGE=1关闭。 - 平台请求可追踪来源:CLI 平台请求会带
X-Invoke-Source: cli:rabetbase,便于后端排查调用来源。
需要注意的兼容变化
- Breaking:原来依赖
rabetbase page generate-start --datasetcode <code>直接提交生成任务的脚本,需要改为rabetbase page generate-start --datasetcode <code> --apply。
v2.1.6(2026-04-21)
本次重点
--jq安装链路彻底稳定了:CLI 现在内置 jq sidecar,安装时不再依赖node-jq去 GitHub 下载二进制。默认查找顺序为JQ_PATH→ CLI 内置 jq →PATH上的 jq,更适合中国网络环境、离线镜像和 CI 场景。- 研发态 CLI 也能直接查真实数据了:新增
rabetbase data filter与rabetbase data getOne,开发者可以在不切到运行态 CLI 的情况下直接确认数据集里的真实记录与返回结构。 - 机器可读契约同步更新:
rabetbase schema/--help现在会一起暴露新的dataservice 与 jq 行为描述,AI Agent、脚本和文档都更容易对齐到同一套命令面。
修复与优化
- JQ 覆盖逻辑更可预期:如果显式设置了
JQ_PATH但路径无效,CLI 会直接报错,不会静默回退到别的 jq。 - 安装失败面更小:不再因为外部二进制下载被拦截,导致整个 CLI 安装失败。
v2.1.5(2026-04-17)
本次重点
- 安装体验更统一了:文档、脚手架、升级流程和 CLI 输出里的 Skill 安装命令现在保持一致,不再出现“这里一个写法、那里一个写法”的情况。
- 照着文档执行更不容易出错:如果你是第一次安装,或者在给同事写接入说明,这个版本会减少命令示例不一致带来的困惑。
v2.1.4(2026-04-17)
本次重点
- SQL 拉取更安静了:执行
sql pull时,不会再因为“同步时间变了”这种无关差异,让你看到一堆并不重要的文件改动。 - 真正有变化才提示你:现在更接近用户预期,只有 SQL 内容本身变了,才会触发后续处理。
v2.1.3(2026-04-17)
本次重点
v2.1.3-beta.0的能力正式转正:如果你之前已经在试用页面生成、SQL 生命周期管理、菜单同步和版本策略,这个版本意味着这些能力进入更稳定的可用阶段。
v2.1.3-beta.0(2026-04-16)
本次重点
- 标准页面生成更适合大任务了:页面生成进入异步工作流,长时间生成不再需要死等,更适合 AI Agent、自动化流水线和多人协作场景。
- 本地 SQL 管理更完整了:你可以更自然地在本地管理 SQL 的创建、同步和状态,而不是把它当成一次性脚本。
- BFF / SQL 命令更统一:创建命令开始统一到
create语义,学习成本更低,也更符合直觉。 - 菜单同步结果更好接后续流程:同步完成后,返回结果更适合继续做自动化处理。
- 升级策略更清晰:CLI 开始支持更明确的版本提示和升级策略,减少“明明升级了却不是预期版本”的情况。
修复与优化
- 减少接口返回不一致导致的失败:在 BFF、菜单、SQL、数据库连接这类能力上,CLI 对后端返回格式更稳了。
- 升级结果更可预期:
cli update不再容易装到一个“不是你想要的版本”。
v2.1.2(2026-04-14)
本次重点
v2.1.2-beta这一轮能力正式稳定:如果你之前已经在试用新的配置体系、多应用规则和数据库连接兼容修复,这个版本可以作为更稳的落地版本使用。
v2.1.2-beta.3(2026-04-14)
本次重点
- 这是一次发布前收口版本:对用户可见功能变化不大,主要是为了让后续稳定版更干净、更稳定。
v2.1.2-beta.2(2026-04-14)
本次重点
- 数据库连接创建更稳了:如果你在创建 DB 连接时遇到过“明明创建成功了,CLI 却拿不到结果”的问题,这个版本重点修了这类兼容问题。
- 后续动作更不容易断:数据库连接创建完成后,自动分析等后续步骤衔接更稳定。
v2.1.2-beta.1(2026-04-12)
本次重点
- Beta 验证版:主要用于收口和验证
v2.1.2-beta.0这一轮大改动,本身没有新增用户功能。
v2.1.2-beta.0(2026-04-12)
本次重点
- 多应用体验明显变清晰了:默认应用、项目配置、全局配置之间的关系更容易理解,也更不容易“连错应用”。
- 旧项目迁移更自然:很多 legacy 配置会在读取阶段自动收敛成新结构,用户不需要先手动整理一遍才能继续用。
- doctor 更有用了:现在看到的是“最终实际生效的配置”,排查配置问题更直观。
- 命令命名更统一:像
app remote、api generate这类命名更贴近用户心智,减少“命令名看不懂职责”的问题。
修复与优化
- 修复默认应用容易选错的问题:尤其是项目已有配置时,不会再莫名其妙被全局默认应用覆盖。
- 修复多应用场景下切换应用的歧义:
app use的结果更符合用户预期。
v2.1.1(2026-04-09)
本次重点
- BFF 模板示例更准确了:ENDPOINT 类型接口路径的示例和平台当前约定保持一致,新建脚本后更容易直接上手。
v2.1.1-beta.0(2026-04-09)
v2.1.1-beta.0是2.1.x这一轮的重要起点:数据库连接能力开始成型,配置与多应用体验也开始明显收敛。
本次重点
- 数据库连接开始真正可用:你可以在 CLI 里更完整地管理数据库连接、测试连接、发起结构分析、查看表和差异。
- 默认输出更友好了:像
api list这类命令在未显式指定格式时,展示更适合人直接阅读。 - 多应用和配置边界更清晰:项目配置、全局配置、默认应用之间的关系开始收敛,减少误操作。
- Skill 配套更完整:如果你把 CLI 接进 AI 助手或 Agent,这一版开始明显更顺手。
修复与优化
- 减少误写配置的风险:在不合适的目录里,CLI 不会再默默写出一份你并不想要的配置。
- 修复默认应用解析异常:单应用老配置场景下,不会再错误套用全局默认应用。
v2.0.13(2026-04-06)
新功能
- sql pull 命令:新增
rabetbase sql pull,从远端批量拉取自定义 SQL 到.rabetbase/sql/目录。支持--sqlcode/--name过滤、--force强制覆盖、--dry-run预览;交互模式下覆盖前二次确认;文件含@lovrabet头注释,同名冲突自动追加sqlCode后缀。 - sql/shared.ts 公共模块:抽取
resolveSqlLocalDir、safeSqlFileBaseName、assignSqlFileNames、buildPulledSqlFileContent,供pull及后续命令复用。
Bug 修复
- 子目录执行命令时路径锚定失败:在项目子目录下运行命令时,CLI 无法找到
.rabetbase.json,导致配置读取失败。新增findProjectRootDirectory(),从cwd向上查找含配置文件的目录。 - sql list 权限不足时阻断列表展示:当用户对
listDatasetsAPI 无权限时,rabetbase sql list直接报错退出。修复后失败时静默回退为展示原始dbId。
v2.0.12(2026-04-05)
新功能
- 项目级
inherit: false配置隔离:项目.rabetbase.json新增顶层字段inherit(默认true),设为false时不再读取~/.rabetbase.json进行合并,保证项目配置完全隔离。
v2.0.11(2026-04-05)
新功能
- upgrade --yes 全流程非交互升级:将
--yes标志透传至skills remove/skills add子命令,支持无需人工确认的自动化升级流程。
v2.0.10(2026-04-05)
新功能
- api --global 开关:
rabetbase api list/rabetbase api pull新增--globalflag。默认仅从项目级.rabetbase.json解析 apps,传入--global时使用全局 + 项目合并配置。 - DEFAULT_API_DIR 常量统一:提取
DEFAULT_API_DIR = "./src/api"至constant/paths.ts,消除多处硬编码魔法字符串。 - getMultiAppConfigs scope 参数:新增
scope参数(project | merged),支持按配置层级读取 apps。
Bug 修复
- 跨项目全局 apps 意外混入:在项目 A 目录下运行
rabetbase api list,会意外显示全局配置中属于项目 B 的 apps。修复后默认仅读项目级 apps,需--global显式选择合并视图。 - api pull 多应用分支缺少 apiDir fallback:多应用模式下输出目录使用硬编码而非 profile 或 context 中的
apiDir,补齐完整 fallback 链。
v2.0.9(2026-04-05)
新功能
@/路径别名:tsconfig新增baseUrl+paths配置,全量替换大量文件中的相对路径导入为@/*别名。- 输出格式精简:移除
table输出格式,OutputFormat收窄为json | pretty | compress;新增normalizeLegacyOutputFormat()兼容旧配置。
Bug 修复
- jq 错误消息前缀重复:修复
jq: jq: error: ...这类重复前缀显示。 --jq搭配pretty格式时报无意义错误:检测到--jq时自动切换为json格式。execFileSyncstderr捕获不完整:显式指定stdio,确保完整捕获失败输出。
v2.0.8(2026-04-04)
新功能
- schema 命令:新增
rabetbase schema,导出与--help同源的机器可读命令元数据 JSON,供 LLM Agent、IDE 插件及 CI 工具链自动发现所有命令、Flag 及风险等级。 --jq全局 Flag:新增全局--jq <expr>,搭配--format json/compress对输出执行 jq 过滤。--format compress:新增compress输出格式,单行紧凑 JSON 信封,去掉空白缩进以最小化 token 开销。- app list 结构升级:返回结构升级为
{ items, meta },每个 app 标注definedIn(global/project/both),meta包含配置文件路径与默认来源信息。 - app 位置参数:
app add <name>/use <name>/remove <name>统一使用位置参数替代--nameflag;app remove风险等级提升为high-risk-write。 - dataset detail 扩充:解析
requestBody/responseBodyJSON、dbtable摘要、relatedPages、formatRules、validateRules、extend、doVersion、columnCodeListWithDeleted。 - 配置分层架构:context 配置加载重构为
loadRawConfigLayers()/readRawConfigWithLayers()/inspectCliConfigJsonFile(),JSON 解析失败时区分missing/empty/error并写stderr提示。 - doctor Config JSON 诊断:新增配置文件 JSON 语法检测段,诊断全局/项目配置文件合法性。
Bug 修复
- 配置文件 JSON 解析错误被静默吞掉:
.rabetbase.json存在语法错误时 CLI 静默忽略该文件。重构后解析失败会输出stderr警告。 - app use 在项目目录下找不到全局配置的 app:修复名称校验逻辑,改用全局 + 项目合并视图。
- app add --format flag 与管线级 --format 冲突:应用默认格式 flag 更名为
--defaultFormat。
文档更新时间:2026-06-13
涉及版本:v2.2.2、v2.2.1、v2.2.0、v2.1.14-beta.1、v2.1.14-beta.0、v2.1.13、v2.1.12、v2.1.12-beta.2、v2.1.6、v2.1.5、v2.1.4、v2.1.3、v2.1.3-beta.0、v2.1.2、v2.1.2-beta.0~v2.1.2-beta.3、v2.1.1、v2.1.1-beta.0、v2.1.0、v2.0.8~v2.0.13
仓库:rabetbase-cli