Install
openclaw skills install byted-las-pdf-parse-doubaoParses and reads PDF documents into structured Markdown text using Volcengine LAS Doubao AI models. PDF parsing, PDF OCR, and document recognition — extracts text, headings, paragraphs, tables, charts, and layout structure from PDF files with high fidelity. Performs layout analysis including multi-column recognition and complex table extraction. Two modes: normal (fast, cost-effective everyday parsing) and detail (deep analysis for complex tables, charts, and multi-column layouts). Converts PDF to Markdown, PDF to text, and structured data. Digitizes scanned PDF documents and scanned images via OCR. Supports TOS paths, HTTP URLs, and local file upload. Async submit-poll workflow with batch processing support. Use this skill when the user wants to parse PDF files into Markdown/text, extract text/tables/charts from PDFs, convert PDF to Markdown format, do OCR on scanned documents, recognize PDF layout structure, digitize paper documents, process PDFs in batch, or extract structured data from PDF documents.
openclaw skills install byted-las-pdf-parse-doubaolas_pdf_parse_doubao)将 PDF 解析为 Markdown 格式文本,保留标题/段落/表格结构。支持 normal(快速)和 detail(深度分析)两种模式。
本 skill 主要采用:
lasutil CLI 调用las_pdf_parse_doubaosubmit → poll)LAS_API_KEY (必填)详细参数与接口定义见 references/api.md。
normal 速度快,推荐默认;detail 适合复杂排版文档,耗时更长且费用翻倍。env.sh 并写入 export LAS_API_KEY="...",SDK 会自动读取。复制此清单并跟踪进度:
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 提交任务
- [ ] Step 4: 异步查询
- [ ] Step 5: 结果呈现
在接受用户的任务后,不要立即开始执行,必须首先进行以下环境检查:
LAS_API_KEY 与 LAS_REGION:确认环境变量或 .env 中是否已配置。
LAS_REGION 常见为 cn-beijing)。LAS_REGION 必须与您的 API Key 及 TOS Bucket 所在的地域完全一致。如果用户中途切换了 Region,必须提醒用户其 TOS Bucket 也需对应更换,否则会导致权限异常或上传失败。LAS_API_KEY,无需额外 TOS 凭证)。VOLCENGINE_ACCESS_KEY 和 VOLCENGINE_SECRET_KEY。对于仅需要上传输入文件的场景,TOS 凭证不再必须。环境初始化(Agent 必做):
# 执行统一的环境初始化与更新脚本(会自动创建/激活虚拟环境,并检查更新)
source "$(dirname "$0")/scripts/env_init.sh" las_pdf_parse_doubao
workdir=$LAS_WORKDIR
如果网络问题导致更新失败,脚本会跳过检查,使用本地已安装的 SDK 继续执行。
LAS_API_KEY,无需 TOS 凭证和 Bucket):
lasutil file-upload <local_path>
上传成功后返回 JSON,取其中的 presigned_url(HTTPS 预签名下载链接,24 小时有效)传给算子作为输入 URL。lasutil pdf-pages <pdf_url>
parse_mode 单价计算总价,将计费单价与预估总价一并告知用户并强制暂停执行,明确等待用户回复确认。在用户明确回复"继续"、"确认"等同意指令前,绝对禁止进入下一步(执行/提交任务)。提示:预估仅供参考,实际以火山账单为准。计费说明请参考 Volcengine LAS 定价。构造基础 data.json:
{
"url": "<presigned_url>",
"parse_mode": "normal"
}
data=$(cat "$workdir/data.json")
lasutil submit las_pdf_parse_doubao "$data" > "$workdir/submit.json"
⚠️ 强制反馈:任务提交成功后,必须立即向用户返回生成的 task_id,以便用户跟踪进度或在必要时手动查询。
⚠️ 异步任务与后台轮询约束:
sleep 循环会导致超时崩溃:绝对禁止在代码中执行死循环等待! 此时必须立即向用户输出 Task ID 并结束当前轮次,告知用户:"任务已提交,请稍后向我询问进度"。mkdir -p "./output/{task_id}"
lasutil poll las_pdf_parse_doubao {task_id} > "./output/{task_id}/result.json"
# 若解析完成,提取 Markdown
cat "./output/{task_id}/result.json" | jq -r '.data.markdown // empty' > "./output/{task_id}/parsed.md"
COMPLETED → 结果已保存至 ./output/{task_id}/parsed.md。RUNNING/PENDING → 稍后重试。处理结果:
# 保存结果到本地
mkdir -p "./output/{task_id}"
cat "./output/{task_id}/result.json" | jq -r '.data.markdown' > "./output/{task_id}/parsed.md"
cat "./output/{task_id}/result.json" | jq '.data.detail' > "./output/{task_id}/pages_detail.json"
上传结果文件(可选):
# 上传 Markdown 文件供用户下载
lasutil file-upload "./output/{task_id}/parsed.md"
lasutil file-upload "./output/{task_id}/pages_detail.json"
向用户展示:
./output/{task_id}/执行完成后,Agent 应自检: