{
  "markdown": "# PaddleOCR Skills\n\n[English](./README.md) | [简体中文](./README_cn.md)\n\n[![skills.sh](https://skills.sh/b/aidenwu0209/paddleocr-skills)](https://skills.sh/aidenwu0209/paddleocr-skills)\n\n> **Upstream refactored the skills in [PR #18090](https://github.com/PaddlePaddle/PaddleOCR/pull/18090)\n> (2026-06-03)** — it removed the bundled `scripts/` and `references/` and switched to the\n> official `paddleocr api` CLI. **This mirror intentionally keeps the script-based version**\n> (which still works and is offline-friendly via `uv`), and additionally documents the CLI as an\n> alternative path. See [Two Ways to Run the Skills](#two-ways-to-run-the-skills) below.\n\n## Discover\n\n- [skills.sh listing](https://skills.sh/aidenwu0209/paddleocr-skills) — **4.3K+ installs**\n  across supported AI agents.\n- [PaddleOCR official website](https://www.paddleocr.com) — API access, tokens, and\n  official product documentation.\n- [DeepSeek Harness GUI edition](https://github.com/Aidenwu0209/dsh-PaddleOCR-Skills) —\n  native tools plus a visual **Settings → PaddleOCR** configuration panel.\n\n## Included Skills\n\n| Skill | Use case | Entry script |\n| --- | --- | --- |\n| `paddleocr-text-recognition` | Extract text from images, scans, and PDF files | `ocr_caller.py` |\n| `paddleocr-doc-parsing` | Parse complex documents into Markdown/structured output | `layout_caller.py` |\n\n## Two Ways to Run the Skills\n\nEach skill can be invoked in two ways. The **bundled scripts are the default path** in this\nmirror; the **`paddleocr` CLI is the upstream-canonical alternative** introduced in #18090.\n\n| | Scripts (default) | `paddleocr` CLI (alternative) |\n| --- | --- | --- |\n| Install | Just `uv` — deps are resolved from PEP 723 inline metadata | `pip install \"paddleocr>=3.7.0\"` |\n| Required env vars | Per-skill `PADDLEOCR_OCR_API_URL` / `PADDLEOCR_DOC_PARSING_API_URL` + `PADDLEOCR_ACCESS_TOKEN` | `PADDLEOCR_ACCESS_TOKEN` only (the CLI resolves the endpoint internally) |\n| Output format | `{ok, text, result, error}` envelope, auto-saved to a temp file | `{jobId, pages:[...]}` printed to stdout |\n| Page selection (PDF) | Pre-split with `scripts/split_pdf.py` | Native `--page_ranges \"1-5,10\"` |\n| Best for | Skills runtimes, airgapped / offline-friendly setups, no extra install | Environments that already ship `paddleocr`, or where you want the upstream flow |\n\n> The two paths return **different output shapes** and read **different environment variables** —\n> they are not output-compatible. Pick one per workflow.\n\nDetailed usage and per-skill examples live in each SKILL.md:\n\n- [paddleocr-text-recognition/SKILL.md](./skills/paddleocr-text-recognition/SKILL.md)\n- [paddleocr-doc-parsing/SKILL.md](./skills/paddleocr-doc-parsing/SKILL.md)\n\n## Requirements\n\n- Python 3.9 or later\n- [`uv`](https://docs.astral.sh/uv/)\n- Internet access\n- PaddleOCR official API credentials from [paddleocr.com](https://www.paddleocr.com)\n\nThe scripts use PEP 723 inline dependency metadata, so there are no separate\n`requirements.txt` files to install.\n\n## Configuration\n\nSet the environment variables required by the skill you want to use:\n\n| Skill | Required | Optional |\n| --- | --- | --- |\n| `paddleocr-text-recognition` | `PADDLEOCR_OCR_API_URL` ending with `/ocr`, `PADDLEOCR_ACCESS_TOKEN` | `PADDLEOCR_OCR_TIMEOUT` |\n| `paddleocr-doc-parsing` | `PADDLEOCR_DOC_PARSING_API_URL` ending with `/layout-parsing`, `PADDLEOCR_ACCESS_TOKEN` | `PADDLEOCR_DOC_PARSING_TIMEOUT` |\n\n> The `PADDLEOCR_*_API_URL` variables above are only required by the **bundled scripts**. If you\n> use the `paddleocr` CLI instead, only `PADDLEOCR_ACCESS_TOKEN` is needed — see the \"Alternative:\n> paddleocr CLI\" section in each SKILL.md.\n\n## Local Usage\n\nRun commands from the corresponding skill directory.\n\n```shell\ncd skills/paddleocr-text-recognition\nuv run scripts/ocr_caller.py --file-path \"/path/to/image-or-document.pdf\" --pretty\n```\n\n```shell\ncd skills/paddleocr-doc-parsing\nuv run scripts/layout_caller.py --file-path \"/path/to/document.pdf\" --pretty\n```\n\n## Install into AI Apps\n\n### One-prompt installation (easiest)\n\nCopy the entire prompt below into Codex, Claude Code, Cursor, OpenCode, OpenClaw,\nor another AI agent that can operate a terminal:\n\n```text\nInstall both Agent Skills from https://github.com/Aidenwu0209/PaddleOCR-Skills on this computer.\n1. Detect the current supported agent and check Node.js/npx, Python 3.9+, and uv. If something is missing, explain it and use its official installer. Do not use sudo or change unrelated system settings without my permission.\n2. Install all skills globally for the detected agent with: npx skills add Aidenwu0209/PaddleOCR-Skills --skill '*' -g -y\n3. Run npx skills list -g --json and verify that both paddleocr-text-recognition and paddleocr-doc-parsing are installed.\n4. Do not invent, expose, or log a PaddleOCR token. Stop at credential configuration, show me the official https://www.paddleocr.com link, and tell me exactly which endpoint/token values are still required.\n5. Report the commands used, install paths, and verification result.\n```\n\nClawHub also provides a small setup skill that performs the same guarded\nrepository installation and verification flow:\n\n```bash\nopenclaw skills install @aidenwu0209/paddleocr-skills-setup\n```\n\nUse the [skills.sh CLI](https://skills.sh/docs/cli) to choose skills and target agents\ninteractively:\n\n```shell\nnpx skills add Aidenwu0209/PaddleOCR-Skills\n```\n\nOr install both included skills globally for a specific agent:\n\n| Agent | Command |\n| --- | --- |\n| Codex | `npx skills add Aidenwu0209/PaddleOCR-Skills --agent codex --skill '*' -g -y` |\n| Claude Code | `npx skills add Aidenwu0209/PaddleOCR-Skills --agent claude-code --skill '*' -g -y` |\n| GitHub Copilot | `npx skills add Aidenwu0209/PaddleOCR-Skills --agent github-copilot --skill '*' -g -y` |\n| OpenClaw | `npx skills add Aidenwu0209/PaddleOCR-Skills --agent openclaw --skill '*' -g -y` |\n\nGitHub CLI 2.90.0+ also provides native Agent Skills installation:\n\n```shell\ngh skill install Aidenwu0209/PaddleOCR-Skills --all --agent github-copilot --scope user\n```\n\nFor Claude Code plugin development or local testing, clone the repository and load its\n[`plugin.json`](./.claude-plugin/plugin.json):\n\n```shell\ngit clone https://github.com/Aidenwu0209/PaddleOCR-Skills.git\nclaude --plugin-dir ./PaddleOCR-Skills\n```\n\nTo install directly from a local checkout instead:\n\n```shell\nnpx skills add ./skills/paddleocr-text-recognition -g -y\nnpx skills add ./skills/paddleocr-doc-parsing -g -y\n```\n\nOr install through OpenClaw:\n\n```shell\nclawhub install paddleocr-text-recognition\nclawhub install paddleocr-doc-parsing\n```\n\n## Documentation\n\n- Official documentation mirror: [docs/version3.x/deployment/skills.en.md](./docs/version3.x/deployment/skills.en.md)\n- Chinese official documentation mirror: [docs/version3.x/deployment/skills.md](./docs/version3.x/deployment/skills.md)\n- Quick reference: [docs/QUICK_REFERENCE.md](./docs/QUICK_REFERENCE.md)\n- Large file guide: [docs/LARGE_FILES.md](./docs/LARGE_FILES.md)\n\n## License\n\nApache-2.0. See [LICENSE](./LICENSE).\n",
  "bytes": 7078,
  "sha": "0e184c40c2854886f9bbf470ce01dfdbde52fbf263f8b5220446bf01306f437e",
  "repo_slug": "aidenwu0209/paddleocr-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_aidenwu0209_paddleocr_skills_paddleocr_t_4061103f/readme"
}