xparse-cli 2.2.1-beta.0 → 2.2.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # xParse Client
1
+ # xParser CLI
2
2
 
3
3
  Textin xParser 文档解析命令行工具,基于 [TextIn xParse API](https://docs.textin.com/api-reference/endpoint/xparse/v1/parse-sync) 实现。
4
4
 
@@ -11,7 +11,7 @@ Textin xParser 文档解析命令行工具,基于 [TextIn xParse API](https://
11
11
  需要 Node.js 18 或更高版本。Beta 版本必须显式安装,不会被普通安装或升级自动选中:
12
12
 
13
13
  ```bash
14
- npm install -g xparse-cli@beta
14
+ npm install -g xparse-cli@2.2.1-beta.1
15
15
  ```
16
16
 
17
17
  安装后可运行 `xparse-cli version` 检查版本。
@@ -37,7 +37,6 @@ irm https://dllf.intsig.net/download/2026/Solution/xparse-cli/install.ps1 | iex
37
37
  **单平台构建(当前系统):**
38
38
 
39
39
  ```bash
40
- cd xparse-client
41
40
  go build -o xparse-cli .
42
41
  ```
43
42
 
@@ -47,7 +46,7 @@ go build -o xparse-cli .
47
46
  VERSION=v0.0.1
48
47
  COMMIT=$(git rev-parse --short HEAD)
49
48
  DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
50
- PKG=gitlab.intsig.net/xparse/xparse-client/cmd
49
+ PKG=github.com/intsig-textin/xparse-skills/cli/cmd/parse
51
50
 
52
51
  go build -ldflags "-s -w \
53
52
  -X ${PKG}.version=${VERSION} \
@@ -62,7 +61,7 @@ go build -ldflags "-s -w \
62
61
  VERSION=v0.0.1
63
62
  COMMIT=$(git rev-parse --short HEAD)
64
63
  DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
65
- PKG=gitlab.intsig.net/xparse/xparse-client/cmd
64
+ PKG=github.com/intsig-textin/xparse-skills/cli/cmd/parse
66
65
  LDFLAGS="-s -w -X ${PKG}.version=${VERSION} -X ${PKG}.commit=${COMMIT} -X ${PKG}.date=${DATE}"
67
66
 
68
67
  GOOS=linux GOARCH=amd64 go build -ldflags "$LDFLAGS" -o dist/xparse-cli-linux-amd64 .
@@ -86,7 +85,7 @@ GOOS=windows GOARCH=arm64 go build -ldflags "$LDFLAGS" -o dist/xparse-cli-window
86
85
 
87
86
  ## 快速开始
88
87
 
89
- ### 1. 零配置解析(免费 API)
88
+ ### 1. 零配置解析(自动使用免费额度)
90
89
 
91
90
  ```bash
92
91
  # 输出 Markdown 到终端
@@ -187,8 +186,8 @@ xparse-cli --profile workbuddy parse report.pdf --api paid --auth-method oauth
187
186
  | 参数 | 默认值 | 说明 |
188
187
  |------|--------|------|
189
188
  | `--view` | `markdown` | 输出视图:`markdown`、`json` |
190
- | `--api` | `free` | API 模式:`free`、`paid`;`auto` `free` 的兼容别名 |
191
- | `--auth-method` | _(自动)_ | paid API 认证:`app-key`、`oauth` |
189
+ | `--api` | `auto` | API 模式:`auto`、`free`、`paid`;`auto` 根据服务端额度快照路由 |
190
+ | `--auth-method` | _(自动)_ | 请求认证:`app-key`、`oauth` |
192
191
  | `--page-range` | | 页码范围:`"1-5"` 或 `"1-2,5-10"` |
193
192
  | `--password` | | 加密文档密码 |
194
193
  | `--include-hierarchy` | `true` | 元素层级关系与父子关联,默认开启。为 `false` 时关闭 |
@@ -307,30 +306,26 @@ OAuth 参数优先级:
307
306
  | Browser redirect | `--redirect-uri` > `XPARSE_OAUTH_REDIRECT_URI` > `oauth.redirect_uri` > `http://127.0.0.1:0/callback` |
308
307
  | Base URL | `--base-url` > `XPARSE_BASE_URL` > `base_url` > `https://api.textin.com` |
309
308
 
310
- 不传 `--api` 时使用 `auto`:CLI 查询服务端实时能力,优先使用免费额度,其次使用账户
311
- 已经拥有且不会产生新费用的套餐;需要产生新费用时必须停止并要求用户确认。已有 AppKey、
312
- OAuth 登录态或上次选择的认证方式都不会被当作新增付费授权。
313
- 只有显式传入 `--api paid` 才允许新付费路径;未同时指定 `--auth-method` 时,付费模式
314
- 优先选择有效 OAuth 会话,没有 OAuth 会话时再使用完整 AppKey。通过 flag、环境变量或
315
- 配置显式选择的 OAuth 或 AppKey 失败时不会切换到另一种凭证。
309
+ 不传 `--api` 时使用 `auto`:CLI 先读取现有 quota 接口,在匿名每日免费额度与登录
310
+ 用户的免费套餐额度之间制定执行计划。显式 `--api free` 固定调用免费 Agent 接口,
311
+ 显式 `--api paid` 固定调用现有付费接口,不参与自动额度路由。
316
312
 
317
- 成功执行 `auth app-key` OAuth 登录仍会记录用户最后明确选择的认证方式,但该设置
318
- 仅供显式 `--api paid` 的凭证选择。`--api free` 与 `--api auto` 会在能力查询时携带可用
319
- 身份以读取既有权益;真正执行免费请求时不会发送 AppKey。
320
- 免费解析遇到 OAuth 刷新失败时会输出警告并匿名继续,确保解析可用;该降级仅适用于
321
- 免费接口。付费 OAuth 刷新失败仍会停止请求,也不会回退到 AppKey。
313
+ 认证选择顺序为:显式 `--auth-method` / 环境或配置选择 > OAuth > 完整 AppKey >
314
+ 匿名(仅可选认证接口)。自动选择 OAuth 时若刷新失败,会先回退完整 AppKey;两者都
315
+ 不可用时,quota、免费解析与 telemetry 才匿名继续。显式选择 OAuth 失败不会切换身份。
316
+
317
+ 本地 PDF 会使用服务端返回的 `max_pages_per_request` 和 `max_file_size_mb` 预检。
318
+ 仅页数超限且原文件体积合规时使用页范围分段;文件体积超限时生成真实临时 PDF
319
+ 片段,按可重试错误最多重试一次,并按原始页码顺序合并结果。临时片段执行后删除。
322
320
 
323
321
  ## 退出码与错误处理
324
322
 
325
323
  | 码 | 含义 | stderr 格式 |
326
324
  |----|------|-------------|
327
325
  | 0 | 成功 | — |
328
- | 1 | 一般错误 / 网络异常 | 文本或结构化 JSON |
329
- | 2 | 参数错误 | 文本或结构化 JSON |
330
- | 3 | API 返回错误 | 文本或含 `api_code`、`request_id` 的结构化 JSON |
331
-
332
- 普通 CLI 默认使用文本错误;`--profile workbuddy` 的 `--error-format auto` 默认输出
333
- JSON,也可显式传入 `--error-format json|text`。
326
+ | 1 | 一般错误 / 网络异常 | 纯文本 + `> [tag] suggestion` |
327
+ | 2 | 参数错误 | 纯文本 + `> [tag] suggestion` |
328
+ | 3 | API 返回错误 | `api_code:message` + `> [tag] suggestion` |
334
329
 
335
330
  每条错误输出到 stderr,格式:
336
331
 
@@ -379,8 +374,8 @@ invalid --view value, must be 'markdown' or 'json'
379
374
 
380
375
  | 限制项 | 免费 API | 付费 API |
381
376
  |--------|----------|----------|
382
- | 文件大小 | 10MB | 500MB |
383
- | PDF 页数 | | 1000 页 |
377
+ | 文件大小 | quota 的 `max_file_size_mb` 下发,PDF 可自动分片 | 500MB |
378
+ | PDF 页数 | quota 的 `max_pages_per_request` 下发,支持自动分段 | 1000 页 |
384
379
  | XLS/XLSX/CSV | — | 每 sheet ≤ 2000 行 × 100 列 |
385
380
  | TXT | — | ≤ 100KB |
386
381
  | 图片尺寸 | 20~20000 像素 | 20~20000 像素 |
package/bin/xparse-cli.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xparse-cli",
3
- "version": "2.2.1-beta.0",
3
+ "version": "2.2.1-beta.1",
4
4
  "description": "TextIn xParse command-line client for document parsing",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,12 +19,12 @@
19
19
  "node": ">=18"
20
20
  },
21
21
  "optionalDependencies": {
22
- "xparse-cli-darwin-amd64": "2.2.1-beta.0",
23
- "xparse-cli-darwin-arm64": "2.2.1-beta.0",
24
- "xparse-cli-linux-amd64": "2.2.1-beta.0",
25
- "xparse-cli-linux-arm64": "2.2.1-beta.0",
26
- "xparse-cli-windows-amd64": "2.2.1-beta.0",
27
- "xparse-cli-windows-arm64": "2.2.1-beta.0"
22
+ "xparse-cli-darwin-amd64": "2.2.1-beta.1",
23
+ "xparse-cli-darwin-arm64": "2.2.1-beta.1",
24
+ "xparse-cli-linux-amd64": "2.2.1-beta.1",
25
+ "xparse-cli-linux-arm64": "2.2.1-beta.1",
26
+ "xparse-cli-windows-amd64": "2.2.1-beta.1",
27
+ "xparse-cli-windows-arm64": "2.2.1-beta.1"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public",