本文讲述从一个老同学的实际需求(小众书籍扫描版 pdf 转文字版 epub,并且保留人物和时间的下划线格式)出发,使用 Codex 做出一个 Skills,并分享和使用的过程。
需求来源
今天一个老同学问我,除了 Zlibrary 之外,还有没有下载电子书的网站。他的需求是,一些想看的书网上只能找到扫描版 pdf,清晰度不够,并且移动端读起来不方便。纸质版呢,他买了,但是又不能光明正大拿到办公室看。

还有为啥不用微信读书呢?因为压根没上架啊。

一些受众相对较小的书籍,很可能没有人专门去制作 epub,扫描个 pdf 放到网上已经是极限了。这真的属于极小众的诉求了。
我尝试用 Codex 来解决这个问题,并沉淀为可复用的 Skills。
1)初始轮

帮我把给你的 PDF 转车 epub,要保证排版和目录正确,你可以做几页示例,不用先全部做完。
遇到问题:Codex 识别到文件是扫描版,于是为了保持排版的一致性,选择了将图片复制,然后放到了 epub 中,这当然不是我们想要的结果。
2)确认我需要的是文字版本的 epub
no,我想要的是文字版本的哦,另外,你看文中人名都是有下划线的,这个我也想保留,能够帮助我阅读
遇到问题:结果基本可用了,但是在微信读书中无法展示划线。
3)支持微信读书下划线
我在本地一个 epub 阅读器上可以看到下划线,在微信读书 app 上阅读,怎么看不到下划线了?


4)微信读书划线的几轮优化
经过上次的提示词,微信读书 app 上可以看到划线了,但是样式略微有点丑:

之后进行了几轮对话,对样式进行优化。但是又遇到一个问题,在微信读书网页端的展示不正常。Codex 说是 App 端和网页端要支持划线,格式得不一样。最后灵机一动选择了一个更好的处理方式:通过固定下划线内容的字体,来和其他文字进行区分。
我想到一个统一的好办法,是不是可以把目前有下划线的内容固定成某个字体,不随字体设置变动,这样一眼就能区分了。

制作成Skills
1)制作初版
整体流程我觉得算是跑通了。我们来创建一个 Skills,应对后续类似的需求
2)分享给他人
我想分享给其他人使用,该怎么做?
Codex 有两种建议,一是打包传给别人,再解压到对应 Agent 的 Skills 目录。二是上传到 GitHub。我采用了第二种:
我想走 GitHub 分享的路径,你帮我搞定,我直接把命令告诉我分享的对象完事
3)兼容 windows
由于我实在 macOS 上进行调试,OCR 的工具使用的是 macOS 的工具,需要能够兼容 windows 用户:
让这个 skill 能在 windows 上使用
这样,我的同学只需要在他的 Agent 里面这么使用了:
安装。请安装这个 Skill,并在之后处理扫描版中文 PDF 转微信读书 EPUB 时使用它:
https://github.com/longhaiqwe/scanned-pdf-to-weread-epub使用 scanned-pdf-to-weread-epub,把这个扫描版中文 PDF 转成适合微信读书的文字 EPUB
测试
完成后,我让他同步测试去了。我也在本机开始测试:
现在开始把我一开始给你的整本书都处理一下。
接下来,我要去泡杯咖啡,做几组运动,然后回来查看结果。
34min 之后,任务搞定。

我发给了我的同学,他说效果还不错。

你有类似的小众需求吗?可以去试用一下这个 Skills:scanned-pdf-to-weread-epub(https://github.com/longhaiqwe/scanned-pdf-to-weread-epub)。
你开始使用类似 Codex 的 Agent 吗?创造或者使用过 Skills 吗?想想这些问题,然后动手去试试,跟上时代潮流啊。
夜雨聆风