Skip to content

扩展服务配置、导入导出与验证

Lovrabet CLI 通过一个本机 service.json 保存扩展服务。导入后,lovrabet crm customer list 这类业务命令会出现在 help、schema 和 doctor 里。

配置文件在哪里

Lovrabet CLI 读取并维护的服务配置文件叫 service.json,默认位置如下:

系统默认路径
macOS~/.lovrabet/service.json,通常是 /Users/<用户名>/.lovrabet/service.json
Windows%USERPROFILE%\.lovrabet\service.json,通常是 C:\Users\<用户名>\.lovrabet\service.json
Linux / WSL~/.lovrabet/service.json,通常是 /home/<用户名>/.lovrabet/service.json

这个文件由 Lovrabet CLI 管理,不建议手动编辑。需要新增、覆盖、导出或删除服务时,使用 lovrabet service ... 命令。

导入时,--file 只表示“这次从哪个 JSON 读取配置”。Lovrabet CLI 不关心这个 JSON 原来放在哪里;导入成功后,以本机 service.json 为准。

service 有哪些命令

lovrabet service 管理本机扩展服务。

命令作用
lovrabet service validate --file <file>校验一份服务配置文件。只检查,不导入。
lovrabet service import --file <file>把服务配置导入本机 service.json
lovrabet service export --service <service> --file <file>从本机 service.json 导出某个服务。
lovrabet service list查看本机已经导入了哪些服务。
lovrabet service detail --service <service>查看某个服务的详情。
lovrabet service remove --service <service>从本机 service.json 移除某个服务。

其中 <service> 是服务编码,例如 crm

导入前先校验

导入前,先校验要导入的 JSON:

bash
lovrabet service validate --file crm-service.json

校验通过时,会看到类似结果:

text
Service manifest validation passed.

如果字段写错,会返回具体错误。修好后再导入。

导入配置

导入前可以先预览:

bash
lovrabet service import --file crm-service.json --dry-run

确认无误后执行导入:

bash
lovrabet service import --file crm-service.json

导入成功后,会写入本机 service.json。如果本机已经有同名服务,例如 crm,这次导入会覆盖旧版本。

导出配置

需要把本机已经导入的服务导出为 JSON 文件时,使用:

bash
lovrabet service export --service crm --file crm-service.exported.json

导出的文件可以用于备份、比对或迁移到另一台电脑。

查看本机服务

查看本机已经导入了哪些服务:

bash
lovrabet service list

示意效果:

text
total: 1
services:
  - serviceCode: crm
    name: CRM
    commandCount: 5

查看某个服务详情:

bash
lovrabet service detail --service crm

详情里会看到服务名称、命令列表、参数和目标能力。

在 help 里查看效果

导入成功后,顶层帮助会出现新的业务服务。

bash
lovrabet --help

也可以只看某个服务:

bash
lovrabet crm --help

示意效果:

text
lovrabet crm <command> [flags]

CRM
  客户、联系人和跟进记录的业务服务

Commands:
  customer list            查询客户列表
  customer mine            查询我负责的客户
  customer detail          查询某个客户详情
  contact list             查询客户联系人
  followup list            查询客户跟进记录

Use `lovrabet service detail --service crm` to inspect the manifest.

真正执行业务命令时,写完整命令:

bash
lovrabet crm customer list --status active

在 schema 里查看效果

schema 是给 Agent 和工具读取的机器可读命令清单。导入服务后,schema 里也会出现新服务。

bash
lovrabet schema export --format pretty

示意片段:

json
{
  "service": "crm",
  "commands": [
    {
      "command": "customer list",
      "description": "查询客户列表",
      "risk": "read"
    }
  ]
}

这表示 Agent 可以发现并使用 lovrabet crm customer list

在 doctor 里查看效果

doctor 用来检查 Lovrabet CLI 当前本机状态。

bash
lovrabet doctor

导入服务后,会看到类似的 Service Tree 区块:

text
Service Tree
──────────────────────────────
Service file: /Users/<用户名>/.lovrabet/service.json
Status:    ✓ Loaded
Services:  1
Commands:  5
crm:       CRM (5 commands)

在 Windows 上,Service file 会显示类似:

text
C:\Users\<用户名>\.lovrabet\service.json

模拟一次完整验证

下面用 crm-service.json 模拟一次完整流程:

bash
lovrabet service validate --file crm-service.json
lovrabet service import --file crm-service.json
lovrabet service list
lovrabet crm --help
lovrabet schema export --format pretty
lovrabet doctor
lovrabet crm customer list --status active --keyword 科技 --dry-run

预期能看到:

  • service list 里有 crm
  • crm --help 里有 customer list 等业务入口。
  • schema export 里有 crm 服务和对应命令。
  • doctor 里显示本机 service.json 已加载。
  • --dry-run 能预览底层会访问哪个目标能力和参数,不真正执行查询或写入。

下一步

这篇文档只讲 Lovrabet CLI 如何导入、导出和验证扩展服务。字段含义、JSON 结构、mapTo 写法、datasetCodedatatable 怎么选,继续看《service.json 配置详解》。

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