news 2026/5/8 15:56:54

AI辅助中文历史文献点校:从OCR到智能校对的全流程工作台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI辅助中文历史文献点校:从OCR到智能校对的全流程工作台

1. 项目概述:一个为历史学者设计的AI辅助点校工作台

如果你是一位历史学研究者,或者任何需要处理大量扫描版中文文献的人,那么你肯定对下面这个场景不陌生:从数据库下载了一篇关键的民国期刊论文,PDF上布满了图书馆的红色馆藏章、数据库的斜体水印,甚至还有扫描时留下的污渍。你用OCR软件识别,出来的文本里“曰”和“日”、“己”和“已”傻傻分不清楚,标点符号全变成了英文格式,引文格式更是乱成一团。你不得不花上几个小时,在原文图片和识别文本之间来回比对,进行繁琐的校对和格式修正——这纯粹是体力劳动,枯燥且极易出错。

Collate(点校)这个项目,就是为了终结这种低效循环而生的。它不是一个简单的OCR工具,而是一个由AI智能体驱动的、专门为中文历史文献处理设计的全流程工作台。它的核心思想很明确:让人类学者专注于只有人类能做的学术判断,而将那些重复、繁琐的预处理、识别、初校和格式整理工作,交给可靠、透明且可追溯的AI智能体去完成。

想象一下,你只需要将一份扫描PDF丢给Collate,它就能自动完成“去水印 -> OCR识别 -> 智能校对 -> 格式导出”这一整套流水线。更重要的是,整个过程的所有中间产物和修改痕迹都被完整保留。你可以随时回溯到任何一页,查看AI为什么做出了某个修改建议,或者检查它是否遗漏了某些错误。这不仅仅是自动化,这是一种建立在可审计性之上的协作。项目名称“点校”二字,源自中国古典文献学中“断句、校对”的古老技艺,Collate正是用当代的OCR和智能体技术,将这门手艺延伸到了数字时代。

我花了相当长的时间深入测试和拆解这个项目,它最吸引我的地方在于其清晰的工程哲学实用性设计。它不试图创造一个“全知全能”的AI来替代学者,而是定位为一个“恪尽职守的助手”。接下来,我将为你彻底拆解Collate的架构、实操细节以及我踩过坑后才获得的经验,让你不仅能上手使用,更能理解其设计精妙之处。

2. 核心设计哲学:三方协作与可审计性

在深入技术细节之前,我们必须先理解Collate的底层设计理念。这决定了它所有功能的行为逻辑,也是其区别于其他自动化工具的关键。

2.1 明确的三方角色界定

Collate将工作流程中的参与者清晰地划分为三方,这种界定确保了权责分明:

  1. 历史学者(The Historian):项目的发起者和最终裁决者。学者提出研究问题,提供原始扫描件,并对所有涉及文意理解、学术判断的环节拥有最终决定权。AI智能体永远不会替学者决定一段文字的含义。
  2. 智能体(The Agents):协作的共事者,而非“黑箱”工具。它们承担需要耐心和重复性的劳动,比如清洗水印、逐行执行校对清单、记录每一次修改。它们的推理过程是可见的,因为“没有痕迹的工作是不可信任的工作”。
  3. 原文作者(The Author):其精神贯穿每一行流经此流程的文字。整个工具链的存在,是为了让作者的文本能够被再次清晰、准确地阅读和引用。Collate“校勘”传承下来的文本,但绝不 silently rewrite( silently rewrite)它们。

这种角色划分在实践中至关重要。它意味着,当你使用Collate时,你并非放弃了对文本的控制权,而是将你的精力从低价值的重复劳动中解放出来,聚焦于高价值的学术思辨。AI提供的是一份带有详细理由的“修改建议清单”,而“采纳与否”的笔,始终握在你手里。

2.2 端到端的可审计性

这是Collate设计的基石,也是我最欣赏的一点。许多AI工具给人一种“魔法”感,输入原料,输出结果,中间过程一无所知。这对于学术研究来说是致命的,因为你无法验证结果的可靠性。

Collate通过以下机制确保全程可审计:

  • 保留所有中间文件:从清理后的每页图片、原始OCR文本(raw.md)、校对清单(raw.review.md)到最终文本(final.md),每一个中间状态都保存在工作区(workspace)中。
  • 结构化的校对清单proofread技能生成的raw.review.md文件,不仅列出问题(A类必须改、B类建议改、C类存疑),还会附上问题位置(行号)、原文片段、修改建议和修改理由
  • 差异审查(Diff-Review):在智能体根据清单应用修改后,diff-review技能会自动对比raw.mdfinal.md,生成一份报告,将每一处修改归类为:
    • accepted(采纳了清单建议)
    • missed(清单建议被遗漏)
    • outside-checklist(智能体做了清单外的修改)
    • unanchored(无法合理解释的修改)

这份报告是给学者的“结项审计单”。你可以快速确认AI完成了多少工作,是否擅自行动,以及哪里还需要你亲自介入。这种透明性,是建立学者与AI工具之间信任关系的桥梁。

3. 完整工作流拆解与实操指南

Collate的工作流是一条设计精良的流水线。理解每一环,才能更好地使用和调试它。我将以处理一份从“读秀”数据库下载的、带有水印和馆藏章的PDF为例,带你走完全程。

3.1 环境准备与安装

Collate支持多种AI开发环境(Runtime),如Claude Code、Cursor、Hermes等。为了最广泛的适用性,我将以最通用的本地Python环境配合脚本调用的方式为例进行说明。这也是理解其核心机制的最佳方式。

第一步:系统级依赖安装Collate依赖poppler库来将PDF转换为图片。这是必须首先安装的。

  • macOS:打开终端,使用Homebrew安装:brew install poppler
  • Ubuntu/Debiansudo apt update && sudo apt install poppler-utils
  • Windows:建议通过Chocolatey (choco install poppler) 或从官网下载二进制包并添加至系统PATH。

第二步:获取项目代码

git clone https://github.com/MidnightDarling/collate.git cd collate

第三步:安装Python依赖项目根目录下的requirements.txtpyproject.toml列出了所有依赖。强烈建议使用虚拟环境。

# 创建并激活虚拟环境(可选但推荐) python -m venv venv # macOS/Linux: source venv/bin/activate # Windows: # venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 如果使用pyproject.toml pip install .

核心依赖包括opencv-python(图像处理)、pdf2image(PDF转图)、mineru(OCR引擎)等。

第四步:配置OCR引擎(关键步骤)Collate支持三种OCR引擎,默认是本地运行的MinerU CLI,这也是最推荐的方式,因为无需上传数据,隐私性好。

  1. 安装MinerU:按照MinerU官方文档安装其命令行工具。通常也是一条pip install命令。
  2. 验证安装:在终端输入mineru --version,确认可执行。
  3. (可选)配置其他引擎:如果需要使用百度OCR(可能对某些印刷体识别率更高)或MinerU云API,需要设置环境变量。推荐在项目根目录创建.env文件:
    # .env 文件示例 # OCR_ENGINE=mineru # 默认,无需设置 # OCR_ENGINE=baidu # BAIDU_OCR_API_KEY=your_api_key # BAIDU_OCR_SECRET_KEY=your_secret_key # OCR_ENGINE=mineru-cloud # MINERU_API_KEY=your_mineru_cloud_key

    注意:使用百度OCR或云API会将文档内容上传至第三方服务器,处理敏感文献时请务必谨慎评估隐私条款。

第五步:运行环境诊断Collate提供了一个自检脚本,用于确认所有依赖都已就位。

python -m collate.scripts.setup_check

或者,如果你已配置了智能体环境,可以直接调用其setup技能。这个检查不会自动安装缺失项,但会给出明确的修复提示。

3.2 核心流水线八步走

环境就绪后,我们就可以处理PDF了。整个流程被封装在scripts/run_full_pipeline.py脚本中,但理解其内部步骤对排查问题至关重要。

步骤一:预处理扫描件(prep-scan)

  • 目标:去除影响OCR识别质量的视觉噪声,如图书馆红色/蓝色馆藏章、数据库斜体水印(CNKI,读秀,维普)、多余的页边距。
  • 技术细节:这一步使用OpenCV进行图像处理。
    1. 色彩掩膜:针对馆藏章,利用HSV色彩空间分离出红色和蓝色区域,再通过连通组件分析过滤掉面积过小或过大的噪点,精准移除印章。
    2. 形态学操作:针对斜体水印,将图像转为灰度,进行旋转校正,然后使用MORPH_OPEN(开运算)来消除细长的、与文字走向不同的水印线条。
    3. 顶帽变换:针对浅色重复水印,先使用高斯模糊平滑图像,然后用“顶帽变换”提取出比背景亮的小区域(即水印),同时通过保护文本区域的掩膜,确保正文不被误伤。
  • 输出:一个清理后的PDF文件以及每页对应的PNG图片,存放在工作区的prep/目录下。
  • 实操心得:不是所有PDF都需要预处理。对于本身比较干净的扫描件,跳过此步能更快。visual-preview技能可以生成清理前后的对比图,强烈建议在OCR前先用它检查一下预处理效果,防止“过度清洁”误删文字。

步骤二:执行OCR(ocr-run)

  • 目标:将清理后的图像转换为结构化的Markdown文本。
  • 引擎选择逻辑
    • mineru(默认):本地运行,隐私性好,对古籍繁体、竖排支持佳。
    • baidu:云端API,对现代印刷体识别率可能更高,但有调用次数限制和隐私考虑。
    • mineru-cloud:MinerU的云端版本,作为兼容性备选。
  • 输出
    • raw.md:原始的OCR识别结果文本。
    • raw_side_by_side.html:一个HTML文件,并列显示原文图片和识别文字,便于快速抽查。
    • meta.json:记录使用的引擎、耗时、低置信度页码等元数据。
  • 注意事项:OCR质量是后续所有工作的基础。如果raw.md质量极差,后续校对将事倍功半。务必通过side_by_side.html抽查关键页面(如包含复杂表格、公式或特殊字符的页面)的识别情况。

步骤三:智能校对(proofread)——核心环节这是Collate的“大脑”。它并非简单地调用通用大模型,而是由一个专门的historical-proofreader智能体,执行一套强制性的五步校对清单

  1. 结构检查:标题层级是否清晰?脚注是否完整?段落是否被错误分割?
  2. 字形扫描:这是针对中文的杀手级功能。它会根据文献类型(现代简体、民国时期、古典繁体),调用对应的混淆字表进行扫描。例如,针对现代简体,它会查找“曰/日”、“己/已/巳”、“赢/嬴/羸”等经典易错字。
  3. 规范扫描:检查标点符号(全角/半角)、引号(中文“” vs 英文“”)、DOI/ISBN/页码范围等格式是否符合学术规范(如GB/T 7714)。
  4. 跨段落一致性:检查术语、音译词、引用格式在全文中是否统一。
  5. 专有名词审查:检查人名、地名、朝代、官职名等是否准确。
  • 输出raw.review.md文件。该文件内容清晰,例如:
    ## A类错误(必须修改) - [ ] **行 45**: `孔子曰:学而时习之。` -> `孔子曰:学而时习之。` - **理由**: 字形混淆。OCR将“曰”(yue,说)误识别为“日”(ri,太阳)。 - **依据**: 现代简体中文混淆字表条目“曰/日”。 ## B类建议(建议修改) - [ ] **行 102**: `"This is a quote."` -> `“This is a quote.”` - **理由**: 引号格式。英文直引号应改为中文全角引号以符合出版规范。 ## C类问题(供决策) - [ ] **行 178**: `光绪34年` 原文如此,是否保留?或统一为 `光绪三十四年`? - **理由**: 纪年格式不一致。文中其他处使用汉字纪年。
    文件末尾还会附上一个“执行证明表”,列出五步清单的每一项是否已执行,确保了流程的强制性。

步骤四:应用修改与差异审查此步骤通常由ocr-pipeline-operator智能体自动完成:

  1. 应用修改:智能体读取raw.review.md,将A类和B类(经确认后)的建议应用到raw.md上,生成final.md
  2. 差异审查:运行diff-review技能,自动生成审查报告(diff-review.htmldiff-summary.md)。这是你的质量验收报告。你需要重点查看missed(遗漏)和outside-checklist(清单外修改)两类。前者说明AI可能没理解某些建议,后者则需要你警惕AI是否“过度发挥”。

步骤五:格式导出获得干净的final.md后,可以导出为所需格式:

  • to-docx:生成符合国内学术期刊投稿要求的Word文档(宋体12号,1.2倍行距,2字符首行缩进等)。
  • mp-format:生成微信公众号文章HTML,自动处理简繁体转换(正文转简体,引文内繁体保留),并生成秀米兼容的侧边栏文件。

3.3 文献类型与知识库

Collate的强大之处在于其领域特异性。它内置了针对不同时期中文文献的校对知识库:

  • 现代简体中文:主要处理扫描噪点、混淆字形、标点漂移和参考文献格式。
  • 民国时期文献:处理简繁混用、旧式标点、过渡期译名、新旧地名等问题。
  • 古典繁体中文:处理异体字、避讳字、竖排布局、无标点文本。其原则是标记而非强行归一化,尊重古籍原貌。

智能体会尝试自动推断文献类型,你也可以通过--type参数手动指定(如--type=republican),以确保调用最合适的知识库。

4. “阅读层”技能:从文本处理到学术对话

当流水线产出干净的final.md时,Collate的工作才完成了一半。另一半是它的“阅读层”技能。这些技能不再关注“文字是否正确”,而是关注“文字在说什么”,帮助学者进行更深层的学术分析。这才是Collate从“工具”迈向“研究伙伴”的关键。

4.1 微观透视:X光单篇论文

xray-paper技能就像给单篇论文做了一次深度CT扫描。它不满足于摘要,而是试图复原作者的问题意识——他/她真正想解决的核心困惑是什么?它会将论文定位到其学术谱系中,厘清其继承与对话的对象。此外,它还会生成一个时间线,梳理论文内在的论证脉络,并产出“认知碰撞卡片”,记录你在阅读过程中产生的、可能与作者论点相左或延伸的新想法。

使用场景:当你拿到一篇重要的、复杂的理论文章时,可以用它来快速解构,抓住核心论题和论证框架,并将其与你已有的知识图谱连接起来。

4.2 宏观测绘:勾勒学术版图

paper-summary技能则用于处理一个文献集合(5-30篇)。它不再分析单篇,而是进行交叉阅读,从八个维度绘制学术领域的“地图”:

  1. 档案基础:这些研究主要依赖哪些类型的史料?
  2. 学派谱系:它们分属哪些学术流派或传统?
  3. 时空覆盖:研究的时间和地理范围分布如何?
  4. 方法分布:使用了哪些研究方法(计量、田野、文本分析等)?
  5. 概念争鸣:围绕哪些核心概念存在争论?
  6. 理论借镜:从其他学科引入了哪些理论?
  7. 开放问题:领域内公认的未解之谜是什么?
  8. 新人路径:对于一个刚进入该领域的研究者,建议的阅读路线是什么?

输出是一份literature-map.md文件。这份地图能让你快速把握一个领域的整体态势、研究热点和空白,对于开题报告或文献综述部分极具价值。

4.3 专项分析透镜

除了上述两个综合性技能,Collate还提供了四个聚焦特定分析角度的“透镜”:

  • chunqiu(春秋笔法):分析文本中的隐微书写——避讳、褒贬、沉默与曲笔。当一篇论文的力量蕴藏在它的措辞、重复或省略中时,这个技能尤其有用。
  • kaozheng(考据):以乾嘉学派式的精神进行证据审计。审视文中的论断、引用的来源、论证的凭据,评估其可信度与引用层级。回答的不是“它什么意思”,而是“这个论证站得住脚吗?”
  • prometheus:为论文中的核心概念、制度或专有名词制作一张简洁的“概念卡片”(SVG格式),帮助你将抽象的术语具象化、结构化。
  • real-thesis(真论题):挖掘论文环绕但未敢明言的核心论点。很多时候,论文表面讨论的是一个“安全”或较窄的话题,但其论述的张力却指向另一个更深层、更激进的命题。这个技能就是帮你把那个“潜台词”给挖出来。

个人体会:阅读层技能是Collate的“灵魂”。它们将AI从“文字校对员”提升为“初阶研究助理”。虽然其分析深度无法替代学者的精读,但它能提供极其有价值的“第二视角”和结构化笔记,极大地加速了文献消化和思路整理的过程。我习惯在完成一批文献的OCR和校对后,先用paper-summary画个地图,再对重点文章用xray-paperreal-thesis进行深度剖析,效率提升非常明显。

5. 与不同智能体开发环境的集成

Collate设计为“运行时无关”,这意味着它可以在多种AI智能体平台上运行。了解这一点,你可以选择最适合自己工作流的环境。

5.1 Claude Code / Codex(原生插件体验)

这是体验最无缝的方式。项目本身提供了.claude-plugin/plugin.json.codex-plugin/plugin.json等原生插件配置。

  • 安装:在Claude Code中,只需执行/plugin install collate@collate
  • 使用:安装后,直接使用/collate:ocr <pdf路径>命令即可触发完整流水线。所有技能也会以/collate:<技能名>的方式直接调用。
  • 优势:开箱即用,交互自然,最适合日常高频使用。

5.2 Cursor / Hermes / 通用环境(基于AGENTS.md)

对于不支持原生插件的环境(如Cursor、Hermes、Gemini CLI等),Collate通过一个名为AGENTS.md的契约文件来定义智能体行为。

  • 原理AGENTS.md文件详细描述了每个技能(Skill)的调用方式、输入输出、以及两个核心智能体(ocr-pipeline-operatorhistorical-proofreader)的工作流程。这些环境通过读取或引用这个文件来获得与Collate交互的能力。
  • Cursor配置示例:在项目根目录或你的工作区创建.cursor/rules/collate.mdc文件,内容如下:
    --- alwaysApply: true --- # Collate 智能体规则 当用户需要处理中文扫描PDF、进行OCR校对或学术分析时,启用Collate工具集。 完整技能调用契约和智能体定义见项目根目录下的 `AGENTS.md` 文件。 你可以直接调用 `skills/` 目录下各技能中的Python脚本。
  • 使用:配置好后,你可以在Cursor的聊天框中直接说:“帮我校对这份PDF”,Cursor就会根据AGENTS.md的指引,调用相应的Python脚本。
  • 优势:灵活性高,几乎可以在任何能运行Python和读取Markdown的AI编码环境中使用。

5.3 纯脚本模式(无智能体)

如果你不需要与AI对话,只想自动化执行流水线,可以直接调用底层Python脚本。

python scripts/run_full_pipeline.py --pdf /path/to/your/document.pdf --output-dir ./my_workspace

这种方式适合批量处理、集成到CI/CD流水线,或者在对结果有高度可预测性要求的场景。

避坑指南:在不同环境间切换时,最常见的问题是路径依赖。确保你的智能体环境(如Cursor)使用的Python解释器路径和项目虚拟环境(如果有)是一致的。否则会出现“ModuleNotFoundError”。一个稳妥的做法是在项目目录下启动你的智能体IDE。

6. 常见问题排查与实战经验

在实际使用中,你肯定会遇到各种问题。以下是我在大量测试中总结出的常见“坑点”和解决方案。

6.1 OCR识别质量不佳

  • 症状raw.md中错字连篇,特别是古籍繁体字或特殊排版。
  • 排查与解决
    1. 检查预处理:首先用visual-preview技能查看prep/目录下的清理后图片。是否水印去除过度,损伤了文字?如果是,可以调整prep-scan技能脚本中的参数(如HSV颜色范围、形态学操作核大小)。对于特别珍贵的文献,可以考虑跳过预处理。
    2. 切换OCR引擎:MinerU对古籍好,百度对现代印刷体可能更好。在.env文件中切换OCR_ENGINE试试。
    3. 手动干预:对于少量关键页面,识别质量极差时,不要犹豫,使用其他OCR工具(如Adobe Acrobat、ABBYY FineReader)手动识别这一页,然后将正确文本替换到raw.md的对应位置。Collate的流程是灵活的,raw.md只是一个中间文件,可以手动编辑。

6.2 校对清单(raw.review.md)为空或内容过少

  • 症状:运行proofread后,生成的清单里只有几条无关痛痒的建议,明显的错误却没抓到。
  • 排查与解决
    1. 确认文献类型:智能体可能错误判断了文献类型,从而加载了错误的混淆字表和规范库。尝试用--type参数明确指定,如--type=classics
    2. 检查知识库:查看skills/proofread/references/目录下对应类型的Markdown文件。你可以自定义和扩充这个知识库!这是Collate一个非常强大的功能。如果你经常处理某一特定领域(如佛教文献、中医典籍),可以将该领域特有的易错字、术语规范添加到知识库中,让校对更精准。
    3. 理解清单的局限性:当前的校对主要基于规则(正则表达式、混淆字表)和基础的大模型语义理解。对于需要深度上下文背景才能发现的逻辑矛盾、史实错误,它无能为力。这正好体现了“人机协作”的分工边界。

6.3 智能体“擅自”修改了原文(outside-checklist)

  • 症状:在diff-review报告中,出现了大量outside-checklist类修改,且这些修改并非你的本意。
  • 原因与应对:这通常是因为底层大模型(如Claude、GPT)在应用校对建议时,基于其自身的语言模型“润色”了文本。虽然本意可能是让文字更通顺,但这违背了“校勘而非改写”的原则。
  • 解决方案
    1. 审查diff-review.html:仔细查看每一处outside-checklist修改,判断是否可接受。
    2. 调整智能体指令:在agents/historical-proofreader.md中,强化关于“忠实原文”、“仅根据清单修改”的指令。可以增加类似“严禁进行任何清单未明确要求的风格化润色或改写”的强调。
    3. 手动修正:如果问题集中,可以直接在final.md上手动回退这些修改,然后重新运行diff-review以更新报告。

6.4 流程中断或卡住

  • 症状:运行/ocr命令后,流程在某个步骤长时间无响应或报错退出。
  • 排查步骤
    1. 检查_pipeline_status.json:工作区内的这个文件记录了流水线当前的状态、阶段和错误信息。这是第一手的诊断资料。
    2. 使用/status命令:在支持的命令行环境或智能体中,运行/collate:statuspython scripts/pipeline_status.py来获取当前状态和下一步建议。
    3. 分步执行:不要总是运行完整流水线。当遇到问题时,可以单独调用出问题的技能进行调试。例如,怀疑OCR出错,就单独运行python -m skills.ocr_run.scripts.run_ocr --input ./prep/cleaned.pdf
    4. 查看日志:控制台输出的错误信息通常很详细。常见的权限问题、磁盘空间不足、API密钥失效等,都会在这里体现。

6.5 性能与资源优化

  • 处理大型PDF:一本几百页的书籍PDF可能会消耗大量内存和时间。建议:
    • 增加虚拟内存(交换空间)。
    • prep-scanocr-run步骤中,通过参数限制同时处理的页面数(如果脚本支持)。
    • 考虑按章节拆分PDF,分批处理。
  • 依赖冲突:如果遇到opencv-python或其他库的版本冲突,最干净的方法是使用独立的虚拟环境(如前述的venv),确保Collate的环境与系统或其他项目隔离。

Collate代表了一种人机协作的新范式:不是用AI取代专家,而是用AI放大专家的能力。它将学者从机械劳动中解放出来,同时通过严谨的可审计设计,确保了最终成果的可靠性与学者的绝对主导权。这个项目仍在活跃开发中,社区也在不断贡献新的知识库和技能。无论你是历史学、文献学、法学还是任何需要处理大量非结构化文本的研究者,它都值得你深入尝试并将其融入自己的工作流。开始的最佳方式,就是找一篇带有水印的旧论文PDF,运行一次/collate:ocr,亲自体验从杂乱扫描件到整洁可编辑文本的全过程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 15:56:30

港大与字节跳动联手:让AI图像编辑“自我审查“

这项由香港大学计算与数据科学学院、字节跳动Seed团队、深圳环湾区具身AI与计算机视觉研究中心以及香港中文大学联合完成的研究&#xff0c;于2026年4月30日以预印本形式发布在arXiv平台&#xff0c;论文编号为arXiv:2604.27505v1。感兴趣的读者可以通过这个编号直接检索原文。…

作者头像 李华
网站建设 2026/5/8 15:56:25

从九大网盘到专业下载:LinkSwift如何重塑你的文件管理体验

从九大网盘到专业下载&#xff1a;LinkSwift如何重塑你的文件管理体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / …

作者头像 李华