跳到主要内容

配置项参考

本文档介绍 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 文件
accessKeystring—Access Key 认证(预留)
formatstring—默认输出格式。可选值:json、pretty、table
pageSizenumber—默认分页大小,用于 sql list 等分页命令
riskLevelstring"high-risk-write"允许的最高风险等级。可选值:read、write、high-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