跳转到内容

Escriba 的底层技术

Escriba 只是把众多优秀的开源项目粘合在一起。完全透明比显得聪明更重要,因此这里确切地说明引擎盖下运行着什么、每个部件做什么,以及 Escriba 在何时——如果有的话——会接触网络。

作用项目许可证
核心文档 → Markdown 转换Microsoft MarkItDownMIT
Web 框架 / APIFastAPI · UvicornMIT / BSD
PDF 解析、页面选择与真正的涂黑遮蔽PyMuPDFAGPL-3.0 / 商业
高级 PDF 版面提取(可选启用)OpenDataLoader PDF开源
图像与扫描版 PDF 的 OCRTesseract + OCRmyPDFApache-2.0 / MPL-2.0
音频与视频转录faster-whisper(OpenAI WhisperMIT
文本 → 音频(本地语音)PiperMIT
网页与 YouTube 字幕yt-dlpUnlicense
PII 检测(匿名化引擎)OpenAI Privacy FilterApache-2.0
安全的用户自定义正则规则google-re2BSD-3
Token 计数tiktokenMIT
RAG 分块semchunkMIT
导出为 10 种格式PandocGPL-2.0+
实时按模型计价OpenRouter(公开 API)
速率限制内嵌 Redis
预览 HTML 净化(在你的浏览器中)DOMPurifyApache-2.0 / MPL-2.0

Escriba 自己的源代码以 MIT 许可证 发布,这是现有最宽松的许可证之一。用大白话说:

你可以做什么

  • 将其用于任何用途,包括商业用途。
  • 修改源代码并使其适应你的需求。
  • 分发它,并重新分发你修改后的版本。
  • 私下使用它,并在你自己的产品内部对其进行再许可

你必须做什么

  • 在源代码的副本中保留原始的版权声明和许可证文本

哪些不在覆盖范围内

  • 它按**“原样”提供,不附带任何担保**——作者对其被如何使用不承担责任。

转录使用 faster-whisper——一个针对 OpenAI 的 Whisper 优化过的运行时。 你可以通过 WHISPER_MODEL 选择模型大小——tinybase(默认)、smallmediumlarge-v3。更大的模型更准确,但在 CPU 上更笨重、更慢; 关于每种模型的需求,请参见系统需求

PII 引擎构建在 OpenAI Privacy Filter (OPF,Apache-2.0)之上,这是一个能检测姓名、组织、地点等信息的 NER 模型。 Escriba 在其外层封装了版面感知的发票字段读取、经过验证的检测器 (信用卡 Luhn 校验、IBAN mod-97 校验),以及运行在 Google RE2 引擎(线性时间、抗 ReDoS)上的你自己的规则。

按照设计,转换、OCR、转录和匿名化全部在你自己的服务器上本地运行。 上传的文件在转换后立即被删除,不会存储任何内容。Escriba 唯一会发起对外请求的情形只有以下这些——而且全都由用户主动触发或为可选:

  • 你转换一个 URL 或一个 YouTube 链接。 Escriba 会去抓取该页面/字幕(通过 yt-dlp)。这是显然的。
  • 你启用了某个 AI 提供商。 只有这时,文本才会发送到所选择的提供商 (OpenAI、Gemini 或 OpenRouter)。默认是不使用 AI,不会发送任何内容。
  • 实时模型计价。 LLM 面板会从 OpenRouter 获取 价格/上下文列表——这是一个公开目录,请求中不含任何文档数据。 它会被缓存,且如果离线,该功能只会什么都不显示。
  • 首次运行时的模型下载。 Whisper 和 NER 模型会被下载一次(或 预先烘焙进镜像中),之后便完全离线运行。

这就是完整的清单。除非你明确地让 Escriba 指向某个外部 AI 提供商, 否则你的文档本身永远不会离开你的机器。