配置项参考
本文档介绍 rabetbase-cli 的配置体系,包括配置文件字段、单应用 / 多应用模式,以及通过命令行管理配置。
一、配置文件概览
rabetbase-cli 使用 JSON 配置文件,按作用域分为两级:
| 作用域 | 文件位置 | 说明 |
|---|---|---|
| 项目级 | 项目根目录 **./. **``rabetbase.json | 仅对当前项目生效,优先级更高 |
| 全局级 | 用户 HOME **~ **``/.``rabetbase.json | 所有项目共享,作为 fallback |
二、初始化配置
# 交互式创建项目配置
cd your-project/
rabetbase project init
按提示输入 AppCode,自动生成 .rabetbase.json。
三、配置项列表
3.1 顶层字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
appcode | string | — | **必填 **(单应用模式)。应用代码,从 Lovrabet 平台获取。兼容旧名 app |
locale | string | "en-US" | 语言设置 |
cookie | string | — | 内联 session cookie。设置后优先于 ~/.lovrabet/cookie 文件 |
accessKey | string | — | Access Key 认证(预留) |
format | string | — | 默认输出格式。可选值:json、pretty、table |
pageSize | number | — | 默认分页大小,用于 sql list 等分页命令 |
riskLevel | string | "high-risk-write" | 允许的最高风险等级。可选值:read、write、high-risk-write。兼容旧名 maxRisk |
apiDir | string | "./src/api" | api pull 生成代码的输出目录 |
template_base_url | string | 平台默认 CDN | 模板 CDN 基础 URL |
defaultApp | string | — | 多应用模式下的默认应用名称 |
apps | object | — | 多应用配置。key 为应用名,value 为 AppProfile |
3.2 AppProfile 字段(多应用模式下 apps.* 内的每个应用)
| 字段 | 类型 | 说明 |
|---|---|---|
appcode | string | **必填 **。该应用的 appcode |
apiDir | string | 覆盖顶层 apiDir |
cookie | string | 覆盖顶层 cookie |
accessKey | string | 覆盖顶层 accessKey |
format | string | 覆盖顶层 format |
pageSize | number | 覆盖顶层 pageSize |
riskLevel | string | 覆盖顶层 riskLevel |
locale | string | 覆盖顶层 locale |
四、单应用模式
一个项目只对接一个 Lovrabet 应用。
最简配置
{
"appcode": "app-7786baaf"
}
完整配置示例
{
"appcode": "app-7786baaf",
"riskLevel": "high-risk-write",
"format": "json",
"apiDir": "./src/api"
}
通过命令配置
# 设置输出目录
rabetbase config set apiDir ./src/api
# 设置风险等级
rabetbase config set riskLevel high-risk-write
五、多应用模式
一个项目对接多个 Lovrabet 应用,使用 apps + defaultApp。
配置示例
{
"defaultApp": "order",
"apps": {
"order": {
"appcode": "app-8b7d35a1",
"riskLevel": "write"
},
"product": {
"appcode": "app-8b7d35a2",
"apiDir": "./src/api/product"
}
}
}
通过命令管理多应用
# 添加应用
rabetbase app add order --appcode app-order-001
rabetbase app add product --appcode app-product-002
# 切换默认应用
rabetbase workspace use --app order
# 查看已配置的应用
rabetbase app list
# 删除应用
rabetbase app remove product
使用 --app 指定应用
运行命令时通过 --app 切换目标应用:
# 查询 order 应用的数据集
rabetbase dataset list --app order
# 查询 product 应用的 SQL
rabetbase sql list --app product
# 拉取 order 应用的 API
rabetbase api pull --app order
使用 --appcode 直接指定
如果知道 appcode 但不想配置 app profile,可以直接用 --appcode:
rabetbase dataset list --appcode app-8b7d35a1
CLI 会自动在 apps 中反查匹配的 profile(cookie、apiDir 等)。
六、优先级总览
常用配置项的解析规则可以按下面理解:
CLI flag (--appcode, --format, --app ...)
↓
当前项目 app profile / 项目顶层配置
↓
全局 app profile / 全局顶层配置
↓
内置默认值
--appcode 只接受命令行显式传入的值。这样做是为了避免在多个项目之间切换时,把命令误打到上一个项目的应用。
自动化脚本里如果需要指定应用,建议直接写清楚 --app <name> 或 --appcode <code>,不要依赖隐式上下文。
七、命令速查
# 查看合并后的完整配置
rabetbase config list
# 读取单个配置项
rabetbase config get appcode
# 写入项目级配置
rabetbase config set apiDir ./src/api
# 诊断配置问题
rabetbase doctor
# 多应用管理
rabetbase app add --appcode
rabetbase workspace use --app
rabetbase app list
rabetbase app remove