Papermorph 深度评测:1,583 Star 的教学技能,把教材 PDF 变成 68 章能点能听的网页课

Papermorph 深度评测:1,583 Star 的教学技能,把教材 PDF 变成 68 章能点能听的网页课

你手上有本教材的 PDF,想让 AI 把它变成课。现在能拿到的基本是两种东西:一份排版整齐的讲稿,或者一堆散装幻灯片。两者有个共同毛病——还得学生自己读。没人念给他听,图不会跟着讲解一步步长出来,学没学会也没人知道。

Papermorph 交出来的东西不是文档,是一本能在浏览器里点、能听、能暂停回退的书。仓库里摆着 68 章的《初等代数》、40 章的《线性代数》,还有纸偶绘本动画和十分钟的纪录片。它 40 天拿到 1,583 颗星。我把整个仓库拉进隔离沙箱,把它自带的检查跑了一遍:自检确实抓得住错误,但这条流水线的代价比我预想的重。

一、它交出来的是什么:一本能点的书,不是一份讲稿

按作者自己的分法,这技能会做三种书。

第一种是课,从教材 PDF 来。公式、图形、场景随讲解一步一步变,中间插随堂小题,章节练习评判的是数学答案对不对,不是字符串像不像。

第二种是绘本,从一个故事、一个笑话或一则童话来。纸偶站在布景前,有配音、字幕、音效、配乐和镜头调度。给还不识字的孩子还留了一手:片子会停下来变成找一找的游戏,角色一次只提一样东西,孩子在图里点出来,点错了也不算错。

第三种是片:把一本书或一个想法做成配旁白的纪录片,或者切成竖屏短片。再往外还有可探索的地图和滚动叙事长页——跟着滚轮走,画面一年一年地变。

这些成品全是静态网页:没有服务器、没有数据库、没有账号。一本书就是一个文件夹,丢到任何静态托管上就能播。我随手取了一页线上成品,一个 4 KB 的网页加一堆本地素材,浏览器里就是能播的片子。

二、怎么做到的:先把书排出来,再让每句话对准一个时间点

这里有个关键概念叫 beat(节拍)。说白了,一个 beat 就是「一句旁白加一组定时动作」:配音生成后,每个词都拿到一个时间戳,画面就按这些时间点去动。所以画面不是猜出来的,是跟着声音算出来的。

这也解释了它为什么能导出视频——既然每一帧都只由时间决定,那逐帧截下来拼成 MP4 就是顺理成章的事。

做书的顺序是先规划再画:先定章节或场景,再写脚本,再画分镜。风格不靠感觉统一,靠一份写进书里的设置文件:用户的话、选的样子、用的嗓音、哪一步用哪个模型,全存在里面,后面每一章都拿它对照。

规模大的章节交给一组子智能体(能自己多步干活的 AI 程序)分工做,每步可以用不同的模型。做完之后模型还得看自己的产出:把多帧缩略图排成一张大图一次看、查画面重叠、查空帧、跑端到端测试,再加一轮「导演审片」,对照已通过的样书挑毛病,然后自己修。

这套思路是它最值钱的地方,也是它最贵的地方——后面我会算这笔账。

三、实证:我把它关进沙箱数了一遍

先交代环境。仓库 816 MB,全量拉会很久,我用了稀疏检出(只下载指定路径的文件)的办法,把技能本体、绘图引擎和四本样书取了下来。沙箱里没有网络时,它那两个不依赖浏览器的检查照样能跑。

体量上,它确实不是一份提示词:

部件 我数出来的数 意味着什么
技能说明 12,167 字节,92 行 它很短,只做分派:按你带来的东西指向参考文档
参考文档 27 篇,26.7 万字节,分 5 类 真正的知识在这里,模型按需去翻
脚本 45 个 Python 文件,50.4 万字节 最大的音效脚本 36.9 KB,音乐脚本 34.6 KB,导出脚本 30.1 KB
模板与素材 68 个文件,1.1 MB 新书是从模板复制出来的,不是凭空生成
成品书 22 本,各自带一份绘图引擎 见下一节

自带的静态检查真能跑,也真能抓错。68 章那本《初等代数》全量检查 2.1 秒跑完,结果是 0 个错误、68 个警告。警告全是同一句:找不到旁白原文,所以旁白这一项没核对。这是我把作者的私有目录一起略过的结果,不算它的问题。

为了确认检查不是摆设,我往一本样书的页面里注了两处故障。第一处让页面自己声明两个和引擎撞名的全局变量,检查报出 4 行「重复声明」,最后汇总 8 个错误。第二处塞进一个没闭合的花括号,检查给出原文:SyntaxError,Unexpected end of input,后面还补了一句「浏览器会把整段脚本停在这里不执行」。两次都准确命中,改回原样后归零。

仓库里还有两层自检:一层查文档与代码对不对得上,跑出来是「31 篇文档、0 个问题」;一层专查旁白文本规则,也是通过。文档里点名的那些脚本——导出视频、打包成课程平台能吃的包、把引擎同步进每本书、本地起一个预览服务——我逐个查了,全部存在,没有一个是文档吹出来的。

四、代价这一面:引擎复制 22 份,依赖链断一环就少一半能力

先说引擎。所有书共用同一个播放器,但每本书里都存了一份副本。这个选择很有道理:一本书坏了,引擎不跟着坏;改引擎也不会顺手把二十本书一起改坏。代价是重复,引擎核心那九个文件 26 万字节,乘上 22 本书就是 5.7 MB 的同一份代码躺在仓库里。我抽查了五本书的核心文件,逐份算校验值,结果完全一致,也都等于引擎源目录里那份;跑一遍同步工具,它回「没有要更新的」。这不是偷懒,是拿体积换稳定,而且换得挺值。

真正让人皱眉的是外部依赖。作者在说明里写了要什么,我把本机当成一台普通开发机来验:

依赖 本机状态 缺了会怎样
uv(Python 依赖的运行器) 有 —
Node.js 有,但默认路径里找不到,要手动指路 不指路,语法检查直接跳过,只留一句「没装 Node,脚本没被解析」
ffmpeg(音视频处理工具) 没有 配音拿不到时长、音频合成不了、导不出 MP4
Playwright 浏览器 没有 检查页面、截图、导出视频、做纸偶动画全废
numpy 没有 导出视频的脚本连启动都做不到

最硬的一条:我直接问导出脚本要用法,它连帮助都没打印出来,就报找不到 numpy 然后退出了。四个引擎自带的页面检查脚本,全都卡在同一句「找不到 playwright」。配音脚本倒是能打印帮助,但它的说明里写着两个配音引擎都需要 ffmpeg,所以也只是能启动、跑不了。

再说一个我自己撞出来的真问题。打包课程平台格式那一步,是这条流水线上少数不依赖浏览器、我本机真跑通的部分:一本样书打出一个 2.3 MB 的压缩包,46 个条目,格式标着 SCORM 2004(教学平台通用的一种课程打包规范)。但它同时吐了两行警告——封面页引用了书文件夹外面的样式表,那个文件不会进包。我去线上核对:那份样式表在站点根目录是正常返回,换成书目录下的路径就是 404。也就是说这本样书的封面页在线上一直缺样式,只是缺得不明显。自检工具会说话,但没人听它说话,小毛病就一直挂着。

最后是钱。作者给了两个数:一本带插图的物理章节,模型开销约 10 到 18 美元;最新的绘本每本配音不到 0.45 美元。按 68 章那本算,光模型费就是四位数美元的量级。这不叫贵得离谱,一个章节的人工课件制作远不止这个数。但它把这件事的性质说清楚了:这不是一个人一天做一本书的工具,是一个团队一周做一本书的流水线。

五、判断:现在该试的是哪种人

拿来跟站内评过的同类比,坐标系就清楚了。之前评过的开源视频流水线(OpenMontage 那类)走的是「很多小技能拼装」,出图技能(visual-explainer 那类)走的是「一个好看的静态页」。Papermorph 站的位置不一样:它要的是成套的、风格一致的、能连续做几十章的课程,而且必须能脱离平台自己托管。这三条同时成立的项目,我目前没见到第二个。

所以:

适合现在就试的——你手上有自己有权使用的教材 PDF,而且要做的是十几章以上的连续课程;你的机器上已经有 ffmpeg 和 Node;你愿意接受第一章要花二三十美元试错。

建议先别碰的——只想把一份文档做得好看点的;没有命令行经验、指望一条命令出成品的;以及想拿它批量处理别人的版权教材的。作者自己在文档里划了线,这个锅他不背。

如果你只是好奇它到底能做到什么程度,不用装:仓库里的成品书就是纯静态页,打开就能看,那是它最好的说明。

相关阅读:AI 时代的教育革命:5 个必装的 AI 教学技能 · AI Skill 生态全景:从 1000+ 仓库精选 10 个必装技能 · OpenMontage 深度评测:6.89 万 Star 的开源视频流水线

关注 AI商业快讯,每天一篇 AI 热点深度解读。