book-walker

交互式 PDF 逐行阅读器。当用户想要阅读 PDF 文档、控制阅读进度(下一页、上一页、跳转第 X 页)、搜索内容、添加书签、整理 PDF 列表时使用此 skill。支持「开始读」「下一句」「去第 X 页」「搜索」「书签」等自然语言指令。适用于长文档分块阅读、定位特定章节、关键词搜索等场景。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "book-walker" with this command: npx skills add youngandsure/book-walker

Deep Reading Skill

交互式PDF逐行阅读器,支持块级/行级翻页、跳转、搜索、书签等功能。

触发方式

当用户想要阅读PDF文档、通过指令控制阅读进度时使用此skill。

功能

  • 📖 打开PDF: 加载PDF文件并开始阅读
  • ➡️ 下一句: 读取下一块/行内容
  • ⬅️ 上一句: 返回上一块/行
  • 🔄 重读: 重新读取当前内容
  • 📑 跳转: 支持页码跳转、块跳转
  • 🔍 搜索: 关键词全文搜索
  • 🔖 书签: 添加和管理书签
  • 📊 进度: 显示阅读进度

指令列表

指令说明示例
开始读 <文件>打开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   # 输出格式化

MVP 范围

  • ✅ 可搜索PDF(非扫描件)
  • ✅ 单栏布局
  • ✅ 无页数限制(按需解析+落盘)
  • ✅ 块级翻页
  • ✅ 页码跳转
  • ✅ 进度显示
  • ✅ 书签(按 PDF 持久化)

技术依赖

  • pdfplumber: 文本/表格提取
  • PyMuPDF: 图片提取

模板与 Agent LLM 加工

  • 块级导航下一句 按块(paragraph)推进
  • 模板:用户可 模板 定义模板 使用,skill 不调用 LLM
  • Structured Payload:当使用非默认模板时,skill 在输出末尾附加 [PDF_READER_TEMPLATE_PAYLOAD] 块,内含 template_promptoriginalpageblock_id
  • Agent 职责:解析该 payload 后,由 Agent 调用 LLMtemplate_promptoriginal 加工(如 原文/翻译/解读),将 LLM 输出呈现给用户

存储结构

每个 PDF 有独立目录(~/.cache/pdf-reader/{hash}/),包含:

  • index.json - 索引(total_pages, page_offsets)
  • p1.json, p2.json ... - 各页块数据
  • state.json - 阅读进度
  • bookmarks.json - 书签

注意事项

  1. MVP版本不支持扫描件PDF(需要OCR)
  2. MVP版本不支持多栏布局
  3. 大文件可能需要较长的初始加载时间
  4. 书签与解析结果、进度均按 PDF 分目录保存,切换 PDF 即切换目录

PDF 文本提取说明

提取模式

PDF Reader 支持两种文本提取模式:

模式命令说明
文本模式模式 text默认,使用 pdfplumber 直接提取 PDF 文本
OCR 模式模式 ocr将页面转为图片后用 tesseract 识别

文本模式

  • 适用于:大多数正常 PDF
  • 优点:速度快
  • 问题:部分 PDF(老版本 LaTeX 生成)文本流没有空格

OCR 模式

  • 适用于:扫描件PDF、文本提取有问题的 PDF
  • 优点:识别准确
  • 缺点:速度较慢
  • 需要安装 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 提取

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

low-carbon-medicine

低碳生活方式医学咨询。当用户提到低碳饮食、生酮饮食、减肥控糖、糖尿病逆转、代谢综合征、胰岛素抵抗时触发。

Registry SourceRecently Updated
General

x0x-api-smoketest-1777556197822

Scratch skill used to validate CI API publish flow before merge.

Registry SourceRecently Updated
General

java-circular-dependency-breaker

Break circular dependencies in Java multi-module Gradle/Maven projects using interface extraction and business service separation. Triggers: 'circular depend...

Registry SourceRecently Updated
General

Options Trading Brain

Professional options trading intelligence system. Monitors whale flow (Unusual Whales), counts Elliott Waves, analyzes Bollinger Bands, multi-timeframe trend...

Registry SourceRecently Updated