Patent XML Builder(PXB)|专利XML案卷包助手
> 专利电子申请 XML 案卷包生成器:把一份结构化模板,离线变成国知局电子申请客户端可导入的 XML 案卷包。
> 请求书严格对标本机内置的官方 XSD(lxml 校验通过才放行);三书按文本文档结构生成并明确标注“需官方客户端导入确认”。
一、它能做什么 / 不能做什么(务必先读)
能做(已实测可用):
- 发明专利请求书 110101.xml、实用新型专利请求书 120101.xml —— 用官方 XSD 本地校验,通过才产出。
- 说明书 / 权利要求书 / 摘要 文本文档 XML(按通用小节结构生成)。
- List.xml 案卷清单。
- 复杂元素(表格/公式/附图引用)自动检测 → 分配稳定 ID → 输出 manifest + 占位引用。
- 两步闭环·融合接口(已实测):复杂转换完成后,把图片按 ID 命名、放入目录,--merge 重跑即可自动把图片并入包内、生成说明书附图、更新 List.xml,形成【完整包】,无需人工手动拼合。
- 离线自检:扫描脚本是否含网络调用,给出可执行证据。
不能做 / 边界(如实告知,不夸大):
- 不连网、不上云:所有逻辑在本地文件 ↔ 本地脚本之间流动,产物留本地。
- 三书(说明书/权利要求/摘要)没有独立“表单型 XSD”(现行标准包中确无),属于 CNIPA 接受的“文本文档型”申报文件,本 skill 按通用结构生成,最终以官方客户端导入预览为准。
- 复杂转换(跨页表/非标表/化学式/复杂公式/附图)不在此 skill 内。走搭档 skill patent-complex-converter(已上线,独立运行)。本 skill 只负责检测并标记它们。
- 数字证书签名在国知局客户端/网页做,本 skill 不碰签名。
- 不保证 100% 免人工:著录项(姓名/证件号/地址)必须 100% 准确;复杂元素必须人工或走搭档 skill。
二、触发方式(友好、覆盖专业/非专业)
- 命令:
/专利XML或/patent-xml-builder - 自然语言:如“帮我把这份交底书生成国知局 XML 包”“生成发明申请 XML”
- 文件拖入:把填写好的
*.json模板拖入对话,说“按这个生成”
触发后进入交互层,自动识别你是“向导模式”(新手/非专业)还是“专家模式”(批量结构化 JSON)。
三、经典三层架构(减 token、稳复用)
┌─────────────────────────────────────────────┐
│ ① 交互层 (Interaction) │
│ 向导模板 / 专家 JSON / 每步指引 / 状态反馈 │
├─────────────────────────────────────────────┤
│ ② 业务/转换层 (Conversion) │
│ 解析 → 映射(本地XSD) → 复杂元素检测 │
│ → 案卷包装配 → XSD校验 → 报告 │
├─────────────────────────────────────────────┤
│ ③ 基础设施/安全层 (Infra & Safety) │
│ 官方XSD资产库 / 离线沙箱自检 / 版本管理 │
└─────────────────────────────────────────────┘
右侧横切保障:离线沙箱 · 异常处理 · 用户友好
· 免责FAQ · 版本管理(贯穿三层)
- 交互层:所有用户面向文案集中此处,文案稳定,token 开销小。
- 业务/转换层:确定性逻辑,是 token 主消耗区但可复用。
- 基础设施/安全层:共享、不随业务变;XSD 资产固化、离线自检。
四、十条设计取向 → 落地映射
| # | 设计取向 | 落地 |
|---|---|---|
| 1 | 经典三层、减 token | 见第三节;文案集中交互层,业务/基建层稳定复用 |
| 2 | 每步明确说明 | 每个脚本输出人读状态;SKILL.md 与各文档逐步指引 |
| 3 | 用户友好、不堆术语 | 双模式:向导(大白话 + 预填示例)/ 专家(批量 JSON);术语配例子 |
| 4 | 异常处理不崩溃 | 解析失败 → 明确提示;XSD 校验失败 → 带行号报告 + 建议;缺依赖 → 预检给安装指引;清单不一致 → 自动检出告警,绝不静默崩溃 |
| 5 | 功能全面、可折中 | 发明 / 实用新型新申请全覆盖;序列表(ST.26) 给指引不重造;证明文件继续 PDF |
| 6 | 触发友好 | 命令 / 自然语言 / 文件拖入 三入口;自动识别专业度 |
| 7 | 依赖尽量少 | 纯文本生成,不依赖 Office / LibreOffice(因此无需渲染引擎探测);仅需 lxml + Pillow 两库,缺失时预检给出安装指引 |
| 8 | 本地不联网更稳 | 脚本零网络 import(airgap_check.py 自检可证 + 产出 离线自检报告.txt)+ XSD 资产本地化 + 产物留本地不自动上传 |
| 9 | 免责 + 说明 + FAQ | docs/DISCLAIMER.md / docs/USER_GUIDE.md / docs/FAQ.md 齐备 |
| 10 | 后续演进 | 版本管理 / 可更新、预检核对清单、与官方客户端衔接、拒收反馈闭环、多类型路线图(见第九节) |
五、内置标准资产(已核验)
assets/standard/xsd_bundle.json:国知局专利电子申请数据规范 20240120全量模式树——121 个表单模式(.xsd),覆盖 119 个业务编号目录,含全部相对include。- 为何打包成单文件:SkillHub 平台不允许
.xsd扩展名随包上传(判定为“不允许的文件类型”)。故模式树以单文件 JSON 文本包分发(相对路径 → 文本内容),不是删除、不是精简,是换了个容器装。 - 怎么用:运行时首次需要校验时,由
scripts/xsd_store.py解包到本机缓存目录(默认%TEMP%\pxb_xsd_cache\<内容哈希>),再交给 lxml 校验。内容寻址(包一变,缓存名就变,不会用到过期模式)、原子落盘(先写临时目录再改名,中途失败不留半个树)、零网络(包内自带,不下载任何东西)。可用环境变量PXB_XSD_CACHE指定缓存根目录。 - 保真性实测:解包结果与原始模式树逐字节完全一致(122/122 文件)——
xsd_bundle.json为无损容器,可用python scripts/xsd_store.py --info自检。 - 实测:121 个模式中 119 个可被 lxml 独立编译通过;2 个失败(
101431.xsd元素名以数字开头违反 XML 规范、900009/111111.xsd的include相对路径自身写错)为官方包自带缺陷(已用未打包版本对照复测确认),且与本 skill 生成的两个表单无关。 - 本 skill 实际生成的发明
110101/ 实用新型120101两个表单模式即在其中,均编译与校验通过;其余表模式作为标准参考库随包,便于后续扩展到其他案卷类型。每个表单的最小依赖闭包 = 该表.xsd+common/1.0/common.xsd。 - 未随包:官方包附带的 Word 导出件(
.htm/.files/下的.gif/.mso/.thmx)、.dtd/.ent/.mod及.doc/.xls说明文档——均为运行时不需要的非模式文件(且含二进制,平台禁止上传)。去 DTD/ENT 不影响 XSD 校验:实测无任何.xsd引用.dtd/.ent。 assets/standard/increments/README.md:2024-11-20两个修订增量的文本说明(原.rar因平台禁止二进制已移除)。经逐字节比对,修订 3 的 4 张表(100012 / 101103 / 110402 / 110403,2025-01-10 生效)已并入上方模式树;修订 4 属批量接口数据库范畴,与案卷包 XML 无关。- 合计 23 个文件 / 约 900 KB(原 348 个 / 4.5 MB),已满足 SkillHub 单包 ≤200 文件、禁二进制、不得含
.xsd扩展名的上架约束;包内文件类型仅md / py / json / txt / png。 - 现行有效集 =
20240120 全量(已含2024-11-20修订 3)。诚实保留:不排除 2024-11-20 后还有更碎的增量;最终裁判永远是官方客户端导入校验。
六、使用流程(主链路)
- 填模板:复制
assets/templates/sample_invention.json,按字段填(向导模式可由本 skill 引导逐项填)。
> ⚠️ 著录项不能留空数组(2026-09-11 实测):inventors/applicants若为[],请求书 XSD 直接报
>Element '发明人': Missing child element(s). Expected is ( 第一发明人 ),申请人同理报第一申请人——即
> 至少各需 1 条记录。著录信息尚未拿到时,建一条姓名填"(待填写)"、其余字段留空的占位记录即可通过校验,
> 交付后再让用户替换;不要交空数组。
> 📄 只有交底书(无著录项、无正文)时的栏位映射:相关性分析→ 说明书background;摘要→abstract_text并据此扩充summary;
>代表性附图→drawing_desc+ 按图号裁切扫描件为FIG-001.jpg等再--merge。details/claims交底书一般不给,
> 不要臆造工艺参数,写成底稿并明确告知;可在输入 JSON 加_待补充事项键留存 TODO(_开头的键生成器会忽略)。详见docs/FAQ.mdQ12。 - 生成:运行
scripts/build_package.py <你的.json> --out <输出目录>。 - 看报告:
复杂元素转化操作流程.txt含校验结论、复杂元素清单、离线自检结果、产物路径。 - 核对:按报告“预检清单”逐项肉眼复核(著录项 100% 核对;复杂元素转图/人工)。
- 导入:用国知局“专利业务办理系统 / 电子申请客户端”导入
output/<目录>/下全部文件 → 预览 → 签名提交。
> ⚠️ 本 skill 产物 = 导入即用包,最后一步签名与提交在官方客户端完成(天然离线)。
七、本地/离线保障(命门,靠架构保证)
- 脚本纯离线:转换器只用
xml.etree/lxml(本地),禁止任何requests/urllib/网络 import(已用airgap_check.py自检证明)。 - XSD 本地存:标准资产随 skill 分发,校验永远走本地文件,不触网。
- 唯一真风险是 LLM 这一步:本 skill 默认云 LLM 不碰交底书正文(见下方铁律)。
- 铁律:默认模式 = 正文只在“本地文件 ↔ 本地脚本”流动;云 LLM 只参与字段模板/映射规则编排,不碰正文。
- 若必须让 LLM 抽取字段,请改用本地模型(Ollama/llama.cpp),或仅上传脱敏占位后的字段。 - 可选 air-gap:可设定环境完全断网运行,脚本本身不依赖网络。
八、关于"复杂转换"(表格/公式/附图)与两步闭环
本 skill 不做复杂渲染,但提供完整的"检测 → 转图 → 融合"闭环接口。
第〇步(能力边界:回收的是"包",不是"原稿")
这是最容易被误解的一点,先说清:
| 问题 | 结论 |
|---|---|
| 拆解出的复杂内容有回收机制吗? | ✅ 有。每处复杂元素在拆解时即分配稳定 ID 并写入 复杂元素清单.json/.txt,正文同步替换为占位引用,指针不丢。 |
| 搭档 skill 出的图能送回来吗? | ✅ 能。--merge <图片目录> 按 ID 自动匹配、校验、并入包内,无需手工拼合。 |
| 能自动"按原文件结构和内容复原组合"吗? | ✅ 在案卷包层面可以:三书正文按原输入 JSON 的区段顺序重建,每处占位指向对应图片,说明书附图.xml 登记附图,List.xml 登记全部文件;加 --recon 还会输出 复原预览.md 供逐处核对。 |
| 会改写我的原始 DOCX / 原始 JSON 吗? | ❌ 不会。本 skill 的输入是 JSON 模板,复原目标产物是 XML 案卷包;不提供"回填到原始 DOCX / 回写原始 JSON"的逆操作。若需要一份带图的原稿文件,请用 复原预览.md 对照人工整理。 |
| 表格图 / 公式图会进"说明书附图"吗? | ❌ 不会。按国知局口径,说明书附图只收附图(FIG-*);TAB-*/FOR-* 以独立附加文件登记进 List.xml,正文已插入指向标记,导入客户端后需人工确认摆放位置。 |
第一步(纯文本生成 + 检测告警)
> 🔑 编号铁律(跨 skill 对齐的前提):FIG-NNN 中的数字 就是说明书图号——FIG-003 即「图3」,与它在正文里第几个被提到无关。搭档 skill patent-complex-converter 从 DOCX 出图时同样按图号命名。两侧同规则,--merge 才能对位。
主 skill 解析时识别跨页表/非标表/化学式/复杂公式/附图,为每处分配稳定 ID(FIG-001/TAB-001/FOR-001),并:
- 在三书正文中把复杂元素替换成占位引用(如 图1(见附图文件 FIG-001)、【此处原含表格,已转附图 TAB-001 —— 见对应附图文件】),保持文本干净合规。
- 输出 复杂元素清单.txt/.json:列出每处 ID、所在区段、建议文件名、图片规格。
- 输出常驻的「复杂元素处置指引」——同时写入 复杂元素转化操作流程.txt(紧随【包状态】)与 复杂元素清单.txt,把两个分支一次说清:
- 分支 A · 不处理:仍会生成 请求书 + 三书 + List.xml,但正文留占位指针、图不在包内 → 可自查、不可提交。
- 分支 B · 要处理:① 处理哪个文件(交底书 DOCX / 按 manifest 人工出图)→ ② 送到哪(patent-complex-converter 的 convert.py)→ ③ 拿回什么(按 ID 命名的 FIG-001.jpg 等,规格见清单)→ ④ 放到哪(任意目录)→ ⑤ 怎么回传(--merge 重跑)→ ⑥ 回传后得到什么(完整包 + 正文清理 + 对照表)。
- 末尾附 「元素 ↔ 图号 ↔ 文件」对照表(含回收状态),并按显示宽度对齐,中文表格不错行。
第一步·收尾【强制提醒 · 三选项】(硬约束,不可省略)
> 🛑 硬约束(2026-09-11 新增):本 skill 在第一步(生成文本态包)完成、且 复杂元素清单 中检出 ≥1 处复杂元素时,必须在结束本步前向用户弹出【强制三选项提醒】,不得仅用文字提示代替、不得静默结束、不得替用户默认二选一。用户未显式选择前,不得继续任何融合 / 提交动作。目的:把"检测到复杂元素后要手动去找搭档 skill"这一步做成不可跳过的交互,降低小白用户"不知道下一步做什么"的门槛。
触发机制:使用 AskUserQuestion 工具弹出,问题文案自带【强提醒】标识与"当前包为文本态、复杂元素未并入 = 不可提交"的边界说明;三个选项如下(选项 header 不超过 12 字):
| 选项 | 文案 | 选中后本 skill 的行为 |
|---|---|---|
| 一 | 自动调用转图助手 | 直接通过 Skill 工具加载 patent-complex-converter,把 复杂元素清单(manifest)+ 图片规格 + 源文件交给它,按其路线出图(带文字层 PDF 走「情况一·自渲染」裁附图 + 重绘表 / 公式;DOCX 直接 convert.py)。待其产出按 ID 命名的图后,自动执行 build_package.py <输入.json> --merge <图片目录> --out <完整包> --recon,产出【完整包】并报告。 |
| 二 | 人工 / 第三方处理 | 保留文本态包(占位指针 + 对照表 + 处置指引)。向用户输出醒目回传提示:明确告知"你后续把复杂元素处理成图后,只需把图片按 ID 命名放进一个目录,回来对我说『把图合并进刚才的包』或给目录路径,我即自动 --merge 生成完整包";并附 manifest 路径、图片规格、命令模板。结束本步,但声明"随时可回传,无需重跑全流程"。 |
| 三 | 仅看结构 · 结束 | 直接结束本次任务,不再提示、不再生成完整包。简要告知产物位置,并重申"复杂元素未处理 = 文本态包、仅供自查、不可提交"的边界。 |
选项一·依赖预检与安装引导(硬约束,不可省略)
> 🔐 硬约束(2026-09-11 新增):用户选「一」之后、真正调用 patent-complex-converter 之前,本 skill 必须先确认该搭档 skill 已安装于本机;未安装时禁止直接报错空转,必须进入下方「安装引导」流程。
预检动作:检查本机 skill 目录(如 ~/.workbuddy/skills/)是否含 patent-complex-converter 目录,或尝试 Skill 加载并捕获"未安装 / 未找到"反馈。
未安装 → 强制询问(不得静默自动装、不得替用户默认配置):用 AskUserQuestion 弹三个子选项(header ≤12 字):
| 子选项 | 文案 | 选中后行为 |
|---|---|---|
| 自动装·自动配置 | 自动安装并配置 | 由 assistant 调用平台安装接口拉取 patent-complex-converter(或输出 SkillHub 安装链接引导用户点「信任 / 安装」);装好后自动把本 skill 的 manifest + 图片规格 + 源文件路径作为 convert.py 参数串起,续跑出图 → --merge → 完整包,不另起炉灶。 |
| 自动装·手动配置 | 自动安装·手动配 | 仅拉取安装 CC skill;出图所需的源文件路径 / 输出目录由 assistant 在下一步交互确认后填入,再续跑。适合想自己核对参数的用户。 |
| 暂不安装 | 改用人工或结束 | 退回主三选项的「二(人工 / 第三方处理)」或「三(仅看结构 · 结束)」,不强行安装。 |
- 平台不支持静默安装时:不假装成功——改为输出 CC skill 的 SkillHub 安装链接 / 命令并暂停等待,用户装完回来说"继续"再续跑。
- 装完必须续跑:无论自动 / 手动配置,安装成功后回到选项一主链路(交 manifest → 出图 →
--merge→ 完整包),形成「检测未装 → 询问 → 装 → 续跑」无缝闭环。
> 🔒 无资料泄漏红线(关键):安装 / 配置阶段只拉取公开的 skill 代码包(脚本 / 资源 / 说明)到本地目录,绝不读取、绝不上传用户的任何交底书正文 / 著录项 / 源文件内容。patent-complex-converter 这类 skill 的下载是"公开资产",不含你的案件数据;唯一的联网动作是"从 SkillHub 下载 skill 包本身"。CC skill 运行时的 OCR / 出图也只在本地文件 ↔ 本地脚本之间流动。自动配置仅传入"文件路径"等寻址信息,绝不传入文件正文;若环境要求联网安装,安装前后均不触达你的案件内容。
为什么做成硬约束:非专业用户往往不知道"复杂元素"需要另走一个 skill,也不会主动拼接 --merge;把"自动调用 / 人工 / 结束"三选项强制推到眼前,既保留全自动最快路径,也保留人工与退出路径,且每段交互都有明确落点。
第二步(融合,--merge)
用户用搭档 skill patent-complex-converter(对交底书 DOCX 跑 convert.py,自动按 FIG-001.jpg 等命名出图)或人工,把每处 ID 的内容渲染成图片放入一个目录,重跑:
python build_package.py <输入.json> --merge <图片目录> --out <输出>
主 skill 自动完成:按 ID 匹配 → 图片规格校验(JPEG/TIF、72–300 DPI、≤165×245mm)→ 复制到包内 → 生成说明书附图 → 更新 List.xml → 重新校验请求书 → 产出【完整包】,无需人工手动拼合。
> 🔑 正文的两态(2026-09-11 新增,务必理解):三书正文会随融合状态自动切换,不需要人工改字。
>
> | 状态 | 说明书正文里的附图引用 |
> |---|---|
> | 未融合(文本态) | 图1(见附图文件 FIG-001) —— 占位指针,告诉你缺哪张图 |
> | 已融合(正式态) | 图1 —— 占位被自动清理,恢复为可直接提交的正式文本 |
>
> 为什么必须清理:附图是独立的「说明书附图」文件,说明书正文里不该残留「(见附图文件 FIG-001)」这类内部指针,否则构成形式缺陷。ID↔图号↔文件 的映射改由 复杂元素转化操作流程.txt 的对照表与 复原预览.md 承载。
> 表格 TAB-* / 公式 FOR-* 的占位不清理——它们的图是独立附加文件,正文需要保留指向标记。
> 🔑 图片规格的权威口径在搭档 skill:上方 165×245mm / 72–300 DPI 是本 skill image_check.py 内置的保守取值,仅用于 --merge 时的快速复核。
> 权威口径为 patent-complex-converter 的 scripts/profiles.py(含发明 / 实用新型、外观设计、PCT、复审无效四类图样约束,profile_cite 可溯源)。
> 两者若出现差异,以 profiles.py 为准;若国知局调整规格,也以该文件为单一更新点。
>
> 已知项(不阻断,交叉核对时以人工确认为准):同一张未写入 DPI 的图,本 skill 报「无法换算物理尺寸,请人工确认」,而搭档 skill 会按 96 DPI 假定换算出具体尺寸。二者均为告警、均不阻断流程,但结论表述不同。
加 --recon 可额外输出 复原预览.md:按原输入 JSON 的区段顺序复原正文,并用一张表列出每处复杂元素的「ID / 类型 / 位置 / 行范围 / 回收状态」,用于人工核对拆解—转图—回填是否完整、有无错位。
python build_package.py <输入.json> --merge <图片目录> --out <输出> --recon
- 最佳处理:完整闭环自动完成——附图登记进
说明书附图.xml且正文占位指向它;表格/公式图作为独立附加文件登记进List.xml,正文插有指向标记。 - 最差处理:某 ID 缺图 → 报告标注"待补图:XXX",仍产出可用包(该处为占位),不崩溃、不静默丢内容。
- 是否需人工:复杂元素本身需"复杂转换 skill 或人工"产出图片;融合动作本身全自动。与国知局指引一致。
回收闭环的已知缺陷与修复(2026-09-11 实测审查后修复)
审查中用含"同区段重复图号 / 同区段两张表 / 含公式"的真实用例跑通全链路,暴露并修复了以下实质缺陷:
| # | 缺陷 | 后果 | 状态 |
|---|---|---|---|
| 1 | 同一区段内重复出现的同一图号被分配多个 ID,且 figure_map 被后一个覆盖 |
manifest 要求多张图,正文却只指向最后一个 → 必然"待补图" | ✅ 已改为段内 + 跨段双重去重 |
| 2 | 同一区段内的多个表格被合并成一个元素 | 第 2 张表无独立 ID,回收时内容实质丢失 | ✅ 已改为按连续行块切分,每块独立 ID |
| 3 | 表格占位逐行重复生成 | 6 行表格 → 6 条相同占位行,正文被污染 | ✅ 已改为一个表格块只产出一条占位 |
| 4 | 公式只登记不占位 | 转出的公式图与正文无任何指向关系,成为孤儿文件 | ✅ 已改为在公式行末追加"见公式图 FOR-00N" |
| 5 | 弱标记(² ³ ₁ ₂ 等上下标)被判为需转图 | 正文里每个 CO₂ 都建一个公式元素,噪声大 |
✅ 公式仅认强标记(∑∫√≤≥αβ… 与化学式),上下标保留文本 |
| 6 | 产物报告/清单只说"复杂转换专门 skill",未点名 | 用户不知道该用哪个 skill、怎么跑 | ✅ 报告与清单均已点名 patent-complex-converter 并给出具体命令 |
| 7 | --merge / --out 缺参数值直接 IndexError 崩溃 |
违反"异常不崩溃" | ✅ 改用 argparse,缺值/文件不存在/JSON 非法均给明确提示 |
| 8 | image_check 把"TIF 请确保 Group4"这类提示计入 errors |
合规图被误判为不合规 | ✅ 已拆分 errors(硬错误)与 warnings(提示),ok 只由硬错误决定 |
第二次端到端实测(2026-09-11,交底书扫描件 → 发明案卷包)暴露并修复的问题
用一份只有交底书扫描件(无著录项、无交底书 DOCX、背景技术栏空白)的真实输入跑完整链路,暴露 4 处问题:
| # | 问题 | 后果 | 状态 |
|---|---|---|---|
| 9 | 正文占位指针 图1(见附图文件 FIG-001) 残留在最终说明书的「附图说明」里 |
正式文本出现内部指针,构成形式缺陷;而该指针本是给"未融合"态用的 | ✅ 已修:正文两态化——已融合的附图自动还原为 图1,映射改由对照表承载 |
| 10 | 「复杂元素处置指引」只做 复杂元素转化操作流程.txt 顶部横幅 |
用户按提示做完 --merge 重跑后横幅被"✅ 融合完成"覆盖,最终包里反而看不出还有没有要处理的东西 |
✅ 已修:改为常驻区块,写入报告与 复杂元素清单.txt,任何状态都不消失 |
| 11 | 指引只说了"用搭档 skill",没回答"不处理会得到什么 / 处理哪个文件 / 送到哪 / 拿回什么 / 放哪 / 怎么回传" | 非专业用户不知道该拿什么去换什么 | ✅ 已修:指引改为分支 A / 分支 B 逐条回答六个问题,并附「元素↔图号↔文件」对照表 |
| 12 | to_human_text 的表格用 str.ljust 补空格 |
中文按 1 列计宽,等宽终端里表格错行 | ✅ 已修:新增 _pad(),按 east_asian_width 以显示宽度对齐 |
| 13 | inventors / applicants 为 [] 时请求书 XSD 报 Missing child element(s) |
用户不知道"著录项未定时该填什么",报错信息看不懂 | ✅ 已修:SKILL.md §六 + docs/FAQ.md Q11 明确"至少各 1 条占位记录",并给出 (待填写) 写法 |
| 14 | 交底书栏位 → 模板字段的映射规则未文档化 | 只有交底书时不知该怎么落 background / drawing_desc |
✅ 已修:SKILL.md §六 + docs/FAQ.md Q12 给出映射表与"不臆造参数、底稿要标明"的原则 |
| 15 | --merge 重跑直接覆盖 复杂元素转化操作流程.txt,把首次给出的「文本态 ⚠ / 分支 A|B 处置指引」抹掉 |
事后打开成品包,看不出当初缺哪些图、走过哪条分支——交接点被销毁,使用者会误以为"提示从没出现过" | ✅ 已修(v1.0.2):覆盖前自动另存 复杂元素转化操作流程_上一版(处理前).txt;连续再融合不重复归档 |
| 16 | 检测到复杂元素后只给静态"分支 A/B"文字,新手不知要手动去调搭档 skill、也不会拼接 --merge |
复杂元素长期留占位、包不可提交,交互断点 | ✅ 已加【强制提醒 · 三选项】硬约束:用 AskUserQuestion 弹出"自动调用转图助手 / 人工第三方 / 仅看结构结束",选项一直接串起 patent-complex-converter 并自动 --merge |
| 17 | 选项一直接 Skill 加载 CC skill,本机若未安装会报错 / 空转,用户再次卡在"缺依赖" |
复杂元素流程断在"依赖缺失"这步,与 #16 同性质的交互断点 | ✅ 已加【选项一·依赖预检与安装引导】硬约束:调用前先预检 CC skill 是否本机安装;未安装则强制询问(自动装·自动配置 / 自动装·手动配置 / 暂不装改走人工或结束),并写明"无资料泄漏红线"(安装只拉公开 skill 包、不读取不上传用户正文),装完无缝续跑原流程 |
九、后续演进思路
- 版本管理/可更新:标准资产带版本号+获取日期;提供“检查更新”步骤对照官方。
- 预检报告:输出人读核对清单(著录项/图片规格/清单一致性),逼用户最后过一遍。
- 与官方客户端衔接:明确“导入→预览→签名”步骤,产物即导入即用包。
- 拒收反馈闭环:被退回可回填原因,沉淀为规则,越用越准。
- 多类型路线图:首版聚焦发明/实用新型新申请(纯文本为主);外观/PCT/复审无效作后续模块。
- 输入脱敏默认:PII/证件号提供“占位/脱敏”开关,降低泄露面。
十、文件结构
patent-xml-builder/
├── SKILL.md # 本文件(L1 入口)
├── README.md # 上架简介(边界 + 角色 + 场景)
├── CHANGELOG.md / TERMS.md # 版本历史 / 使用条款
├── LICENSE.md # MIT
├── requirements.txt # 依赖:lxml + Pillow
├── _icon.png # 技能图标 512×512
├── assets/
│ ├── standard/xsd_bundle.json # 国知局 20240120全量模式树(121 表单模式,单文件文本包)
│ ├── standard/increments/ # 2024-11-20 修订增量(文本说明;模式已并入上方)
│ └── templates/ # sample_invention.json 等模板
├── scripts/
│ ├── patent_xml_lib.py # 生成核心库(110101/120101/三书/List)
│ ├── build_package.py # 主装配(生成+校验+检测+自检+报告)
│ ├── validate_xsd.py # 本地 XSD 校验
│ ├── xsd_store.py # 模式包解包器(单文件包 → 本地缓存目录,零网络)
│ ├── complex_detect.py # 复杂元素检测(分配ID+占位+manifest)
│ ├── image_check.py # 附图规格**快速复核**(授权口径见搭档 profiles.py)
│ └── airgap_check.py # 离线自检
├── docs/
│ ├── DISCLAIMER.md # 免责声明
│ ├── USER_GUIDE.md # 详细使用说明
│ ├── FAQ.md # 常见问题
│ └── EVALUATION_20260911.md # 打包前五维评估存档
├── output/ # 产物输出(默认留本地)
│ └── <案件>/
│ ├── 110101.xml / 120101.xml # 请求书(XSD 强校验)
│ ├── 说明书.xml / 权利要求书.xml / 摘要.xml
│ ├── 说明书附图.xml # 仅附图(--merge 后生成)
│ ├── 复杂元素清单.json/.txt # 复杂元素清单(回收接口)
│ ├── 复杂元素转化操作流程.txt # 报告(顶部告警 + 回传指引 + 自检结果)
│ ├── 复杂元素转化操作流程_上一版(处理前).txt # 仅当"先文本态、后 --merge"时生成:保留交接点原文
│ ├── 离线自检报告.txt # 离线自检产物证据(零联网扫描)
│ ├── 复原预览.md # --recon 时的原结构 + 回收对照
│ └── List.xml
└── ...
十一、重要免责(摘要,全文见 docs/DISCLAIMER.md)
本 skill 是辅助排版/格式生成工具,非法律意见,不替代专利代理师/审查员判断。生成的 XML 必须经国知局官方客户端导入校验与人工复核;提交人对其提交内容的真实、准确、合法负全责。因使用本工具导致的任何驳回、损失,作者不承担责任。