xIPnexxIPnex

文档解析(Parser SKILL)

一句话讲清楚

任何文件进了知识库,第一件事就是被一个"解析器"读懂、切块、提取元数据。 之前这一步是写死在平台代码里的——14 种文件类型用 if-elif 写死,新增一种格式得改源码。

现在不一样了:解析器是可插拔的 SKILL。平台预装了一批,客户也可以自己写一个装上来,地位完全平等。


它解决你的什么问题

你之前可能遇到的痛点现在怎么解
专利图、CAD 图纸、工程截图 上传后只能当二进制存着,搜不到写一个针对自家图纸格式的 parser SKILL,把图里的关键文字、零件号抽出来,自动建索引
专属合同模板 / 工单 / 报告 切块切得很离谱,关键条款被截断写一个"按章节锚点切"的索引模板 SKILL,按你的文档结构定制切块策略
一份 PDF 里既有正文、又有原理图、又有数据表,全部当文字处理导致图片信息丢失VLM 提示词包是 SKILL —— 不同场景(电路图/流程图/工业图)可以用不同提示词去识别
飞书文档、SCM 仓库里的代码、外部 webhook 推送的内容进不来知识库写一个"数据源 SKILL"接你的飞书空间 / GitHub 仓库,自动拉取入库
想换一种分块策略,但不会改平台代码fork 内置 SKILL,改两个 hook 函数或几行 yaml 就行

三个 Registry:平台启动时把 SKILL 全装上

Rendering diagram…

平台启动时扫一遍 builtin/ 和已安装 SKILL 的清单文件(manifest),按声明把解析器、数据源、VLM 提示词包全部装进对应的 Registry。 新增一种 parser,不需要改平台一行代码、不需要重启服务——上传 SKILL 包就行。


客户能怎么扩展(三档难度)

谁来做怎么做产出
会写代码的工程师用我们发布的开发包写一个完整 CLI,加一份 manifest独立 SKILL 包,发到 marketplace 或自家私部
会写脚本的工程师fork 一个最相近的内置 SKILL,改其中两个 hook 函数修改后的 SKILL
只会改配置的运维fork 内置 SKILL,改一份 values.yaml(chunk 大小、分隔符、VLM 开关等)配置覆盖包

重型用户不必从零开始。我们提供官方开发包做脚手架,把繁琐的命令行参数解析、错误处理、日志格式等模板代码都包好了,你只要专注"读你的文件、产出 chunk"这一件事。


三个行业的实际用法

专利代理 / IP 团队(xIPnex 场景)

  • 专利交底书 SKILL:抽取技术方案章节、权利要求草案、附图说明,按"权利要求 → 实施例 → 附图"语义切块
  • 审查意见通知书 SKILL:把审查员的意见和涉及的专利文件章节自动建立追溯关系
  • 图纸标号 OCR 提示词包:附图里的零件标号识别用专门的 VLM 提示词,避免被当普通图片处理

汽车研发 / OEM / Tier1(auto 场景)

  • DOORS 需求 SKILL:直接对接 DOORS Next 的 ReqIF 导出,按 module 拆 chunk,保留追溯属性
  • AUTOSAR ARXML SKILL:按 module/component 切块,把 SWC、port、interface 当独立可检索单元
  • MISRA 报告 SKILL:扫描 MISRA-C 违规报告,自动建立"代码行 ↔ 规则号 ↔ 严重度"映射,便于代码审核引用

智能制造 / 工厂(mfg 场景)

  • CAD 图纸 SKILL(DWG/STEP):调用图纸解析工具,把零件号、装配关系、关键尺寸抽出来变成可搜索结构
  • 工单 / 工艺卡 SKILL:按工序拆 chunk,提取工时、设备、物料字段
  • 客户报价单 SKILL:按"项目项 / 单价 / 数量 / 总价"结构化提取,方便后续 LLM 算总价、查历史报价

代码也是"文档":code-aware parser

代码进知识库不是当文本切几下就完事——它有结构。平台内置的 code-aware parser(M5 已上线)做的是真正按代码语义切

平台抽出来的字段用来干什么
outline_path(如 pkg.module.Class.method检索时直接看到"这段代码在哪个类/方法里"
function_decls / class_decls / import_decls"找定义""找类层级""看 import 关系"全靠它
references(含 resolved / unresolved 标记)"这个符号被谁调用了"——内部解析的就给 resolved,跨编译单元的标 unresolved(重索引档去补全)
siblings_signatures给 AI 看"同一个类里其他方法长啥样",写代码时能保持风格一致

当前内置 8 类:Python / Java / Kotlin / Go / TypeScript / JavaScript / C·C++ / Rust 都开 L3(AST 切片)+ L4(符号字段);audit 规则(L5)覆盖更广,连 Scala / Ruby / PHP / Swift / Dart / Lua / C# / Elixir 都能跑——完整 语言 × 索引层 矩阵代码索引 · 支持的代码类型

控制台里在哪儿选 code-aware

进入任一知识库 → 左侧 配置 Tab → 切片方法 下拉框里选 code-aware,再到下方 代码索引档位 选「轻 / 重」。

知识库 · 配置 Tab:切片方法下拉框展开,可见 code-aware 等所有 parser 选项

字段对应关系、parser_config.index_tier 等更细节的说明走另一篇:代码索引 · 控制台在哪儿改

想给某个语言开 L3/L4 切片,用 parser-sdk 半天就能补;想开 L6 SCIP(跨编译单元的精确导航)联系 info@nox-lumen.com 评估。

跟代码索引三档怎么衔接

Rendering diagram…

切块切得好不好,直接决定代码索引三档里"轻索引能不能秒回引用关系"。code-aware parser 是这条链路的入口质量

自定义代码 parser 的典型场景

场景为什么要自己写
自家 DSL(工厂的 G-code、专利的 ChemDraw 脚本、保险的规则脚本)tree-sitter 没现成语法包,自己接一个
私有协议描述文件(IDL / Protobuf 变体 / 自家 ARXML 子集)内置的不识别你的 schema
混合文档(Jupyter Notebook、文学化编程)既有代码又有 markdown,按你团队约定切

路径:fork 内置 code-aware,替换 tree-sitter 语法 + 改两个 hook 函数(extract_symbolsextract_references),其他逻辑(chunk 落库、字段映射)平台都帮你扛了。


现在已经稳定的内置解析能力

类别内置 SKILL能处理的文件
通用文档manual / naive / paperPDF、DOC、PPT、Markdown
法规 / 规范laws按"条款 / 章 / 节"切块
表格tableExcel / CSV / HTML 表
简历resume分块识别教育、工作、技能
图片picture + VLM 提示词包JPG / PNG / 截图 / 流程图
代码code-aware(M4 已上线)Python / Java / C++ / Kotlin / Go ... 按 AST 切块,识别函数 / 类 / import

入门怎么走

  1. 了解整体:先读 SKILL 是什么 这一页,知道平台所有"可插拔能力"都是 SKILL
  2. 试试看第一个自定义 SKILL 教程会带你从零跑通一个最小 parser
  3. 要参考内置 SKILL 仓库 已经开源——直接 fork 最近的一个改

相关概念

On this page