Xberg 文档智能引擎实战指南:107 种格式统一提取、OCR 与多语言绑定全景解析

  • 后端
  • AI 应用
  • NLP

【免费下载链接】xberg

Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with CLI, REST API, and MCP server.

项目地址: https://gitcode.com/gh_mirrors/kr/xberg
点击查看 免费下载

导读

Xberg 是一个以 Rust 为核心的多语言文档智能引擎:把任意输入——PDF、扫描图像、电子表格、音频、URL、压缩包乃至整个源码树——交给它,即可一次性获得干净文本、表格、元数据与结构化数据,格式检测、读取、OCR 与提取全部由单一核心完成,无需手动拼接多库管道。本文以仓库根目录 README.md 为主干,结合核心 crate 源码与 CLI 实现,完整梳理 Xberg 的格式支持矩阵、安装方式、CLI 命令、部署模式与底层实现机制,帮助你从零开始把 Xberg 嵌入自己的应用、脚本或 Agent 工作流。

一、项目定位:一个引擎覆盖"检测—读取—OCR—提取"全链路

Xberg 的核心主张是"一次调用、全链路搞定":不再需要像传统做法那样为 PDF、Office、图像、网页分别挑选解析库,再自己写胶水代码把结果拼起来。它同时提供 107 种文档格式(覆盖 141 种文件扩展名、56 个兼容 MIME 别名)、371 种编程语言的代码结构提取、6 种输出格式与 15 种语言绑定,既可以作为库内嵌,也可以作为 CLI、REST API 或 MCP 服务器运行。

值得注意:README 明确说明 Xberg 是 Kreuzberg 项目的下一代迭代——同一套文档智能引擎,在全新的 v1 版本线下重建并更名。阅读历史背景有助于理解其架构的延续性。

能力总览(摘自 README.md):

能力说明
107 种文档格式PDF、Office、图像、HTML、邮件、电子书、学术文献与结构化数据,覆盖 141 种扩展名,内置智能 MIME 检测与受限提取控制
URL 与 Web对 http(s) URL 可提取单个文档,也可爬取并跟随链接(Auto / Document / Crawl 三种模式,由 crawlberg 引擎驱动),需启用 url-ingestion feature
音视频转写通过 Whisper ONNX(tiny → large-v3)将 MP3、M4A、WAV、WebM、MP4 音轨转为文字,需启用 transcription feature
压缩包递归遍历列出并递归提取嵌套的 .zip、.tar、.gz、.7z——文档套文档,并受 zip-bomb、压缩比与嵌套深度限制保护
按需 OCRTesseract、PaddleOCR、Candle、VLM 四种后端,支持回退链、置信度分数、语言自动检测,且可通过插件扩展
版面与表格ML 版面模型(PP-DocLayout-V3、RT-DETR)与表格结构模型(TATR、SLANet)重建阅读顺序与单元格网格,输出干净 Markdown
代码智能从 371 种编程语言中提取函数、类、导入、符号、文档字符串;面向 RAG 管道的语法感知分块
嵌入与检索本地(ONNX)或托管嵌入(经 liter-llm 接入 165 家服务商)、稀疏与晚期交互嵌入、交叉编码器重排序
富集能力NER、关键词提取(YAKE/RAKE)、摘要、翻译、脱敏、页面分类、QR 检测、语言检测、Token 缩减(TOON)
结构化提取基于 Schema 直接从任意文档产出 JSON,本地(Ollama、LM Studio、vLLM)或托管 LLM 均可,无需提示词工程
6 种输出格式纯文本、Markdown、Djot、HTML、JSON 树、Docling DocTags,另支持注册自定义渲染器
随处可跑库、CLI(14 个命令)、REST API(xberg serve)、MCP 服务器、Docker、Helm;默认仅需 CPU,无需 GPU;内置内容哈希缓存、并行批量、单文件超时

标有 requires a feature 的能力对应核心 crate 的 Cargo feature 开关(如 url-ingestion、transcription、reranker、layout/ORT 相关)。预编译的语言包与 Docker 镜像捆绑了常用组合;从源码构建时只启用你选中的部分。

二、格式支持矩阵:六大类别全解析

README 的完整格式清单按六类组织,Xberg 对每一类的处理能力并不相同——这正是选择输出格式与配置提取参数时的依据。

办公文档

类别格式能力
文字处理.docx、.docm、.doc、.dotx、.dotm、.dot、.odt、.pages、.wpd、.wp、.wp5、.wp6全文、表格、图像、元数据、样式
电子表格.xlsx、.xlsm、.xlsb、.xls、.xla、.xlam、.xltm、.xltx、.xlt、.ods、.numbers工作表数据、公式、单元格元数据、图表
演示文稿.pptx、.pptm、.ppt、.pps、.ppsx、.potx、.potm、.pot、.odp、.key幻灯片、演讲者备注、图像、元数据
PDF.pdf文本、表格、图像、元数据、OCR 支持
电子书.epub、.fb2章节、元数据、内嵌资源
数据库.dbf、.sqlite、.sqlite3、.db、.gpkg、.gpkx受限表提取、Schema 元数据、GeoPackage 检测
韩文文档.hwp、.hwpx韩文文档格式,文本提取

从源码看,办公类提取依赖一组纯 Rust 解析器:.xlsx 本质是 zip,核心 crate 在 Cargo.toml 的 excel feature 中直接引入 calamine + zip + quick-xml;.hwp/.hwpx 分别由 hwp(cfb + flate2)与 hwpx(unhwp)feature 支撑;WordPerfect(.wpd)则由 wordperfect feature 拉入 xberg-libwpd 绑定。

图像(可 OCR)

类别格式特性
位图.png、.jpg、.jpeg、.gif、.webp、.bmp、.tiff、.tifOCR、表格检测、EXIF 元数据、尺寸、色彩空间
高级格式.jp2、.jpg2、.j2c、.j2k、.jpc、.jbig2、.jb2、.pnm、.pbm、.pgm、.ppm经纯 Rust JPEG2000 解码器 OCR、JBIG2 支持、表格检测
HEIC 家族.heic、.heics、.heif、.heifs、.hif、.avif、.avcsEXIF 元数据,可选像素解码
矢量.svgDOM 解析、内嵌文本、图形元数据

音视频

类别格式特性
音频.mp3、.mpga、.m4a、.wav、.webmWhisper 转写
MP4 音轨.mp4、.mpg4、.mp4v、.m4v仅音轨转写
MPEG 音轨.mpeg、.mpg、.mpe、.m1v、.m2v仅音轨转写
WebM 音轨.webm仅音轨转写

Web 与数据

类别格式特性
标记语言.html、.htm、.xhtml、.xht、.xml、.kml、.svgDOM 解析、元数据(Open Graph、Twitter Card)、链接提取
结构化数据.json、.geojson、.jsonl、.ndjson、.yaml、.yml、.toml、.csv、.tsvSchema 检测、嵌套结构、校验
文本与 Markdown.txt、.adoc、.asciidoc、.vtt、.md、.markdown、.commonmark、.qmd、.rmd、.djot、.dj、.mdx、.doctags、.rst、.org、.rtfAsciiDoc、CommonMark、MyST Markdown、Quarto、R Markdown、Djot、MDX、DocTags、reStructuredText、Org Mode

邮件与压缩包

类别格式特性
邮件.eml、.msg、.pst头部、正文(HTML/纯文本)、附件、线程
压缩包.zip、.tar、.tgz、.gz、.7z文件清单、嵌套压缩包、元数据、递归提取

学术与科研

类别格式特性
引文.bib、.ris、.nbib、.enw结构化解析:RIS、PubMed/MEDLINE、EndNote XML、BibTeX/BibLaTeX
科研文档.tex、.latex、.typ、.typst、.jats、.nxmlLaTeX、Typst、PubMed JATS
文本笔记本.ipynb、.md、.py、.R、.jlJupyter、MyST-NB、Jupytext percent/light、保存的输出、单元格可见性标签
出版格式.fb2、.docbook、.dbk、.docbook4、.docbook5、.opmlFictionBook、DocBook XML、OPML 大纲

三、代码智能:371 种语言的语法感知提取

除文档外,Xberg 还内置基于 tree-sitter 的代码智能模块,可从 371 种编程语言提取结构(相关代码位于 crates/xberg/src/ 下):

特性说明
结构提取函数、类、方法、结构体、接口、枚举
导入/导出分析模块依赖、再导出、通配导入
符号提取变量、常量、类型别名、属性
文档字符串解析Google、NumPy、Sphinx、JSDoc、RustDoc 及 10+ 种格式
语法感知分块按语义边界拆分代码,供 RAG 管道使用
诊断带行列位置的解析错误

该能力由 tree-sitter-language-pack 语法包驱动,通过 CLI 的 tree-sitter 子命令管理语法下载与缓存(见下文 CLI 参考)。仓库内还提供了面向分块场景的完整测试与 fixture(见 crates/xberg/src/chunking/)。

四、输出格式与部署模式

6 种输出格式

格式适用场景示例
Plain纯文本,无标记"Chapter 1\nIntroduction"
Markdown可读、结构化、RAG 友好"# Chapter 1\n## Introduction"
Djot现代轻量标记类似 Markdown 但更严格
HTML带样式、浏览器可直接渲染<h1>Chapter 1</h1>
JSON机器可读的树结构带标题层级的分层章节
DocTagsDocling 兼容的文档元素与表格标签流<text>Chapter 1</text>

5 种部署模式

模式命令传输方式适用场景
库模式xberg::extract()异步函数嵌入自有应用
CLIxberg extract document.pdf14 个命令脚本、批量任务、CI/CD
REST APIxberg serveHTTP POST微服务、Serverless 部署
MCP 服务器xberg mcpstdio 或 HTTPClaude、Cursor、IDE Agent
Dockerdocker run ghcr.io/xberg-io/xberg全部模式容器化部署

五、安装指南:15 种语言绑定与四种运行形态

语言包安装

README 为每种语言绑定都给出了最小安装命令,以下为完整清单:

语言安装命令仓库内文档
Pythonpip install xbergpackages/python/README.md
Node.js / TypeScriptnpm install @xberg-io/xbergcrates/xberg-node/README.md
Rustcargo add xbergcrates/xberg/README.md
Gogo get github.com/xberg-io/xberg/packages/go@latestpackages/go/README.md
JavaMaven Central:io.xberg:xbergpackages/java/README.md
C#dotnet add package XbergIo.Xbergpackages/csharp/README.md
Rubygem install xbergpackages/ruby/README.md
PHPcomposer require xberg-io/xbergpackages/php/README.md
Elixirmix.exs 依赖中加入 {:xberg, "~> 1.0"}packages/elixir/README.md
WebAssemblynpm install @xberg-io/xberg-wasmcrates/xberg-wasm/README.md
Kotlin (Android)Maven Central:io.xberg:xberg-androidpackages/kotlin-android/README.md
Swift经 Swift Package Manager 添加packages/swift/README.md
Dart / Flutterdart pub add xbergpackages/dart/README.md
Zig经 zig fetch 添加packages/zig/README.md
C/C++ (FFI)作为本工作区一部分从源码构建crates/xberg-ffi/README.md

Go 安装特别提示:仓库根目录本身不是一个 Go module,直接执行 go get github.com/xberg-io/xberg 会失败;必须如上所示显式指定 /packages/go 子目录。

CLI 与部署形态

CLI 工具(macOS/Homebrew 与 Windows/Scoop):

brew install xberg-io/tap/xberg
scoop bucket add xberg https://github.com/xberg-io/scoop-bucket
scoop install xberg

CLI 共提供 14 个命令:extract、batch、detect、formats、version、cache、tree-sitter、doctor、serve、mcp、api、embed、chunk、completions。各命令实现位于 crates/xberg-cli/src/commands/。

Docker:

docker pull ghcr.io/xberg-io/xberg:latest

镜像支持 API、CLI、MCP 三种运行模式。仓库的 docker/ 目录提供了 core、full、cli、musl 等多套 Dockerfile 用于不同发布形态(如 Dockerfile.core、Dockerfile.full、Dockerfile.musl-node 等)。

REST API 服务器:

xberg serve --host 0.0.0.0 --port 8000

单个 POST 端点即可处理所有格式,返回 JSON 或 Markdown,支持大文件流式上传。

MCP 服务器:

xberg mcp --transport stdio

提供 9 个工具(extract、extract_batch、detect_mime_type、cache_stats、list_formats、cache_clear、get_version、cache_manifest、cache_warm)、3 个提示词(extract_document、extract_with_ocr、semantic_search)与 4 个资源(formats、models、OCR languages、embedding presets)。在 Claude Desktop 或 Cursor 中配置:

{
  "mcpServers": {
    "xberg": { "command": "xberg", "args": ["mcp"] }
  }
}

MCP 服务端的完整实现见 crates/xberg/src/mcp/(含 server.rs、prompts.rs、resources.rs、schema.rs 等模块)。

AI 编程助手插件

README 还提供了将 Xberg 能力注入主流 AI 编码工具的插件安装方式(插件清单见 plugin/ 与 plugin/package.json):

  • Claude Code:/plugin marketplace add xberg-io/xberg 后 /plugin install xberg@xberg;
  • Codex CLI:/plugins add https://github.com/xberg-io/xberg,搜索 xberg 并选择 Install Plugin;
  • Cursor:Settings → Plugins → Add from URL 后选择 xberg;
  • Gemini CLI:gemini extensions install https://github.com/xberg-io/xberg;
  • Factory Droid:droid plugin marketplace add ... 与 droid plugin install xberg@xberg;
  • GitHub Copilot CLI:copilot plugin marketplace add ... 与 copilot plugin install xberg@xberg;
  • opencode:在 opencode.json 的 plugin 字段加入 "@xberg-io/opencode-xberg"。

这些插件为编码助手提供提取 API、OCR 后端、配置与语言约定,使 Agent 能直接调用文档提取能力。

六、快速开始:第一个提取调用

README 给出了最核心的 Rust 示例——从单个文档提取文本:

use xberg::{extract, ExtractInput, ExtractionConfig};

#[tokio::main]
async fn main() -> xberg::Result<()> {
    let config = ExtractionConfig::default();
    let output = extract(
        ExtractInput::from_uri("document.pdf"),
        &config
    ).await?;

    println!("{}", output.results[0].content);
    Ok(())
}

三个关键类型承担了不同职责:ExtractInput 描述输入来源(from_uri 支持路径、URL,也支持从 stdin 读取),ExtractionConfig 承载全部提取选项(OCR 后端、输出格式、页面范围、质量开关等),extract() 是核心异步入口。更多语言专属示例、OCR、批量处理与 API 配置,可参考各语言包文档(链接见上表)以及仓库内跨语言的端到端测试目录 e2e/——其中 python、node、go、java、dart、swift、zig、elixir、ruby、php、csharp 等目录均包含对应的 E2E 测试用例(如 e2e/python/tests/、e2e/node/tests/),可直接作为"如何调用各语言绑定"的可运行示例。

七、CLI 参考:14 个命令一览

README 对全部 14 个命令给出了用途说明:

命令子命令用途
extract—从单个文档提取文本(路径、URL 或 stdin)
batch—并行提取多个文档
detect—识别文件的 MIME 类型
formats—列出全部受支持格式与 MIME 类型
version—显示 Xberg 版本
cachestats、clear、manifest、warm管理提取缓存与模型
tree-sitterdownload、list、cache-dir、clean管理代码智能语法
doctor—诊断本地安装与运行时依赖
serve—启动 REST API 服务器(默认 http://127.0.0.1:8000)
mcp—启动 MCP 服务器(stdio 或 HTTP 传输)
apischema输出 OpenAPI 3.1 规范
embed—为文本生成嵌入(本地或托管)
chunk—拆分文本为块(text、markdown、yaml 或 semantic 模式)
completions—生成 Shell 补全脚本

运行 xberg --help 或 xberg <command> --help 可查看每个命令的详细选项。命令实现位于 crates/xberg-cli/src/commands/(cache.rs、chunk.rs、embed.rs、doctor.rs、server.rs、tree_sitter.rs、formats.rs、ner.rs 等),其中 extract 目录还包含了与输入解析(input.rs)、输出渲染(output.rs)相关的子模块。

八、源码级纵深:能力边界由 Cargo Feature 决定

从源码(crates/xberg/Cargo.toml)可以清晰看到 Xberg 的能力边界如何被 feature flag 精确控制——这直接影响"从源码构建"时的选型决策:

  • default = ["tokio-runtime", "simd-utf8"]:默认仅包含异步运行时与 SIMD UTF-8 加速,其余能力全部显式开启,保持最小依赖。
  • 格式类:pdf(伞形 feature,转发到 pdf-native)、pdf-pdfium(PDFium 引擎)、excel/excel-wasm、office、hwp/hwpx、iwork、email、html、xml、archives、sqlite、mdx、svg、wordperfect、heic。
  • OCR 类:ocr(Tesseract 完整后端)、ocr-wasm、ocr-pipeline(共享 OCR 管线,VLM 专用)、paddle-ocr(ORT)与 paddle-ocr-tract(纯 Rust tract 引擎)、candle-ocr 系列(candle-trocr、candle-paddleocr-vl、candle-glm-ocr、candle-deepseek-ocr、candle-vlm-ocr 聚合)、sceptre-ocr 系列、auto-rotate/auto-rotate-tract(PP-LCNet 文档方向检测)、layout-detection/layout-tract(RT-DETR 版面 + 表格分类)。
  • ML/检索类:embeddings(ONNX 稠密嵌入)、static-embeddings(纯 Rust model2vec,无 ORT)、reranker、sparse-embeddings(SPLADE)、late-interaction(ColBERT)、transcription(Whisper ONNX + symphonia 解码)、formula-recognition。
  • 文本处理类:chunking/chunking-tokenizers、keywords(YAKE/RAKE)、language-detection、quality、diff、redaction/redaction-ml/redaction-rehydrate、summarization/summarization-llm、translation、classification、captioning、qr-codes、ner/ner-llm/ner-onnx/ner-candle、presets、structured。
  • 运行形态类:api(axum REST + OpenAPI)、mcp/mcp-http、url-ingestion(crawlberg 爬取)、tower-service、otel(OpenTelemetry)、prometheus(/metrics 端点)、profiling。
  • 目标聚合类:no-ort-target、wasm-target、android-target、windows-target、windows-gnu-target 为特定平台预选好了一组能力组合(例如 WASM 构建为控制体积刻意排除了 tree-sitter 代码智能)。

这意味着:预编译语言包与 Docker 镜像捆绑的是"常用组合",而从源码构建(cargo add xberg --features ...)时你只编译自己选择的 subset。例如只用本地 VLM 做 OCR 而无需 Tesseract 二进制时,仅启用 liter-llm(其内部隐含 ocr-pipeline)即可。

OCR 后端详解

README 列出的四个 OCR 后端,对应源码中不同的实现路径:

  • Tesseract——原生 C FFI(Linux/macOS/Windows)与 WASM(浏览器)双形态;bundle-tessdata-eng 可把英文 eng.traineddata(约 4MB)编译进产物实现离线 OCR;
  • PaddleOCR——ONNX Runtime,移动端优化模型,另有 paddle-ocr-tract 纯 Rust 变体用于无 ORT 目标;
  • Candle——纯 Rust、仅 CPU、轻量级,包含 TrOCR / PaddleOCR-VL / GLM-OCR / DeepSeek-OCR 多个 VLM 子后端;
  • VLM——GPT-4 Vision、Claude Vision、Gemini Vision 或经 liter-llm 接入的 165 家服务商。

四个后端支持配置回退链(fallback chains),即主后端失败后自动尝试下一后端;同时支持置信度分数与语言自动检测,并可通过插件系统注册新后端(相关注册/管理 API 的 E2E 用例见 e2e/python/tests/ 与 e2e/go/)。

嵌入与检索配置

  • 本地 ONNX 预设模型:fast、balanced(默认)、quality、multilingual 四档,维度 384 / 768 / 1024;
  • 托管服务:OpenAI、Anthropic、Google、Hugging Face、Mistral、Cohere 等共 165 家,经 liter-llm 统一接入;
  • 重排序:本地 ONNX 交叉编码器模型,或托管服务(如 Cohere Rerank)。

结构化提取与富集

  • 结构化 LLM 提取:本地引擎 Ollama、LM Studio、vLLM;远程 OpenAI、Anthropic、Google、Mistral、Cohere 等 165 家(liter-llm);支持 Schema 校验与 temperature、top-p、frequency penalty 调参——对应 structured feature 与 ExtractionConfig::structured_extraction 配置项;
  • 富集能力:NER(GLiNER 或 LLM)、PII 脱敏(电话、邮箱、SSN、信用卡、地址)、文档/章节摘要、多语言翻译、页面分类(封面/目录/正文等)、QR 解码、YAKE/RAKE 关键词、语言检测、版面/表格检测,以及 TOON wire format 的 Token 缩减(较 JSON 减少约 30–50% Token)。

九、REST API 与配置机制:ServerConfig 源码解读

xberg serve 背后是 crates/xberg/src/api/ 模块(router.rs、handlers.rs、jobs.rs、openapi.rs、openweb.rs、startup.rs、types.rs)。其服务器配置 ServerConfig 定义于 crates/xberg/src/core/server_config/mod.rs,关键默认值如下:

配置项默认值说明
host127.0.0.1默认仅本机访问
port8000服务端口
cors_origins空向量空表示允许所有来源;填入具体 origin 则仅放行白名单
max_request_body_bytes104_857_600(100 MB)请求体上限
max_multipart_field_bytes104_857_600(100 MB)多部分表单字段上限
job_timeout_secs600(10 分钟)POST /extract-async 任务的兜底超时

配置文件支持 TOML、YAML、JSON 三种格式,且可以采用扁平格式(server 设置位于根级)或嵌套格式(server 设置位于 [server] 段,与 [ocr] 等其他段并列)。配置加载遵循明确的优先级(见 crates/xberg/src/api/config.rs 的 load_server_config):

  1. 配置文件(若指定);
  2. 环境变量覆盖(apply_env_overrides);
  3. 内置默认值。

一个值得注意的语义细节:job_timeout_secs 是"兜底"值——单次请求中显式携带 extraction_timeout_secs: Some(n) 会覆盖它;但显式传 extraction_timeout_secs: null 并不会变成"不限时",而是仍回落到服务器级上限,因为共享服务器上无限时的任务等同于 DoS 风险。相关配置测试可见 crates/xberg/src/core/server_config/tests/(basic_tests.rs、env_tests.rs、file_loading_tests.rs)。

十、项目生态与周边工具

README 将 Xberg 定位为 xberg.io 开源内容智能生态的核心,并提及了周边配套(均为独立项目,本文仅作概述,不展开细节):

  • Xberg Pro / Xberg Enterprise:单容器自托管后端与基于 Kubernetes 的分布式、带治理能力的企业版(商业产品);
  • crawlberg:Web 爬取与抓取引擎,提供 HTML→Markdown 与 headless-Chrome 回退,支撑 Xberg 的 URL 爬取模式;
  • liter-llm:通用 LLM API 客户端,原生绑定 14 种语言、覆盖 165 家服务商,支撑 Xberg 的 VLM OCR、结构化提取与翻译能力;
  • tree-sitter-language-pack:tree-sitter 语法与代码智能原语,支撑 371 语言的代码提取;
  • alef:多语言绑定生成器,负责在 5 个 polyglot 仓库中生成各语言绑定。

此外,README 的 "Built with Xberg" 章节列出了若干声明依赖 Xberg(其前身名 kreuzberg)的第三方项目,覆盖 AI 平台、文档 MCP 服务器、搜索工具、知识图谱等方向,并邀请使用者在列表中提交 PR。

十一、参与贡献与许可

  • 贡献指南见 CONTRIBUTING.md;开发环境的构建任务可参考 Taskfile.yml(含 rust:build:profiling 等构建 profile)。
  • 本项目采用 MIT 许可,详见 LICENSE。

结语:从一次调用到完整部署

Xberg 的价值在于把"格式检测 + 解析 + OCR + 结构化输出"收敛为一次 extract() 调用,同时通过 15 种绑定、14 个 CLI 命令、REST/MCP/容器四种运行形态覆盖从脚本到生产服务的全部场景。阅读本文后,你可以从 README.md 的能力表选型、按第五节的命令安装对应语言包、参照第六节的 Rust 示例跑通首个提取,再依据第八节的 feature 矩阵裁剪构建、按第九节的 ServerConfig 配置生产 API——一套完整的文档智能链路就此打通。

  • 后端
  • AI 应用
  • NLP

【免费下载链接】xberg

Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with CLI, REST API, and MCP server.

项目地址: https://gitcode.com/gh_mirrors/kr/xberg
点击查看 免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值