# Send laiye-doc-processing to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "laiye-doc-processing",
    "name": "laiye-doc-processing",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Jeane-li/laiye-doc-processing",
    "canonicalUrl": "https://clawhub.ai/Jeane-li/laiye-doc-processing",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/laiye-doc-processing",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=laiye-doc-processing",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "package.json",
      "README.md",
      "SKILL.md",
      "_meta.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "laiye-doc-processing",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-12T05:38:56.308Z",
      "expiresAt": "2026-05-19T05:38:56.308Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=laiye-doc-processing",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=laiye-doc-processing",
        "contentDisposition": "attachment; filename=\"laiye-doc-processing-1.10.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "laiye-doc-processing"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/laiye-doc-processing"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/laiye-doc-processing",
    "downloadUrl": "https://openagent3.xyz/downloads/laiye-doc-processing",
    "agentUrl": "https://openagent3.xyz/skills/laiye-doc-processing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/laiye-doc-processing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/laiye-doc-processing/agent.md"
  }
}
```
## Documentation

### Laiye Agentic Document Processing (ADP)

Agentic Document Processing API — convert 10+ file formats (.jpeg, .jpg, .png, .bmp, .tiff, .pdf, .doc, .docx, .xls, .xlsx) to structured JSON/Excel with per-field confidence scores using VLM and LLM.

Base URL: https://adp-global.laiye.com/?utm_source=clawhub

### Quick Start

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d '{
    "app_key": "$ADP_APP_KEY",
    "app_secret": "$ADP_APP_SECRET",
    "file_url": "https://example.com/invoice.pdf"
  }'

Response:

{
  "status": "success",
  "extraction_result": [
    {
      "field_key": "invoice_number",
      "field_value": "INV-2024-001",
      "field_type": "text",
      "confidence": 0.95,
      "source_pages": [1]
    },
    {
      "field_key": "total_amount",
      "field_value": "1000.00",
      "field_type": "number",
      "confidence": 0.98,
      "source_pages": [1]
    }
  ]
}

### 1. Get Your API Credentials

# Contact ADP service provider to obtain:
# - app_key: Application access key
# - app_secret: Application secret key
# - X-Access-Key: Tenant-level access key

Save your credentials:

export ADP_ACCESS_KEY="your_access_key_here"
export ADP_APP_KEY="your_app_key_here"
export ADP_APP_SECRET="your_app_secret_here"

### 2. Configuration (Optional)

Recommended: Use environment variables (most secure):

{
  skills: {
    entries: {
      "adp-doc-extraction": {
        enabled: true,
        // API credentials loaded from environment variables
      },
    },
  },
}

Security Note:

Set file permissions: chmod 600 ~/.openclaw/openclaw.json
Never commit this file to version control
Prefer environment variables or secret stores
Rotate credentials regularly

### Extract from File URL

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d '{
    "app_key": "'"$ADP_APP_KEY"'",
    "app_secret": "'"$ADP_APP_SECRET"'",
    "file_url": "https://example.com/document.pdf"
  }'

### Extract from Base64

# Convert file to base64
file_base64=$(base64 -i document.pdf | tr -d '\\n')

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d "{
    \\"app_key\\": \\"$ADP_APP_KEY\\",
    \\"app_secret\\": \\"$ADP_APP_SECRET\\",
    \\"file_base64\\": \\"$file_base64\\",
    \\"file_name\\": \\"document.pdf\\"
  }"

### Extract with VLM Results

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d '{
    "app_key": "'"$ADP_APP_KEY"'",
    "app_secret": "'"$ADP_APP_SECRET"'",
    "file_url": "https://example.com/document.pdf",
    "with_rec_result": true
  }'

Access VLM results: response["doc_recognize_result"]

### Async Extraction (Large Documents)

Create extraction task:

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract/create/task" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d '{
    "app_key": "'"$ADP_APP_KEY"'",
    "app_secret": "'"$ADP_APP_SECRET"'",
    "file_url": "https://example.com/large-document.pdf"
  }'

# Returns: {"task_id": "task_id_value", "metadata": {...}}

Poll for results:

curl -X GET "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/extract/query/task/{task_id}" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY"

### Custom Scale Parameter

Enhance VLM quality with higher resolution:

# model_params: { "scale": 2.0 }

### Specify Config Version

Use a specific extraction configuration:

# model_params: { "version_id": "config_version_id" }

### Document Recognition Only

Get VLM results without extraction:

curl -X POST "https://adp-global.laiye.com/open/agentic_doc_processor/laiye/v1/app/doc/recognize" \\
  -H "Content-Type: application/json" \\
  -H "X-Access-Key: $ADP_ACCESS_KEY" \\
  -H "X-Timestamp: $(date +%s)" \\
  -H "X-Signature: $(uuidgen)" \\
  -d '{
    "app_key": "'"$ADP_APP_KEY"'",
    "app_secret": "'"$ADP_APP_SECRET"'",
    "file_url": "https://example.com/document.pdf"
  }'

### Use ADP For:

Invoice processing
Order processing
Receipt processing
Financial document processing
Logistics document processing
Multi-table document data extraction

### Don't Use For:

Video transcription
audio transcription

### Best Practices

Document SizeEndpointNotesSmall files/doc/extract (sync)Immediate responseLarge files/doc/extract/create/task (async)Poll for results

File Input:

file_url: Prefer for large files (already hosted)
file_base64: Use for direct upload (max 20MB)

Confidence Scores:

Range: 0-1 per field
Review fields with confidence <0.8 manually

Response Structure:

extraction_result: Array of extracted fields
doc_recognize_result: VLM results (when with_rec_result=true)
metadata: Processing info (pages, time, model)

### Success Response

{
  "status": "success",
  "message": "string",
  "extraction_result": [
    {
      "field_key": "string",
      "field_value": "string",
      "field_type": "text|number|date|table",
      "confidence": 0.95,
      "source_pages": [1],
      "table_data": [...]  // for field_type="table"
    }
  ],
  "doc_recognize_result": [...],  // when with_rec_result=true
  "extract_config_version": "string",
  "metadata": {
    "total_pages": 5,
    "processing_time": 8.2,
    "model_used": "gpt-4o"
  }
}

### Error Response

{
  "detail": "Error message description"
}

### Invoice/Receipt Extraction

Extracts: invoice_number, invoice_date, vendor/customer_name, currency, vat_rate, total_amount_including_tax, total_amount_excluding_tax, line_items, etc.

### Purchase Order Extraction

Extracts: order_number, order_date, buyer_name/seller_name, address, total_amount, line_items, etc.

### Data Handling

Important: Documents uploaded to ADP are transmitted to https://adp-global.laiye.com/?utm_source=clawhub and processed on external servers.

Before uploading sensitive documents:

Review ADP privacy policy and data retention policies
Verify encryption in transit (HTTPS) and at rest
Confirm data deletion/retention timelines
Test with non-sensitive sample documents first

Best practices:

Do not upload highly sensitive PII until you've confirmed security posture
Use credentials with limited permissions if available
Rotate credentials regularly (every 90 days recommended)
Monitor API usage logs for unauthorized access
Never log or commit credentials to repositories

### File Size Limits

Max file size: 50MB
Supported formats: .jpeg, .jpg, .png, .bmp, .tiff, .pdf, .doc, .docx, .xls, .xlsx
Concurrency limit: Free users support 1 concurrent request, paid users support 2 concurrent requests
Timeout: 10 minutes for sync requests

### Operational Safeguards

Always use environment variables or secure secret stores for credentials
Never include real credentials in code examples or documentation
Use placeholder values like "your_access_key_here" in examples
Set appropriate file permissions on configuration files (600)
Enable credential rotation and monitor usage

### Billing

Processing StageCostDocument Parsing0.5 credits/pagePurchase Order Extraction1.5 credits/pageInvoice/Receipt Extraction1.5 credits/pageCustom Extraction1 credit/page

New users: 100 free credits per month, no application restrictions.

### Troubleshooting

Error CodeDescriptionCommon Causes & Solutions400 Bad RequestInvalid request parameters• Missing app_key or app_secret<br>• Must provide exactly one input: file_url or file_base64<br>• Application has no published extraction config401 UnauthorizedAuthentication failed• Invalid X-Access-Key<br>• Incorrect timestamp format (use Unix timestamp)<br>• Invalid signature format (must be UUID)404 Not FoundResource not found• Application does not exist<br>• No published extraction config found for the application500 Internal Server ErrorServer-side processing error• Document conversion failed<br>• VLM recognition timeout<br>• LLM extraction failureSync TimeoutRequest processing timed out• Large files should use async endpoint<br>• Poll /query/task/{task_id} for results

### Pre-Publish Security Checklist

Before publishing or updating this skill, verify:

package.json declares requiredEnv and primaryEnv for credentials
 package.json lists API endpoints in endpoints array
 All code examples use placeholder values not real credentials
 No credentials or secrets are embedded in SKILL.md or package.json
 Security & Privacy section documents data handling and risks
 Configuration examples include security warnings for plaintext storage
 File permission guidance is included for config files

### References

ADP Product Manual: ADP Product Manual (SaaS)
ADP API Documentation: Open API User Guide
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Jeane-li
- Version: 1.3.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-12T05:38:56.308Z
- Expires at: 2026-05-19T05:38:56.308Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/laiye-doc-processing)
- [Send to Agent page](https://openagent3.xyz/skills/laiye-doc-processing/agent)
- [JSON manifest](https://openagent3.xyz/skills/laiye-doc-processing/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/laiye-doc-processing/agent.md)
- [Download page](https://openagent3.xyz/downloads/laiye-doc-processing)