.lovrabet.json 保存 Lovrabet Runtime CLI 的本地使用偏好:应用选择、Access Key、输出格式、安全上限,以及国家/地区或独立部署 Domain。
这份文件不是平台应用目录。平台上可访问的应用以远端结果为准,本地 apps 只保存少量、稳定的应用别名。一般通过 lovrabet workspace init、lovrabet auth login 和 lovrabet config init 生成配置,不必从空文件开始手写。
INFO
关联文档
- Lovrabet-CLI 区域节点&自定义API域名配置:首次初始化、国家/地区选择和单项 Domain 覆盖。
- 企业独立部署: .lovrabet.json 配置指南:完整隔离、统一网关、验证和回退方案。
TIP
.lovrabet.json 可能包含 Access Key,不要提交到 Git。文件必须是标准 JSON,不支持注释和尾随逗号。
配置文件位置
| 作用域 | 文件位置 | 用途 |
|---|---|---|
| 当前目录 | ./.lovrabet.json | 当前工作目录的应用绑定与覆盖项 |
| 全局 | ~/.lovrabet.json | 本机默认认证、输出偏好、应用候选、国家/地区和 Domain |
Runtime CLI 只自动读取 .lovrabet.json,不会读取 Rabetbase CLI 配置或其他旧文件。当前目录配置按 key 覆盖全局配置;当前目录显式设置 apps 时,整个 apps 对象替换全局同名对象,不做逐项合并。
推荐结构
只有一个目标应用时,可以直接绑定 App Code:
{
"appcode": "app-7786baaf",
"format": "compress",
"riskLevel": "write",
"region": "cn"
}需要稳定的本地别名或多个应用时,使用 apps 和 defaultApp:
{
"defaultApp": "crm",
"apps": {
"crm": {
"appcode": "app-crm-001"
},
"finance": {
"appcode": "app-finance-002"
}
},
"format": "compress",
"riskLevel": "write"
}defaultApp 是没有更明确线索时的默认候选,不是不可覆盖的强绑定。调用命令时显式传入的 --app 或 --appcode 优先。
可直接使用的完整配置
下面是标准 JSON。请替换示例值,并删除不需要的字段。官方服务通常只保留 region;独立部署或特殊路由才配置 5 个 Domain。
{
"defaultApp": "crm",
"apps": {
"crm": {
"appcode": "app-crm-001"
},
"finance": {
"appcode": "app-finance-002"
}
},
"accessKey": "<lovrabet-access-key>",
"format": "compress",
"pageSize": 50,
"riskLevel": "write",
"locale": "en-US",
"region": "cn",
"userDomain": "https://user.example.com",
"apiDomain": "https://api.example.com",
"runtimeDomain": "https://runtime.example.com",
"skillDomain": "https://skills.example.com",
"kbDomain": "https://kb.example.com"
}带注释的完整配置
下面是逐项说明版,不能直接保存为 .lovrabet.json。复制使用前必须删除所有 // 注释,并替换尖括号占位值。
{
// 没有显式传 --app 或 --appcode 时优先尝试的应用别名
// 值必须对应 apps 中的一个 key
"defaultApp": "crm",
// 本地应用别名集合;它不是平台应用目录
// 当前配置契约下,每个别名只保存 appcode
"apps": {
// 本地别名,可按业务自行命名
"crm": {
// 该别名对应的 Lovrabet App Code
"appcode": "app-crm-001"
},
// 第二个本地别名;不需要时可整段删除
"finance": {
// 第二个别名对应的 Lovrabet App Code
"appcode": "app-finance-002"
}
},
// Runtime CLI 的 Access Key;敏感信息,不要提交到 Git
// 更建议通过 lovrabet auth login 写入全局配置
"accessKey": "<lovrabet-access-key>",
// 默认输出格式:compress、json 或 pretty
// CLI 默认是适合脚本处理的单行 compress JSON
"format": "compress",
// 支持分页配置的命令所使用的默认页大小
"pageSize": 50,
// 允许执行的最高风险等级:read、write 或 high-risk-write
// 默认是 write,只能由授权人员手工修改
"riskLevel": "write",
// 应用本地化设置;不是 CLI 界面语言,目前命令尚未消费
"locale": "en-US",
// 官方服务的国家/地区:cn 为中国大陆,id 为印度尼西亚
// 中国大陆是默认值,可省略 region
"region": "cn",
// 登录与用户服务的 HTTPS origin
"userDomain": "https://user.example.com",
// 平台 API 的 HTTPS origin
"apiDomain": "https://api.example.com",
// 普通 Runtime 与 File 等运行态服务的 HTTPS origin
"runtimeDomain": "https://runtime.example.com",
// SkillHub 服务的 HTTPS origin
"skillDomain": "https://skills.example.com",
// 知识库服务的 HTTPS origin
// 未配置时跟随 runtimeDomain 或当前国家/地区的 Runtime 地址
"kbDomain": "https://kb.example.com"
}accessKey 属于敏感信息。项目文件准备提交到 Git 时应删除该字段;日常登录优先使用 lovrabet auth login,让凭据写入权限受限的全局配置。
配置项说明
应用选择
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
appcode | string | 无 | 直接绑定一个 App Code;适合单应用目录 |
defaultApp | string | 无 | 默认候选应用名,可对应本地别名或远端应用名 |
apps | object | 无 | 本地别名集合;每个 apps.<alias> 只支持 appcode |
平台应用目录由 lovrabet app list 查询并缓存在 ~/.lovrabet/cache/。不要把远端应用列表整体复制到 .lovrabet.json。
认证、输出与安全
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
accessKey | string | 无 | Runtime CLI 的主要认证凭据 |
format | compress | json | pretty | compress | 默认输出格式;命令行 --format 优先 |
pageSize | number | 命令默认值 | 支持分页配置的命令所使用的默认页大小 |
riskLevel | read | write | high-risk-write | write | 允许执行的最高风险等级 |
locale | string | en-US | 应用本地化设置,目前命令尚未消费;不是 CLI 界面语言 |
Lovrabet CLI 的用户可见文案固定为英文,locale 不会切换 help、Prompt 或错误信息。
riskLevel 是保护字段,config set 和 config delete 都会拒绝修改。需要调整时,由授权人员检查后手工编辑对应的 .lovrabet.json。Agent 和自动化脚本不得自行提权。
国家/地区与 Domain
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
region | cn | id | cn | 官方服务的国家/地区;cn 表示中国大陆,id 表示印度尼西亚 |
userDomain | HTTPS origin | 当前国家/地区默认值 | 登录与用户服务 |
apiDomain | HTTPS origin | 当前国家/地区默认值 | 平台 API |
runtimeDomain | HTTPS origin | 当前国家/地区默认值 | 普通 Runtime、File 等运行态服务 |
skillDomain | HTTPS origin | 当前国家/地区默认值 | SkillHub 服务 |
kbDomain | HTTPS origin | 跟随 runtimeDomain | 知识库服务;显式配置时优先 |
使用官方服务时只配置 region。独立部署或特殊路由才写 Domain。Domain 必须是可信的 HTTPS origin,例如 https://runtime.example.com,不能包含路径、查询参数、片段或账号密码。
配置合并与应用解析
普通字段按下面的顺序解析,越靠前优先级越高:
- 当前命令显式传入的 flag。
- 当前目录
.lovrabet.json。 - 全局
~/.lovrabet.json。 - CLI 默认值。
应用选择再遵循两条规则:
- 显式
--appcode直接指定 App Code;显式--app先查本地别名,再查远端应用缓存。 - 没有显式选择时,顶层
appcode或defaultApp作为候选;defaultApp可能需要通过远端缓存解析。
当前目录配置中的标量覆盖全局同名字段。若当前目录存在 apps,它会整体替换全局 apps,因此不要假设两个对象会自动合并。
常用命令
绑定当前目录
# 尚未绑定时初始化
lovrabet workspace init --app crm
# 已有绑定时切换
lovrabet workspace use --app finance
# 已知 App Code 时直接绑定
lovrabet workspace init --appcode app-crm-001workspace init 只用于尚未绑定的目录,workspace use 用于修改已有绑定。两者只写当前目录配置,不写 Access Key。
保存 Access Key
lovrabet auth login --access-key <ACCESS_KEY>
lovrabet auth statusauth login 默认把 Access Key 写入全局配置,方便多个工作目录复用。命令输出会对凭据脱敏。
初始化国家/地区或独立部署连接
lovrabet config init --region cn
lovrabet config init --region id
lovrabet config init --domain-config ./lovrabet-domains.jsonconfig init 固定更新全局连接配置,并保留 Access Key、输出格式和应用绑定。--domain-config 文件只接收 userDomain、apiDomain、runtimeDomain、skillDomain 和 kbDomain。
读取、写入和删除配置
# 查看合并后的配置;敏感字段会脱敏
lovrabet config list
# 读取单个字段,支持点路径
lovrabet config get apps.crm.appcode
# 默认写入当前目录;当前目录必须已有 .lovrabet.json
lovrabet config set format compress
lovrabet config set apps.crm.appcode app-crm-001
# 显式写入全局配置
lovrabet config set apiDomain https://api.example.com --global
# 删除当前目录字段或本地别名
lovrabet config delete format
lovrabet config delete apps.crm
# 删除全局字段
lovrabet config delete apiDomain --global如果当前目录没有 .lovrabet.json,config set 和 config delete 不会退回去修改全局文件。请先绑定当前目录,或明确加上 --global。
验证配置
lovrabet doctor
lovrabet app list先用 doctor 检查配置文件、最终国家/地区、Domain、认证和风险上限,再用 app list 核对当前 Access Key 可以访问的应用。Domain 改完后,先运行只读命令,不要直接拿写操作试连接。
兼容说明
旧配置中的顶层 app 仍可作为 appcode 的兼容别名读取;inherit 已不再生效。旧版 apps.* 可能带有更多字段,当前公开契约只使用 apps.<alias>.appcode,新配置不要继续写入其他 profile 字段。
未知字段可能被保留,但不代表受支持。公开配置以本文列出的字段为准。