Skip to main content

Skill-driven document review CLI

Project description

DocCheck CLI

Skill 驱动的合同审核 CLI。用户提供合同文件或目录后,DocCheck 会自动完成文档解析、合同画像、规则适用性判断、规则审核和结果输出。

当前能力

  • 支持单文件和目录批量审核。
  • 每次审核创建独立 Run Workspace,隔离输入文件、解析产物、任务状态和审核结果。
  • 内置 5 条已发布审核 Skill,首次配置后可直接审核合同。
  • 支持 OpenAI-compatible 模型网关,主 Agent 和规则 Worker 可配置不同模型。
  • 支持本地轻量解析、jyppx 本地高精度解析、MinerU/Doc2X/PDF2X 等远程商业解析服务。
  • 支持 Excel 审核规则导入,并由主 Agent 深度分析生成可执行 Skill。
  • 支持 SQLite Taskboard、失败重试、断点恢复、Run 重命名和 JSON 报告。
  • 支持交互式 Shell,提供 /config/check/resume/rename 等命令。

安装

推荐从 PyPI 安装:

pipx install doccheck-cli

更新到最新版:

pipx install --force doccheck-cli

安装指定版本:

pipx install "doccheck-cli==0.1.1"

开发版或预发布代码可从 GitHub 安装:

pipx install git+https://github.com/Mingyu-Xu-98/doccheck-cli.git

本地开发安装:

git clone https://github.com/Mingyu-Xu-98/doccheck-cli.git
cd doccheck-cli
pipx install -e .

安装后验证:

doccheck --version
doccheck onboard --help

快速开始

第一次使用需要配置两类服务:

  • 模型服务:主 Agent 和规则审核 Worker 使用。
  • 解析服务:PDF/DOCX 等合同文件解析使用。

交互式配置:

doccheck onboard

检查配置:

doccheck doctor

开始审核:

doccheck check "/路径/合同或合同目录"

把本次审核输出到指定目录:

doccheck check "/路径/合同或合同目录" -o "/路径/审核输出"

查看历史任务:

doccheck runs
doccheck status <run-id>

审核结果位于:

$DOCCHECK_HOME/workspaces/<run-id>/results/result.json

如果使用 doccheck check -o "/路径/审核输出",本次 Run 会写到:

/路径/审核输出/<run-id>/results/result.json
/路径/审核输出/<run-id>/reports/documents/*.html

如果未设置 DOCCHECK_HOME,默认使用:

~/.doccheck

非交互配置示例

使用阿里百炼模型

以百炼中国北京区域为例:

doccheck onboard \
  --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 \
  --api-key "$DASHSCOPE_API_KEY" \
  --deepseek-model qwen-plus \
  --qwen-model qwen-plus \
  --parser-provider mineru_agent

说明:当前 CLI 参数名仍保留 --deepseek-model,它实际表示“主 Agent 模型”。如果不用 DeepSeek,也可以填写百炼、LiteLLM 或其他 OpenAI-compatible 网关中的模型名。

使用自定义 LiteLLM 网关

doccheck onboard \
  --base-url https://your-litellm.example/v1 \
  --api-key "$MODEL_API_KEY" \
  --deepseek-model deepseek-v4-flash \
  --qwen-model qwen-plus \
  --parser-provider local_docx

使用 MinerU v4 解析

doccheck onboard \
  --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 \
  --api-key "$DASHSCOPE_API_KEY" \
  --deepseek-model qwen-plus \
  --qwen-model qwen-plus \
  --parser-provider mineru_v4 \
  --parser-api-key "$MINERU_TOKEN"

使用 Doc2X/PDF2X 解析

doccheck onboard \
  --base-url https://dashscope.aliyuncs.com/compatible-mode/v1 \
  --api-key "$DASHSCOPE_API_KEY" \
  --deepseek-model qwen-plus \
  --qwen-model qwen-plus \
  --parser-provider doc2x \
  --parser-api-key "$DOC2X_API_KEY"

模型与 Key

模型 API Key 和解析服务 API Key 分开保存:

模型 Key:   $DOCCHECK_HOME/credentials/model_api_key
解析 Key:   $DOCCHECK_HOME/credentials/parser_api_key

也可以使用环境变量:

export DEEPSEEK_API_KEY="模型服务 Key"
export QWEN_API_KEY="模型服务 Key"
export DOCCHECK_PARSER_API_KEY="解析服务 Key"

配置文件路径:

$DOCCHECK_HOME/config.json

关键配置项:

  • models.orchestrator:主 Agent,用于合同画像、规则分析和必要的复核。
  • models.rule_worker:规则审核 Worker,用于按 Skill 判断每条规则。
  • parser.provider:文档解析器。
  • runtime.rule_worker_concurrency:规则审核并发数。
  • runtime.max_rules_per_document:单文档同时执行的规则数。

解析服务

Provider 是否需要安装额外工具 是否需要解析 Key 适用场景
local_docx 轻量解析 DOCX/Markdown/TXT,不提供 PDF 页码和坐标
mineru_agent MinerU 轻量解析,适合快速试用,有文件和访问限制
mineru_v4 MinerU 商业解析,适合正式 PDF/DOCX 解析
doc2x / pdf2x Doc2X/PDF2X 商业解析,可获得页级 Markdown
jyppx_tool 本地高精度解析,适合私有化部署和页码/坐标定位
pdf_v1 视服务而定 已有 V1 解析服务兼容入口

执行合同审核时不需要先手工解析。doccheck check 会根据当前 parser.provider 自动调用解析器。

只想测试解析:

doccheck parse "/路径/合同.pdf" -o parsed-output

注意:doccheck parse -o 只控制解析产物目录;doccheck check -o 控制完整审核 Run 的输出目录。

jyppx 本地解析

jyppx_tool 是可选能力,适合已经部署 jyppx/PPX 的本地或私有化环境。公开 README 不应写入任何个人机器路径,实际路径应由安装用户在 onboarding 时填写:

doccheck onboard \
  --parser-provider jyppx_tool \
  --jyppx-python "/path/to/jyppx/.venv/bin/python" \
  --jyppx-runner "/path/to/jyppx/projects/<project>/deliverable/parser.py"

也可以通过环境变量提供路径:

export JYPPX_PYTHON="/path/to/jyppx/.venv/bin/python"
export JYPPX_RUNNER="/path/to/jyppx/projects/<project>/deliverable/parser.py"
doccheck onboard --parser-provider jyppx_tool

jyppx_tool 会把 jyppx deliverable 作为隔离的本地解析工具调用,并消费其输出的 doc.jsontree.json 和 chunks。审核结果可以保留页码、坐标、章节路径和对象类型。

DOCX 会优先通过 jyppx 和 LibreOffice 转换为 PDF,以获得页码和坐标定位。如果 LibreOffice 不可用,CLI 会降级为 DOCX 结构解析并继续审核,不会中断任务。

macOS 安装 LibreOffice:

HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask libreoffice

内置 Skill 与扩展规则

第一版安装后已经内置 5 条 published 正式 Skill。普通用户只需要配置模型和解析服务,然后上传合同即可审核。

后续要扩展规则库时,可以从 Excel 导入:

doccheck skills import-excel 审核规则.xlsx
doccheck skills analyze --rule 103
doccheck skills validate
doccheck skills publish

Skill 生命周期:

pending_deepseek -> deepseek_analyzed -> published

正式审核默认只使用 published Skill。重新分析规则会生成新的草稿版本,不会覆盖已经发布的版本快照。

常用命令

doccheck onboard
doccheck doctor
doccheck doctor --list-models
doccheck doctor --auto-qwen
doccheck check "/路径/合同或合同目录"
doccheck parse "/路径/合同.pdf" -o parsed-output
doccheck runs
doccheck status <run-id>
doccheck retry <run-id>
doccheck retry <run-id> --rule 57
doccheck resume <run-id>
doccheck rename <run-id> "项目名称"
doccheck config show
doccheck shell

Shell 内命令:

/check "/路径/合同或合同目录" --name "批量合同审核"
/parse "/路径/合同.pdf" -o parsed-output
/runs
/status <run-id>
/retry <run-id> --rule 57
/resume <run-id>
/rename <run-id> "项目名称"
/config
/exit

常见问题

如何更新到最新版?

DocCheck 已发布到 PyPI,正常更新使用:

pipx install --force doccheck-cli

如果要安装 GitHub 上的开发版:

pipx install --force git+https://github.com/Mingyu-Xu-98/doccheck-cli.git

Base URL 只能用某个固定地址吗?

不是。DocCheck 接受任意 OpenAI-compatible 模型网关地址,例如阿里百炼、LiteLLM、自建网关或其他兼容服务。用户需要填写自己的 Base URL、模型名和 API Key。

没有 jyppx 可以用吗?

可以。普通用户可以选择 local_docxmineru_agentmineru_v4doc2xpdf2xjyppx_tool 只是本地高精度解析的一种可选部署方式。

结论里能定位原文吗?

取决于解析器能力。jyppx_toolmineru_v4doc2x/pdf2x 更适合输出页码、章节和原文来源;local_docx 更适合低成本 DOCX 文本审核。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doccheck_cli-0.1.1.tar.gz (71.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doccheck_cli-0.1.1-py3-none-any.whl (84.6 kB view details)

Uploaded Python 3

File details

Details for the file doccheck_cli-0.1.1.tar.gz.

File metadata

  • Download URL: doccheck_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 71.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for doccheck_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 86911d0e5d1de511f021cecbda125d40b93b0e9d2708a4329f25aabc36dbef88
MD5 2030e65ea147f145fe021e89845b80ad
BLAKE2b-256 501de4873fa38ac4c14bf2bedb038b1d0de9d77fd1b88bf76e046bb655ff0283

See more details on using hashes here.

File details

Details for the file doccheck_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: doccheck_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 84.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for doccheck_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f500301a6898bd7ceed61df13052a8b5038f2d68f0cfb11c81f3a7b00072bab4
MD5 d0f686498001752fd4885de03ac9c766
BLAKE2b-256 2973d4be43094658ad5793f8dbcc99c93c42d65407396075071ad365b17d810c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page