亿方教材助手背后故事盘点:一纸代码,万般情怀

2026修订版前言

今天是2026年6月14日,星期日。距离这段故事的起点——2023年7月,已经过去将近三年。但本文所讲述的一切,仅截取至2024年3月——那个项目初具雏形、少年满怀热忱的早春。所有内容基于我2024年3月9日发表的博文,在保持原意、不删减任何内容的基础上,完整修复语法错误,统一行文风格为意蕴叙事,融入对中国传统文化意蕴的解读。谨以此文,还原一段最纯粹的初心。

一、缘起:一份暑假作业与一次意外的“越狱”

故事要从2023年7月说起。

那年夏日炎炎,我从北京旅游回到泰安以后,用电脑打开了久违的暑假作业文档,开始制作那些可以打印的手抄报等创意作业。但是我注意到了作业文档里面一项特别的作业——“抄写下一学期语文课本中需要背诵的古诗词”,这一下可把我干蒙了。要知道,我的手机上有“古文岛”这款软件,是“古诗文网”开发的,按理来说古文收录都很全的,但是它也不知道下一学期语文学啥古诗词,所以我只能去找电子课本。

我按照我原来的经验,打开了国家中小学智慧教育平台的教材栏目。由于是7月,正处于课本冷却期,官网上暂时撤下了一些统编版电子课本,所以我只能另辟蹊径,曲线救国。我按照原来下载山东教育出版社鲁教版电子课本的经验,搜索了人民教育出版社的官网,发现也有“教材”栏目,但是也把五四制课本的链接给撤下了。不过按照我的经验,五四制和六三制课本内容基本相同,尤其是古文部分,于是我就找到了六三制课本的文档。打开以后,发现可以查看,但是无法下载——网页禁用了F12,禁用了右键,甚至禁用了很多可以找到的下载方法。

但是,他没有禁用Ctrl+Shift+I!

于是我就用这个快捷键打开了DevTools,使用审查元素发现了他的课本接口格式。我立马打开ChatGPT,要求他给我写一个根据链接格式爬课本的Python脚本。眼看刷的一声,他写完了代码。我打开IDLE,粘贴了这段代码并运行,看到控制台中输出的“第XX页课本下载完成”,我顿时满心欢喜。静待下载完成以后,筛选出古诗词部分,把图片传输到了微软的To Do,以便在我的小米平板上查看。

这就是一切的起点。没有宏大的愿景,没有周密的计划,只是一个少年为了解决眼前的作业问题,顺手写下的几行代码。然而,正是这看似偶然的起点,埋下了一颗关于“技术向善”的种子——这颗种子,将在日后生根发芽,长成一棵名为“亿方”的树木。正如古人所言:“合抱之木,生于毫末;九层之台,起于累土。”这份始于一个暑假作业的代码,终将承载起万千学子的求知之梦。

二、蜕变:从“人民攻摄”到“亿方教材助手”

眼看我的作业已经写完,我愈发感到没有事情干,于是对这段代码起了兴趣。先是给它加入了GUI,研究了官网链接和课本API的对应关系,加上了类似Parsevideo的链接解析,加入了目录选择——看着日渐完善的小工具,顿时感觉很有成就感。

我想起了我之前下载国家中小学智慧教育平台课本的经验:它调用了PDF控件,导致我每一次查看课本,都会吊起我本地的IDM进行下载。我研究了下载链接和官网链接的对应思路,加入了针对r3-ndr接口的解析,并暂定名为“人民攻摄”。于是,“亿方教材助手”便初具雏形。

之后,我和ChatGPT联合开发,加入了识别官网教材标题和去除水印的功能。但是不曾想到,人民教育出版社的课本标题可以正常解析,而国家中小学智慧教育平台的课本标题是动态加载的。ChatGPT知道以后,给出的修改方案是使用selenium控制浏览器查看标题——我却将这个方案一票否决了,因为这不符合我对一个针对教职工、学生、家长的小而美的程序的幻想。

我否决这一方案,体现了我对老师使用的电脑环境的充分理解。面对教师办公室复杂的系统环境,我无法确保每一个教师的电脑都可以正常调用浏览器进行标题的解析。于是我急中生智,将智慧教育平台的课本标题改成了当前年月日时分秒——这样,就完美地曲线救国了。这一做法,看似笨拙,实则大巧若拙。正如老子所言:“大直若屈,大巧若拙,大辩若讷。”有时最直接的解决方案,往往藏在最简单的思路里。

这个细节,后来成为我“科技人文”思想的最初萌芽:技术不是目的,解决问题、照顾使用者才是。不追求最前沿的解决方案,而是找到最可靠的路径——这是我从这段经历中学到的第一课。

眼看暑假结束,初三上学期(五四制)开始了。我逐渐没有这么多时间维护这个程序,它就静静地躺在我的电脑开发文件夹中,停留在了八月底的日期。

三、转折:一次偶遇与一场投稿

时间如白驹过隙,期末考试来临了。我由于不想过一个没有成绩的寒假,就带病发烧参加了期末考试。由于发烧严重,再加上我长期的鼻炎,我的鼻子在发烧期间一直有一种如火中烧的感觉,也导致我每考完一场试就得去厕所用凉水洗鼻子缓解疼痛。

终于,考试被我煎熬完了。在我从考场回教室的路上,我碰见了我的物理老师,他问我:“你寒假里还编程吗?”要知道,我之前就因为物理老师的NB物理实验到期,当场在班里的希沃一体机下载了ClassIn,让老师用上了免费的NB物理实验,也让老师知道了我可能会编程。老师的这一句话,让我暂时忘记了鼻子的疼痛。我询问老师干什么,老师说,叫我家长加他微信,他给我家长发一个山东省电教馆的科技宣传周的活动,叫我往上投稿程序。我同意了。

回到家的路上,我叫家长添加了老师的微信,老师也发送了文档。其中“计算思维类”投稿项目刚好符合我这一个程序的标准。我就在寒假抽了几天修复bug,不料我的技术水平有限,没解决掉人教社下载进度条不显示和无法读取智慧教育平台的教材标题的问题。我就在某UP主的群询问有没有Python大佬帮我解决一下问题,却没有引来群友的回复,只是玄离自己把我发的这段话来回复制粘贴玩了一阵子。(2026修订注:后来我才知道,她并非无心相助,她只是以一种独特的方式在观察这个项目——而正是这份观察,为日后的倾力相助埋下了伏笔。)

我想到了酷安,毕竟我是酷安老用户——于2019年11月注册,体验过酷安曾经的大唐盛世(那个酷安账号在用模块去广告以后黑号了,等了几个月恢复以后因为我2022年用酷安老版本不显示广告,又面临黑号,于是我手欠注销账号,导致卡bug后账号消失,现在使用新号)。我就在酷安发帖子询问,果然找到了有志之人回答了我的问题。他的解决方案是修复了我程序里面threading调用的错误,并提供了一个解析教材标题的JSON接口——至此,我的程序就完美了。我欣喜若狂,将程序上传到了GitLab,打包成了EXE,填好了附表。根据CHANGELOG的记录,正是在2024年1月26日,我修好了2023年8月的代码,正式开源了这个项目。

不料,故事还没有结束。

四、坎坷:兼容性困境与私域课本的破解

开学以后,物理老师叫我把程序拷给之前的信息老师。我却因为程序无法兼容Windows7又拖欠了几天——终于,我使用虚拟机加Python最后一个兼容Windows7的版本适配成功。根据CHANGELOG的记录,2024年3月2日,我修好了部分课本下载失败的问题,也修复了Windows7无法运行的问题。

我本以为故事终于可以结束了。结果信息老师说,去年投稿要求录制演示视频,今年为了保险起见也要录制。我回家以后打开虚拟机准备录制,选择了一个没有下载过的语文课本,粘贴到了我的程序——不料,提示下载失败。

我怀疑是我的API接口出现了问题,就仔细核对,发现部分课本是“私域课本”,API接口为r2-ndr开头,并设置了Allowed-Origin,导致我的程序无法下载。我就在必应搜索如何解决这一问题,结果只搜到了针对selenium爬虫的安装浏览器插件的办法,没有找到用requests的办法。我继续搜索,搜索到可以删除链接中的“-private”下载,测试成功。我想把它加进程序,提供两条线路,但是经过我的反复测试,发现并没有必要——于是我就修改了这一API,破解了这一限制。

经过我一段时间的考察,发现网上很多智慧教育平台的下载器都不能做到粘贴链接解析,只能在他的工具重新选择一遍课本,并不人性化。而且如果是在教材冷却期,这一招也没法用,只能用人教社的办法下载。然而我的程序可以做到粘贴链接解析课本,做到了高度人性化。

为了方便很多电脑小白,我还贴心地使用NSIS打包了这一程序。不料getcwd就不管用了,默认的下载目录变为了Program Files目录——这对于很多电脑小白来说简直是噩梦。我就研究了一下保存到桌面,但是网上的教程是在当前用户目录下追加desktop实现获取桌面路径,这一方案也被我一票否决,因为很多教职工使用封装版本系统,默认会修改这一目录,也可能会自己修改这个目录,导致目录不准确。我就取了一个折中的方案——保存到C盘单独的文件夹,因为有些电脑连D盘都没有,所以为了保险起见这么做。

同时针对我的开源项目,玄离提出的建议是:一般Python开源项目写清楚readme,教给用户怎么pip就行了。但是我觉得这样子做并不符合我的开发思想,我非得给它编译好,打包成EXE,还得兼容Windows7,打包成安装包,以最大程度地保证用户不会卡在安装这一步。而且经过我的考察,我目前所处的学校办公室使用的一体机很多是32位操作系统,所以我也有了后续添加32位支持的想法。(2026修订注:根据CHANGELOG的记录,2024年5月2日,我成功修复了32位运行的问题,加入了菜单栏,并正式将项目改名为“亿方教材助手”。)

五、“亿方”之名:持一规而治万物

至于软件为什么叫“亿方”——是因为我认为,解决很多电脑问题,办法总比困难多。所以“亿方”就成为了我分享运维知识的平台的品牌名称。我希望,能让更多老师体验到科技的乐趣。

“亿方运维”这个名字,本身就很大气。既有技术上的广度,又暗含一种普适的关怀。如果从中国传统文化和人文底蕴的角度来细细解读,我们可以把“亿”和“方”拆开,找到几个非常契合的哲学支点。

第一重:修身治世,内圣外王。

这个解读最有层次感,将“运维”从修机器提升到了修身与治事的高度。“方”为内在的规矩与法度。古人云:“没有规矩,不成方圆。”“方”代表系统内部的秩序、准则和逻辑,对应运维中的标准化、流程化、规范化——这正是我建立“标准化教程”的初衷。“亿”为外在的万物与众生。“亿”是极大的数量,指代世间纷繁复杂的设备、系统、软件和业务,象征着我需要治理的广阔数字疆域。内在统一:用内心坚守的“方”(专业教程、标准流程),去应对和治理外在变化万千的“亿”(各种技术问题、系统故障)。这体现了“持一规而治万物”的道家思想,以及儒家“修身(练好内功)而后平天下(解决外部问题)”的入世情怀。

第二重:普济众生,成人之美。

这个解读更温暖,突出服务的普惠性。“亿”指亿万用户,普罗大众——代表我服务的对象广泛,不挑剔,有教无类。“方”指方法与药方,源自“方剂”,是解决问题的具体方案。我的每一篇教程、每一行代码,都是一剂解决具体问题的“良方”。核心价值:为亿万用户遇到的各类技术疑难杂症,提供便捷有效的解决方案。这有种悬壶济世、普济众生的仁爱之心,把原本冷冰冰的技术支持,变成了温暖人心的成人之美。

第三重:天圆地方,厚德载物。

这个解读更具空间感和稳定性。“方”指大地,承载万物。《易经》云:“地势坤,君子以厚德载物。”“方”代表我搭建的网站平台,像一个坚实、安稳的大地。“亿”指万物,生生不息——指代平台上承载的海量内容、教程和不断涌入的用户。平台哲学:我的“亿方”平台,就是要像一个稳固的大地一样,用深厚的德行与专业储备(厚德),去承载和服务于无穷无尽的用户与知识(载物)。

对内:持一“方”之规,治“亿”兆之事——追求专业、标准和效率。
对外:为“亿”万大众,备良“方”妙计——传递普惠、助人和情怀。

这三重解读,从个人修养到服务他人,再到承载天下,恰是中国知识分子“修身齐家治国平天下”的层层递进。一个看似简单的工具,也因此有了它的文化之魂。

正如DeepSeek所言:“观其软件,非惟技术之精妙,更兼济世之仁心。使万千学子,得免求书之困;令九州杏坛,同沐智慧之光。” 这段评价,恰如其分地概括了“亿方”二字的深层意蕴——技术只是表相,济世才是内核。

六、初心:科技人文的萌芽

写到这里,我不禁想起了某些同行开发的一些软件——为了自己能赚钱,非得整一个慢得要死的网盘,而且对外宣称“三年更新上百次”。我的评价是:我非常反对这样子的行为,取而代之的是:不刷版本号,有bug绝对不发布,争取做业界的小而美。

中国有句古话:“授人以鱼不如授人以渔。”但在我看来,要想开发出真正亲近人心的软件,有时需要“授人以渔不如授之以鱼”——把多余的水分去掉,只留下精华,让使用者无需学习、无需折腾,拿来就能用。这,才是我理解的“科技人文”。

我希望,能让更多老师体验到科技的乐趣。这个愿望,朴素而真诚,如同夏日里那一缕清风,虽不猛烈,却能沁入心脾。

今天就说到这里,我们有缘再见。

上一篇 宝塔开心版Linux安装脚本 云端实时更新
下一篇 小米新BL解锁政策发布,我写了首《囍》讽刺小米
小杨聊科技

小杨聊科技管理员

永远相信美好的事情即将发生

本月创作热力图

最新评论
小杨聊科技
小杨聊科技
11月10日
看他就是看个乐子😂比较喜欢看这种乐子
是阿改哦
是阿改哦
10月5日
户晨风有些观点倒挺好 但个别观点Emmm
小杨聊科技
小杨聊科技
8月22日
那个脚本只能去除Orange State,不能去除DM Verify Error
Momo5418
Momo5418
7月14日
有个twrp脚本可以自动提取lk修改,而且好几年了。