Install
openclaw skills install book-walker交互式 PDF 逐行阅读器。当用户想要阅读 PDF 文档、控制阅读进度(下一页、上一页、跳转第 X 页)、搜索内容、添加书签、整理 PDF 列表时使用此 skill。支持「开始读」「下一句」「去第 X 页」「搜索」「书签」等自然语言指令。适用于长文档分块阅读、定位特定章节、关键词搜索等场景。
openclaw skills install book-walker交互式PDF逐行阅读器,支持块级/行级翻页、跳转、搜索、书签等功能。
当用户想要阅读PDF文档、通过指令控制阅读进度时使用此skill。
| 指令 | 说明 | 示例 |
|---|---|---|
开始读 <文件> | 打开PDF文件 | 开始读 /path/to/file.pdf |
模式 text / 模式 ocr | 切换提取模式 | 模式 ocr |
下一句 / 继续 | 读取下一块 | 下一句 |
上一句 / 后退 | 返回上一块 | 上一句 |
重读 / 再念一遍 | 重读当前块 | 重读 |
去第X页 | 跳转到指定页 | 去第10页 |
跳到第X块 | 跳转到指定块 | 跳到第5块 |
跳到第X行 | 跳转到指定行 | 跳到第50行 |
搜索 <关键词> | 搜索关键词 | 搜索 机器学习 |
书签 | 查看书签列表 | 书签 |
书签 添加 <备注> | 添加书签 | 书签 添加 重要 |
模板 列表 | 列出可用模板 | 模板 列表 |
模板 使用 <名> | 切换当前模板 | 模板 使用 原文翻译解读 |
模板 定义 <名> <内容> | 定义/覆盖模板 | 模板 定义 简洁 请逐句翻译 |
列出PDF / 列表 | 扫描 workspace 下所有 PDF 并建立索引 | 列出PDF |
进度 | 显示阅读进度 | 进度 |
暂停 | 暂停阅读 | 暂停 |
关闭 | 关闭当前PDF | 关闭 |
帮助 | 显示帮助 | 帮助 |
用户: 列出PDF
助手: 📚 当前 Workspace 可读 PDF 索引
路径: /path/to/workspace-e
━━━━━━━━━━━━━━━━━━━━━━━━
共 3 个 PDF:
1. docs/report.pdf
2. papers/paper.pdf
💡 使用「开始读 1」或「开始读 report.pdf」打开
用户: 开始读 /home/docs/report.pdf
助手: 📄 第1页 · 块1/50 · [██░░░░░░░] 4%
━━━━━━━━━━━━━━━━━━━━━━━━
第一章 项目概述
本报告主要介绍...
用户: 下一句
助手: 📄 第1页 · 块2/50 · [██░░░░░░░] 6%
━━━━━━━━━━━━━━━━━━━━━━━━
1.1 项目背景...
用户: 去第5页
助手: 📄 第5页 · 块20/50 · [████░░░░░] 40%
━━━━━━━━━━━━━━━━━━━━━━━━
第二章 技术方案...
pdf-reader/
├── __init__.py # 主入口
├── reader/
│ ├── types.py # 类型定义
│ ├── exceptions.py # 异常类
│ ├── blocks.py # 数据类
│ ├── parser.py # PDF解析引擎
│ ├── state.py # 状态管理
│ └── cache.py # 缓存管理
├── commands/
│ └── navigation.py # 导航指令
└── ui/
└── formatter.py # 输出格式化
下一句 按块(paragraph)推进模板 定义、模板 使用,skill 不调用 LLM[PDF_READER_TEMPLATE_PAYLOAD] 块,内含 template_prompt、original、page、block_idtemplate_prompt 对 original 加工(如 原文/翻译/解读),将 LLM 输出呈现给用户每个 PDF 有独立目录(~/.cache/pdf-reader/{hash}/),包含:
index.json - 索引(total_pages, page_offsets)p1.json, p2.json ... - 各页块数据state.json - 阅读进度bookmarks.json - 书签PDF Reader 支持两种文本提取模式:
| 模式 | 命令 | 说明 |
|---|---|---|
| 文本模式 | 模式 text | 默认,使用 pdfplumber 直接提取 PDF 文本 |
| OCR 模式 | 模式 ocr | 将页面转为图片后用 tesseract 识别 |
# macOS
brew install tesseract
# Ubuntu
sudo apt install tesseract-ocr
用户: 模式 ocr
助手: ✅ 已切换到 ocr 模式
用户: 开始读 xxx.pdf
助手: (使用 OCR 提取文本...)
text_enhance.py:文本后处理模块
enhance_text() - 智能添加空格is_scanned_pdf() - 检测是否为扫描件parser.py:
_extract_blocks() - 文本提取_extract_blocks_ocr() - OCR 提取