Skip to content

.lovrabet.json 保存 Lovrabet Runtime CLI 的本地使用偏好:应用选择、Access Key、输出格式、安全上限,以及国家/地区或独立部署 Domain。

这份文件不是平台应用目录。平台上可访问的应用以远端结果为准,本地 apps 只保存少量、稳定的应用别名。一般通过 lovrabet workspace initlovrabet auth loginlovrabet config init 生成配置,不必从空文件开始手写。

INFO

关联文档

:::

TIP

.lovrabet.json 可能包含 Access Key,不要提交到 Git。文件必须是标准 JSON,不支持注释和尾随逗号。

配置文件位置

作用域文件位置用途
当前目录./.lovrabet.json当前工作目录的应用绑定与覆盖项
全局~/.lovrabet.json本机默认认证、输出偏好、应用候选、国家/地区和 Domain

Runtime CLI 只自动读取 .lovrabet.json,不会读取 Rabetbase CLI 配置或其他旧文件。当前目录配置按 key 覆盖全局配置;当前目录显式设置 apps 时,整个 apps 对象替换全局同名对象,不做逐项合并。

推荐结构

只有一个目标应用时,可以直接绑定 App Code:

json
{
  "appcode": "app-7786baaf",
  "format": "compress",
  "riskLevel": "write",
  "region": "cn"
}

需要稳定的本地别名或多个应用时,使用 appsdefaultApp

json
{
  "defaultApp": "crm",
  "apps": {
    "crm": {
      "appcode": "app-crm-001"
    },
    "finance": {
      "appcode": "app-finance-002"
    }
  },
  "format": "compress",
  "riskLevel": "write"
}

defaultApp 是没有更明确线索时的默认候选,不是不可覆盖的强绑定。调用命令时显式传入的 --app--appcode 优先。

可直接使用的完整配置

下面是标准 JSON。请替换示例值,并删除不需要的字段。官方服务通常只保留 region;独立部署或特殊路由才配置 5 个 Domain。

json
{
  "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。复制使用前必须删除所有 // 注释,并替换尖括号占位值。

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,让凭据写入权限受限的全局配置。

配置项说明

应用选择

字段类型默认值说明
appcodestring直接绑定一个 App Code;适合单应用目录
defaultAppstring默认候选应用名,可对应本地别名或远端应用名
appsobject本地别名集合;每个 apps.<alias> 只支持 appcode

平台应用目录由 lovrabet app list 查询并缓存在 ~/.lovrabet/cache/。不要把远端应用列表整体复制到 .lovrabet.json

认证、输出与安全

字段类型默认值说明
accessKeystringRuntime CLI 的主要认证凭据
formatcompress | json | prettycompress默认输出格式;命令行 --format 优先
pageSizenumber命令默认值支持分页配置的命令所使用的默认页大小
riskLevelread | write | high-risk-writewrite允许执行的最高风险等级
localestringen-US应用本地化设置,目前命令尚未消费;不是 CLI 界面语言

Lovrabet CLI 的用户可见文案固定为英文,locale 不会切换 help、Prompt 或错误信息。

riskLevel 是保护字段,config setconfig delete 都会拒绝修改。需要调整时,由授权人员检查后手工编辑对应的 .lovrabet.json。Agent 和自动化脚本不得自行提权。

国家/地区与 Domain

字段类型默认值说明
regioncn | idcn官方服务的国家/地区;cn 表示中国大陆,id 表示印度尼西亚
userDomainHTTPS origin当前国家/地区默认值登录与用户服务
apiDomainHTTPS origin当前国家/地区默认值平台 API
runtimeDomainHTTPS origin当前国家/地区默认值普通 Runtime、File 等运行态服务
skillDomainHTTPS origin当前国家/地区默认值SkillHub 服务
kbDomainHTTPS origin跟随 runtimeDomain知识库服务;显式配置时优先

使用官方服务时只配置 region。独立部署或特殊路由才写 Domain。Domain 必须是可信的 HTTPS origin,例如 https://runtime.example.com,不能包含路径、查询参数、片段或账号密码。

配置合并与应用解析

普通字段按下面的顺序解析,越靠前优先级越高:

  1. 当前命令显式传入的 flag。
  2. 当前目录 .lovrabet.json
  3. 全局 ~/.lovrabet.json
  4. CLI 默认值。

应用选择再遵循两条规则:

  • 显式 --appcode 直接指定 App Code;显式 --app 先查本地别名,再查远端应用缓存。
  • 没有显式选择时,顶层 appcodedefaultApp 作为候选;defaultApp 可能需要通过远端缓存解析。

当前目录配置中的标量覆盖全局同名字段。若当前目录存在 apps,它会整体替换全局 apps,因此不要假设两个对象会自动合并。

常用命令

绑定当前目录

bash
# 尚未绑定时初始化
lovrabet workspace init --app crm

# 已有绑定时切换
lovrabet workspace use --app finance

# 已知 App Code 时直接绑定
lovrabet workspace init --appcode app-crm-001

workspace init 只用于尚未绑定的目录,workspace use 用于修改已有绑定。两者只写当前目录配置,不写 Access Key。

保存 Access Key

bash
lovrabet auth login --access-key <ACCESS_KEY>
lovrabet auth status

auth login 默认把 Access Key 写入全局配置,方便多个工作目录复用。命令输出会对凭据脱敏。

初始化国家/地区或独立部署连接

bash
lovrabet config init --region cn
lovrabet config init --region id
lovrabet config init --domain-config ./lovrabet-domains.json

config init 固定更新全局连接配置,并保留 Access Key、输出格式和应用绑定。--domain-config 文件只接收 userDomainapiDomainruntimeDomainskillDomainkbDomain

读取、写入和删除配置

bash
# 查看合并后的配置;敏感字段会脱敏
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.jsonconfig setconfig delete 不会退回去修改全局文件。请先绑定当前目录,或明确加上 --global

验证配置

bash
lovrabet doctor
lovrabet app list

先用 doctor 检查配置文件、最终国家/地区、Domain、认证和风险上限,再用 app list 核对当前 Access Key 可以访问的应用。Domain 改完后,先运行只读命令,不要直接拿写操作试连接。

兼容说明

旧配置中的顶层 app 仍可作为 appcode 的兼容别名读取;inherit 已不再生效。旧版 apps.* 可能带有更多字段,当前公开契约只使用 apps.<alias>.appcode,新配置不要继续写入其他 profile 字段。

未知字段可能被保留,但不代表受支持。公开配置以本文列出的字段为准。

基于飞书知识库同步生成,内容以飞书源文档为准