跳到主要内容

配置项参考

本文档介绍 rabetbase-cli 的配置体系,包括配置文件字段、单应用 / 多应用模式,以及通过命令行管理配置。


一、配置文件概览

rabetbase-cli 使用 JSON 配置文件,按作用域分为两级:

作用域文件位置说明
项目级项目根目录 **./. **``rabetbase.json仅对当前项目生效,优先级更高
全局级用户 HOME **~ **``/.``rabetbase.json所有项目共享,作为 fallback

二、初始化配置

# 交互式创建项目配置
cd your-project/
rabetbase project init

按提示输入 AppCode,自动生成 .rabetbase.json


三、配置项列表

3.1 顶层字段

字段类型默认值说明
appcodestring**必填 **(单应用模式)。应用代码,从 Lovrabet 平台获取。兼容旧名 app
localestring"en-US"语言设置
cookiestring内联 session cookie。设置后优先于 ~/.lovrabet/cookie 文件
accessKeystringAccess Key 认证(预留)
formatstring默认输出格式。可选值:jsonprettytable
pageSizenumber默认分页大小,用于 sql list 等分页命令
riskLevelstring"high-risk-write"允许的最高风险等级。可选值:readwritehigh-risk-write。兼容旧名 maxRisk
apiDirstring"./src/api"api pull 生成代码的输出目录
template_base_urlstring平台默认 CDN模板 CDN 基础 URL
defaultAppstring多应用模式下的默认应用名称
appsobject多应用配置。key 为应用名,value 为 AppProfile

3.2 AppProfile 字段(多应用模式下 apps.* 内的每个应用)

字段类型说明
appcodestring**必填 **。该应用的 appcode
apiDirstring覆盖顶层 apiDir
cookiestring覆盖顶层 cookie
accessKeystring覆盖顶层 accessKey
formatstring覆盖顶层 format
pageSizenumber覆盖顶层 pageSize
riskLevelstring覆盖顶层 riskLevel
localestring覆盖顶层 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