🧪 Skills
easydoc-parse
Use when tasks need EasyDoc REST API to convert unstructured documents into structured JSON or markdown on either China EasyLink platform or global EasyDoc p...
v1.0.1
Description
name: easylink-easydoc-parse description: "Use when tasks need EasyDoc REST API to convert unstructured documents into structured JSON or markdown on either China EasyLink platform or global EasyDoc platform. Trigger for requests about POST /v1/easydoc/parse and GET /v1/easydoc/parse/{task_id} (cn), POST /api/v1/parse and GET /api/v1/parse/{task_id}/result (global), selecting parse mode (cn: easydoc-parse-flash or easydoc-parse-premium, global: lite), normalizing parse output for LLM pipelines, and handling RAG retrieval against parsed JSON by using the host agent's text-search tool before any full-file loading." metadata: short-description: Parse docs via EasyDoc CN and Global REST APIs openclaw: requires: env: - EASYLINK_API_KEY - EASYDOC_API_KEY bins: - python3 - curl primaryEnv: EASYLINK_API_KEY
EasyLink EasyDoc Parse
Overview
Use this skill to call EasyDoc async parsing APIs and return stable structured output. Always follow the same lifecycle: select platform, validate inputs, submit task, poll result, normalize output.
RAG Retrieval
If the parsed output is being used for RAG, do not load the entire JSON file into context by default.
- Use grep-style search first
- If the host agent provides a text-search tool such as
Grep,Search, or equivalent "search within file content" capability, use that tool first. - Prefer grep-style search to locate candidate passages, headings, node ids, table markers, or metadata fields inside parsed JSON.
- Search for user query terms, entity names, date ranges, section headers, and node
typevalues before opening any large file. - Do not introduce a custom in-skill Python search script for this retrieval path.
- Do not shell out to
greporrgif the host agent already exposes an equivalent search tool.
- Read only local slices
- After the search tool identifies relevant hits, read only the matching lines or a narrow surrounding window.
- Extract only the needed nodes, sections, or pages for downstream summarization or embedding.
- Escalate to full-load only when necessary
- Load the full JSON only when the task truly requires global document structure, full-tree reconstruction, or complete export.
- If full-load is required, say why.
Onboarding
If user has no API key, guide first:
cnplatform key flow
- Open
https://platform.easylink-ai.com - Register or sign in
- Enter API key management page and create a key
- Store as
EASYLINK_API_KEY
globalplatform key flow
- Open
https://platform.easydoc.sh - Register or sign in
- Enter API key management page and create a key
- Store as
EASYDOC_API_KEY
When user does not specify platform, ask whether they want cn or global first.
Platform Selection
Choose platform before calling any endpoint:
cnplatform
- Base URL:
https://api.easylink-ai.com - Submit:
POST /v1/easydoc/parse - Poll:
GET /v1/easydoc/parse/{task_id} - File form field:
files - Recommended modes:
easydoc-parse-flash,easydoc-parse-premium
globalplatform
- Base URL:
https://api.easydoc.sh - Submit:
POST /api/v1/parse - Poll:
GET /api/v1/parse/{task_id}/result - File form field:
file - Recommended mode:
lite
Workflow
- Validate request inputs
- Require
api-keyfrom user input or secure environment variable. - Require parse mode when needed; if omitted in script mode, use platform default (
cn:easydoc-parse-premium,global:lite). - Validate file type and size (
<= 100MB) using platform-specific extension list. - If key is missing, return platform-specific onboarding steps and expected env var name.
- Submit async parse task
- Use platform-specific submit URL and form-data file field.
- Include
mode. - Read
task_idfrom response.
- Poll task status
- Use platform-specific result endpoint.
- Continue polling while task is pending or processing.
- Stop on terminal status (
SUCCESS,ERROR,FAILED,COMPLETED,DONE) or timeout.
- Normalize output
- Keep raw response as
raw. - Return stable envelope for downstream consumers:
task_id,status,files.
- Handle failures predictably
- Include
task_idin error reports when available. - Report HTTP status and response body for API errors.
- For parse failures, suggest mode switch or resubmission.
- Apply RAG-safe retrieval
- When parsed JSON is large, use the host agent's text-search tool or equivalent grep-style retrieval before any full read.
- Avoid pasting or loading entire parsed payloads into context unless the task depends on full-document traversal.
Quick Commands
China platform:
curl -X POST "https://api.easylink-ai.com/v1/easydoc/parse" \
-H "api-key: $EASYLINK_API_KEY" \
-F "files=@document.pdf" \
-F "mode=easydoc-parse-premium"
Global platform:
curl -X POST "https://api.easydoc.sh/api/v1/parse" \
-H "api-key: $EASYDOC_API_KEY" \
-F "file=@demo_document.pdf" \
-F "mode=lite"
Bundled Python helper:
python3 scripts/easydoc_parse.py --platform cn --api-key "$EASYLINK_API_KEY" \
--mode easydoc-parse-premium --file ./document.pdf --save ./result-cn.json
python3 scripts/easydoc_parse.py --platform global --api-key "$EASYDOC_API_KEY" \
--mode lite --file ./document.pdf --save ./result-global.json
# key can come from environment if --api-key is omitted
export EASYLINK_API_KEY="your-cn-key"
python3 scripts/easydoc_parse.py --platform cn --file ./document.pdf --save ./result-cn.json
export EASYDOC_API_KEY="your-global-key"
python3 scripts/easydoc_parse.py --platform global --file ./document.pdf --save ./result-global.json
References And Scripts
- Read
references/easydoc-rest-api.mdfor endpoint-level differences between cn and global. - Use
scripts/easydoc_parse.pyfor deterministic submit and polling. - Script default output is
normalized; use--output-format rawfor raw payload only. - In RAG workflows, prefer the host agent's built-in content search tool on saved JSON results before opening large file sections.
Output Contract
{
"task_id": "string",
"status": "SUCCESS|ERROR|PENDING|PROCESSING|FAILED|COMPLETED|DONE",
"files": [
{
"file_name": "string",
"markdown": "string or null",
"nodes": []
}
],
"raw": {}
}
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!