
源码系统概览
book-to-skill 把技术书籍与文档蒸馏成结构化 Agent 技能,让编码助手按需读取章节作答。
文章正文
book-to-skill 是一款用 Python 编写的书籍转技能工具,目标是把任何技术书、文档目录或资料集合转换成统一的 Agent 技能,供 GitHub Copilot CLI、Amp 或 Claude Code 在工作时按需学习、引用和使用。
它把整本书蒸馏为结构化的技能文件,而不是简单摘要,使用时输入斜杠命令让智能体读取对应章节并从真实内容作答,避免凭记忆编造。
相比把整本书直接塞进上下文,官方实测回答单个问题可节省 24 到 51 倍的 token 消耗。
项目完全在本地处理文档,不上传任何文件,支持 PDF、EPUB、DOCX、Markdown、HTML、RTF、MOBI 等主流格式,本页提供源码免费下载。
技术架构与部署指南
源码简介
book-to-skill 采用两段式架构:前半段是确定性的 Python 提取器,把文档转成干净文本与元数据;
后半段是规范驱动的生成器,由智能体按照内置 SKILL.md 的步骤把文本组织成结构化技能。
生成产物包括承载核心心智模型与章节索引的 SKILL.md、按需加载的分章文件 chapters、术语表 glossary、模式库 patterns 与速查表 cheatsheet,章节文件只在问到对应主题时才计入技能预算。
项目支持单文件、文件夹与通配符输入,提供 analyze-only、从分析结果生成、更新合并等多种运行模式;
仓库还附带打包好的桌面 GUI(ui 目录 zip),首次运行会自动解压并启动。
项目基于 virgiliojr94 的 book-to-skill 演进而来,遵循开源 Agent Skills 标准,同一份 SKILL.md 可被多个宿主读取。
适用场景
适合想把技术书变成随身知识的开发者:买过的书读完就忘,装成技能后随时用斜杠命令提问。
也适用于内部文档(ADR、runbook、新人指南)、品牌与设计规范、论文与笔记研究集,以及 RFC、API 合同、合规文档等规范类材料——凡是会反复翻阅的长文档都适合。
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 项目使用 Python 3.9 以上版本,hatchling 构建,ruff 做代码检查,pytest 跑测试,命令行入 | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 推荐以技能方式安装:
pip install -e . 后执行 book-to-skill install,会自动 |
多托管于第三方平台或订阅云服务 |
| 功能侧重 | 多格式输入:PDF、EPUB、DOCX、MD、HTML、RTF、MOBI/AZW/AZW3 及多种文本格式,每种格式都有 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
项目使用 Python 3.9 以上版本,hatchling 构建,ruff 做代码检查,pytest 跑测试,命令行入口为 book-to-skill。
PDF 提取按顺序回退 pdftotext(poppler)、pypdf、pdfminer.six,代码表格密集的技术书推荐 docling;
EPUB 使用 ebooklib 与 beautifulsoup4,MOBI/AZW 依赖 Calibre 的 ebook-convert,DOCX/RTF 也有对应可选依赖,纯文本与 Markdown 零依赖。
功能亮点
多格式输入:PDF、EPUB、DOCX、MD、HTML、RTF、MOBI/AZW/AZW3 及多种文本格式,每种格式都有多级提取器回退。
按需加载:章节文件独立存放,技能加载体积小,提问时才读对应章节。结构化产物:心智模型、决策规则、反模式、术语表、模式库与速查表一应俱全。
本地隐私:处理全程在本机完成,文件不会上传。跨宿主兼容:同一技能适用于 Claude Code、GitHub Copilot CLI 与 Amp。
开发友好:提供技能目录一键安装、环境检测命令与桌面 GUI。
安装与部署提示
推荐以技能方式安装:
pip install -e . 后执行 book-to-skill install,会自动复制到 ~/.claude/skills、~/.agents/skills 与 ~/.copilot/skills 等目录。
转换书籍直接运行 book-to-skill 书籍路径 或带通配符的路径并指定技能名;book-to-skill –check 可检测各格式提取器是否可用。
扫描版 PDF 需要先用 ocrmypdf 做 OCR 再转换,缺失的可选依赖可用 pip install book-to-skill[all] 一次补齐。
截图与演示说明
项目 README 使用 Booklin 吉祥物横幅作为主视觉:魔法师手捧翻开的书,书页散成星光后落成有序网格,寓意把整本书蒸馏成结构化技能的过程。
docs/assets 目录还收录了 logo、书签卡片等多张品牌素材图。
以下为 README 主横幅,完整展示了项目定位与吉祥物形象。

常见问题
问:book-to-skill 会复述书的原文吗。
答:不会。输出是框架、定义与要点组成的结构化笔记,不复制长段落,也不允许分发受版权保护的生成技能。
问:支持哪些智能体宿主。
答:任何实现开源 Agent Skills 标准的宿主都可以,包括 Claude Code、GitHub Copilot CLI 与 Amp。
问:我的文档会被上传吗。
答:处理在本地完成,工具不会上传文档内容。
问:需要安装哪些依赖。
答:纯文本与 Markdown 无需额外依赖,PDF/EPUB 等格式按需安装可选依赖或系统工具,可用 –check 命令检测。
安全风险提示
源码审计未发现 eval、危险反序列化、混淆或后门代码。
需注意两点:
内置匿名遥测 beacon 会在首次运行等事件时向第三方 workers.dev 端点上报主机名、系统类型与仓库名等基础信息(5 秒超时静默失败,可用 BOOK_TO_SKILL_STATS_URL 环境变量覆盖重定向,但不可直接关闭),介意隐私可改环境变量或自行禁用;
提取过程会调用系统工具并自动安装可选依赖,建议在可信环境中使用。
下载说明
本源码仅供学习研究、测试部署和二次开发参考。
下载后请遵守 MIT 开源协议并保留版权声明;请仅处理自己拥有版权或有权阅读的文档,不要分发由受版权保护作品生成的技能文件。
如需最新版本,可前往源码仓库查看。
GitHub项目开源地址:https://github.com/Leutenegger/book-to-skill