@delilegal/deli-cli

中文文档
0.6.0发布于 2026/09/17MITES Module零依赖近 30 天下载 2063

Deli Open平台CLI用于为技能提供工具.

中文使用文档
文档目录7 节
  1. 本地开发与构建
  2. 发布与 npx 使用
  3. 配置
  4. 使用方式
  5. OCR 文件解析
  6. 输出格式
  7. 开发结构

@delilegal/deli-cli

得理开放平台命令行客户端,用于向 skill 提供法规检索、案例检索和 OCR 文件解析等开放平台工具能力。

本地开发与构建

cd deli-cli
pnpm install
pnpm run build

pnpm run build 会通过打包器生成 dist 产物。

构建后可直接运行:

node dist/cli.js --help

如需把 deli-cli 注册为本机全局命令:

pnpm link --global
deli-cli --help

本地发布前校验:

pnpm run verify

pnpm run verify 会同时验证普通构建和发布构建,并对发布包做 dry-run 检查。

生成发布构建产物:

pnpm run build:release

build:release 会重建 dist,确认不包含 source map 或类型声明文件,并检查 CLI 可启动;它只生成发布用 dist,不生成 tarball。

本地生成 tarball:

pnpm run pack:local

pack:local 会执行发布构建并生成最终 tarball,输出到 pack/ 目录;同时检查包内不包含源码、测试文件或 .map 文件。

发布与 npx 使用

pack/ 目录中的 .tgz 是最终发布包。例如:

pnpm run pack:local
pnpm publish pack/delilegal-deli-cli-1.0.0.tgz --access public

发布到 npm registry 后,用户可以通过 npx 临时下载并执行包内的 bin 入口:

npx -y @delilegal/deli-cli@latest --help

也可以用更显式的 npm exec 写法:

npm exec --package @delilegal/deli-cli@latest -- deli-cli --help

npx/npm exec 读取 package.json 中的 bin.deli-cli,实际执行的是发布包里的 dist/cli.js。

配置

API Key 获取地址:https://open.delilegal.com/personal/keys

写入本机配置:

deli-cli init --apikey "<你的 API Key>"

API Key 会以加密形式保存到本机配置文件。若只想在当前 shell 环境注入加密后的 API Key,并跳过本机配置写入:

eval "$(deli-cli init --apikey "<你的 API Key>" --print-env --no-write)"

也可以把输出的 DELI_CLI_ENCRYPTED_APIKEY 写入特定 bash 环境;该环境变量优先于本机配置。

如需指向自定义测试环境域名,可同时指定 Open Platform API baseUrl:

deli-cli init --apikey "<你的测试环境 API Key>" --base-url "https://platform.ailawyers.cn/api/v1"

也可以仅在当前 shell 中设置 API Key 和 Base URL,不写入配置文件:

eval "$(deli-cli init --apikey "<你的测试环境 API Key>" --base-url "https://platform.ailawyers.cn/api/v1" --print-env --no-write)"

此时会输出并设置 DELI_CLI_ENCRYPTED_APIKEY 和 DELI_CLI_BASE_URL。两者都优先于配置文件;Base URL 的完整优先级为:环境变量、配置文件、内置默认值。

配置会保存到:

~/.deli/cli/config.json

检查本机环境和 API Key 是否可用:

deli-cli check

使用方式

业务命令由远端 skill 实时提供。先用 cmds 发现某个 skill 当前可用的命令,并创建一个 run_... 调用入口:

deli-cli cmds [email protected]

输出会包含本次可复制的 run id、用法和命令参数。

usage: deli-cli run_a1b2c3d4e5f6 COMMAND [options]

commands:
  The following skill commands are available.

  COMMAND
    case-list            案例检索

    usage:              deli-cli run_a1b2c3d4e5f6 case-list --arg <value>
    required options:
      --query <string>  检索关键词
    optional options:
      --page-no <integer>  页码

实际命令名、参数名和说明以 cmds 当前输出为准。随后按 usage 行的命令形态,结合 options 传参:

deli-cli run_a1b2c3d4e5f6 case-list --query "劳动合同"

如果远端 skill 暴露 skill-version 工具,cmds 会自动检查当前版本和最新版本。只有最新版本高于当前版本时,输出开头才会出现 notice 提示;远端返回技能包 URL 时会显示 download 行,否则只显示得理法律 AI 开放平台下载入口。

查询类参数也可以用位置参数传入:

deli-cli run_a1b2c3d4e5f6 law-list "员工连续旷工三天 公司能否解除劳动合同"

cmds 只支持下列可选参数:

  • --refresh:跳过本地缓存,重新从远端获取最新命令说明;不加时会优先使用本地已发现过的命令说明,但仍会生成新的 run_... 入口。
  • --json:输出结构化 JSON,适合脚本或上层 agent 继续处理。

run_... <command> 的输出和缓存可选参数:

  • 默认输出:普通 skill 命令默认以 Markdown 输出。远端返回 Markdown 或文本时会直接输出;检索类响应包含 data 数组时,会按“结果元信息 → 单条元信息 → highlights → 正文”的顺序展示。
  • --json:输出远端原始 JSON 响应,适合脚本或上层 agent 继续处理。
  • --md / -m:显式使用默认 Markdown 输出;这是 run_... 的输出选项,不是 cmds 的参数。
  • --refresh:跳过本地工具缓存,重新获取该命令的远端 schema 后再调用。
  • --verbose / -v:把诊断信息写到 stderr,不污染 stdout。

OCR 文件解析

当某个 skill 同时提供文件上传和文件解析能力时,cmds 会聚合出一个 ocr-parse 命令,不需要手工串联底层上传接口:

deli-cli cmds [email protected]
deli-cli run_a1b2c3d4e5f6 ocr-parse --file ./scan.pdf

默认会把解析后的 Markdown 输出到 stdout。如需落盘、保留原始响应或指定解析参数,按需追加下列可选参数。

OCR 支持常见 PDF、Word、Excel、OFD、图片和文本类文件。ocr-parse 的可选参数:

  • --output-dir <dir>:把 Markdown 写入指定目录;不加时默认输出到 stdout。
  • --save-response:在落盘时同时保留远端原始响应。
  • --json:输出远端原始响应。
  • --lang <lang>、--task-type <type>:只会在远端 schema 暴露时传入。

输出格式

普通 skill 命令默认输出 Markdown:

deli-cli run_a1b2c3d4e5f6 law-list "劳动合同"

如需结构化 JSON,请显式追加 --json:

deli-cli run_a1b2c3d4e5f6 law-list "劳动合同" --json

开发结构

src/
├── cli.ts                    # 根路由和命令分发
├── config/                   # manifest、用户配置、文件路径
├── commands/                 # init/check/docs/skill 等命令入口
├── mcp/                      # MCP client、协议解析、缓存、run 和动态参数构建
├── services/                 # HTTP 工具和 OCR 本地封装
└── utils/                    # 参数解析、校验、格式化、错误处理

版本与发布记录

@delilegal/deli-cli 共发布 13 个版本,首次发布于 2026/06/18;过去 12 个月发布了 13 个版本。

版本发布日期距今
0.6.0latest2026/09/171 个月前
0.4.12026/08/053 个月前
0.4.1-rc.1rc2026/08/053 个月前
0.4.02026/07/144 个月前
0.3.12026/07/134 个月前
0.3.1-rc.12026/07/134 个月前

关于 @delilegal/deli-cli 的常见问题

@delilegal/deli-cli 是什么?

Deli Open平台CLI用于为技能提供工具.

如何安装 @delilegal/deli-cli?

在项目目录运行 npm install @delilegal/deli-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 deli-cli,可以用 npx deli-cli 直接运行。

@delilegal/deli-cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/delilegal__deli-cli 是否存在。

@delilegal/deli-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@delilegal/deli-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@delilegal/deli-cli 可以商用吗?

@delilegal/deli-cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@delilegal/deli-cli 的下载量有多少?

根据 npm 官方下载统计,@delilegal/deli-cli 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,063 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@delilegal/deli-cli 还在维护吗?

最新版本 0.6.0 发布于 2026/09/17(1 个月前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/06/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。