专利全能工作台(patent-workbench)
0. 三个路径(所有命令都从这里出发,先确认再动手)
| 代号 | 本机实测值 | 说 明 |
|---|---|---|
SKILL_DIR |
C:\Users\Administrator\.workbuddy\skills\patent-workbench |
技能根目录。若技能装到别处,先跑下面定位命令 |
PY |
C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe |
本机 Python。不要用裸 python,避免版本串味 |
案件目录 |
用户工作区下 YYYYMMDD_案件名/ |
见 §5 第 1 步 |
定位命令(找不到目录时先跑这两条,输出即真实路径):
dir /s /b "%USERPROFILE%\.workbuddy\skills\patent-workbench\SKILL.md"
where python & where py
> 下文所有 references/、scripts/、assets/ 都是相对 SKILL_DIR 的真实文件,不是占位说明。不确定就跑 §2 的资源自检命令核对一遍。
1. 30 秒上手(第一次用,只看这一节就够)
第 1 步 · 建案件目录
mkdir "D:\专利工作\20261019_某某案件" && cd "D:\专利工作\20261019_某某案件"
mkdir 01_交底书 02_检索 03_申请文件 04_OA答复 05_核稿 06_交付
第 2 步 · 查路由表选模块(§4):挖点→M1,交底书→M2,写申请文件→M3,查新/三性→M4,收到审查意见→M5,核稿→M6,改稿留痕→M7,实施例/附图→M8。
第 3 步 · 复制即跑(把 <案件目录> 换成你的路径):
C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe "C:\Users\Administrator\.workbuddy\skills\patent-workbench\scripts\disclosure_check.py" "01_交底书\disclosure.md"
- 输出「缺项」→ 按提示补材料(不脑补);
- 输出「通过」→ 继续该模块的下一个脚本(§6)。
最短判断:材料只有个想法 → M1→M2;已有完整交底书 → M3→M6;收到通知书 → M5。
2. 资源清单(真实文件,可一键核对)
一键自检(跑完应看到 3 组文件名、共 31 个,若数量不符说明技能文件被误删):
dir /b "%USERPROFILE%\.workbuddy\skills\patent-workbench\scripts\*.py"
dir /b "%USERPROFILE%\.workbuddy\skills\patent-workbench\references\*.md"
dir /b "%USERPROFILE%\.workbuddy\skills\patent-workbench\assets\*"
scripts/(14 个)
| 文件 | 用途 | 第三方依赖 |
|---|---|---|
patent_cli.py |
权项机械检查(18 条规则)+ rules + selfcheck 自检 |
无 |
claim_tree_check.py |
权项树校验(引用/循环/多项从属/术语) | 无 |
support_matrix.py |
支撑矩阵校验(法 26.3/26.4/33) | 无 |
build_report.py |
检索/布局/支撑 HTML 看板 | 无 |
disclosure_check.py |
交底书结构校验(.md/.json) | 无 |
disclosure_check_json.py |
交底书 JSON 结构校验 | 无 |
docx_text.py |
文档抽文本(.docx/.txt 零依赖) | .doc 需 olefile;.pdf 需 pypdf |
docx_to_md.py |
.docx → Markdown | mammoth |
md2docx.py |
Markdown → .docx | python-docx |
build_disclosure_docx.py |
零依赖生成 Word(Word 2003 XML) | 无 |
doc_extract.py |
老 .doc 文本抽取 | olefile |
tc_build.py |
痕迹修订四件套生成 | python-docx |
tc_verify.py |
痕迹修订 12 项核验 | python-docx |
tc_case_template.py |
痕迹修订案例模板(复制改写用) | — |
references/(8 份,选模块后必读对应的那一份)
mining-playbook.md(M1)、disclosure-guide.md(M2)、drafting-guide.md(M3)、search-playbook.md(M4)、oa-response-guide.md(M5)、review-checklist.md(M6)、embodiments-and-figures.md(M8)、statute-index.md(法条换号/费用口径,引法条前必查)。
assets/(9 份模板,填表即用)
JSON:claims_template.json、support_template.json、project_template.json、brief_template.json
MD:claims-template.md、spec-template.md、disclosure-template.md、intake-form.md、oa-input-checklist.md
> 详细 FAQ、反模式与完整报错处理:见 references/faq-and-antipatterns.md(§9 是精简版)。
3. 硬红线(每次任务必守,违反即停)
- 禁编造:专利号/公开号/法条原文/检索链接/实验数据,必须来自本次真实检索或用户提供;取不到就写「未获取」,严禁虚构。
- 法条口径:锚定《专利法》2020 修正(2021-06-01 施行)、《实施细则》国务院令第 769 号(2024-01-20 施行)、《审查指南》2023。旧细则条号已失效,映射表见
references/statute-index.md(如旧§20.2→新§23.2、旧§51→新§57)。引法条前先查该文件或联网核官方文本。 - 不承诺授权,不下「一定能授权/授权率高」结论;三性判断结论必须区分【事实】与【判断】,判断附依据。
- 材料保密:用户交底材料仅本地处理,不上传任何外部服务;对外检索只用公开数据库。
- 不超范围:任何修改建议必须附原始申请文件出处(页/段/行),给不出依据就不给。
- 不代提交:只产出文书草稿与策略,正式递交由用户或其代理师完成;涉外案件只给方向。
- AI 身份:交付物注明「AI 辅助起草,需发明人/代理师逐句复核」;实验数据不得 AI 生成。
4. 模块路由表(按用户意图选模块,可串联)
| 用户意图(触发词) | 模块 | 必读 references | 主要脚本 |
|---|---|---|---|
| 挖专利点、这个产品能申请什么、专利布局、还有没有创新点 | M1 挖掘与布局 | references/mining-playbook.md |
— |
| 写交底书、整理技术方案、只有一个想法、材料很散 | M2 交底书 | references/disclosure-guide.md |
scripts/disclosure_check.py、scripts/build_disclosure_docx.py |
| 写专利、权利要求书、说明书、独权从权、申请文件 | M3 申请文件撰写 | references/drafting-guide.md |
scripts/patent_cli.py、scripts/claim_tree_check.py、scripts/tc_build.py |
| 查新、检索、专利对比、有没有近似专利、三性、创造性、FTO、无效检索 | M4 检索与三性 | references/search-playbook.md |
scripts/support_matrix.py、scripts/build_report.py |
| 收到审查意见、OA 怎么答、创造性驳回、修改超范围、分案复审 | M5 OA 答复 | references/oa-response-guide.md |
scripts/docx_text.py、scripts/patent_cli.py |
| 核稿、专利文件质检、帮我看看权项有什么问题、审查前自查 | M6 核稿 | references/review-checklist.md |
scripts/patent_cli.py、scripts/claim_tree_check.py、scripts/docx_text.py |
| 保留修改痕迹、修订模式改、改的地方标出来输出 Word | M7 痕迹修订 | 本文件 §10 | scripts/tc_build.py、scripts/tc_verify.py |
| 实施例、具体实施方式、参数范围、附图说明、图号、部件编号 | M8 实施例与附图 | references/embodiments-and-figures.md |
— |
模块串联主链路:M1 挖掘 → M2 交底 → M3 撰写 → M4 检索三性(可与 M2/M3 并行前置)→ M6 核稿 → M5 OA 答复(收到通知书后)。M7 可挂在任何产出文档的修订环节。
跳过规则:材料已齐全时可直接从 M3 起步;只做单项任务(如只答 OA)不必回头跑 M1/M2。
5. 通用流程(每个任务都走)
- 项目建档:为每个案件建目录
YYYYMMDD_案件名/,子目录01_交底书 02_检索 03_申请文件 04_OA答复 05_核稿 06_交付。案件名去 Windows 非法字符<>:"/\|?*。 - 输入质检:先判断材料充分度再动笔——材料三件事(解决什么问题/具体怎么做/达到什么效果)缺一不可;详见
references/disclosure-guide.md的三档字数护栏与分领域完备度表。材料不足时先问 2-3 个关键问题,不硬写、不脑补填空。 - 边界声明:任务开始时向用户说明本技能边界(不构成法律意见、不承诺授权、正式申请建议委托代理师)。
- 生产:按对应模块 references 执行,产出 Markdown 中间稿。
- 质检:跑对应脚本(见 §6),人工清单过一遍;发现问题直接改稿再交付。
- 交付命名:
{案件名}_{YYYYMMDDHHmmss}.md(+同名 .docx)。时间戳命名、不覆盖旧稿;迭代时另存新时间戳文件并追加修订对话记录.md。 - 收尾:交付回复附「待发明人确认事项」清单(推导条目/待补事实/建议代理师把关事项三段式)。
6. 脚本命令(全部复制即跑,路径已写死为本机真实路径)
> 为省篇幅,下面用 PY 代 C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe,用 SKILL_DIR 代 C:\Users\Administrator\.workbuddy\skills\patent-workbench。实际执行时替换成完整路径,或先 set PY=...、set SKILL_DIR=...。
set PY=C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe
set SKILL_DIR=C:\Users\Administrator\.workbuddy\skills\patent-workbench
:: M2 交底书结构校验(.json 或 .md 均可,缺项 exit 1)
%PY% "%SKILL_DIR%\scripts\disclosure_check.py" 01_交底书\disclosure.md
:: M2 零依赖生成 Word(Word 2003 XML,Word/WPS 直接打开)
%PY% "%SKILL_DIR%\scripts\build_disclosure_docx.py" 01_交底书\disclosure.md 06_交付\交底书.docx
:: M3/M6 权利要求机械检查(18 条规则,输出带法条依据)
%PY% "%SKILL_DIR%\scripts\patent_cli.py" lint --claims 03_申请文件\claims.md --spec 03_申请文件\spec.md --abstract 03_申请文件\abstract.md --type invention -o 05_核稿\lint.md
%PY% "%SKILL_DIR%\scripts\patent_cli.py" rules :: 打印全部规则与法条依据
%PY% "%SKILL_DIR%\scripts\patent_cli.py" selfcheck :: 26 项回归自检(应输出"通过 26,失败 0")
:: M3/M6 权项树校验(需 claims.json,模板见 assets/claims_template.json)
%PY% "%SKILL_DIR%\scripts\claim_tree_check.py" --claims 05_核稿\claims.json --out 05_核稿\tree_report.md
:: M4/M6 支撑矩阵校验(需 support.json,模板见 assets/support_template.json)
%PY% "%SKILL_DIR%\scripts\support_matrix.py" --matrix 05_核稿\support.json --out 05_核稿\support_report.md
:: M4 HTML 看板(需 project.json,模板见 assets/project_template.json)
%PY% "%SKILL_DIR%\scripts\build_report.py" --project 02_检索\project.json --out 06_交付\report.html
:: M5 文档文本提取(.docx/.doc/.pdf/.txt/.md → 纯文本,按段归并)
%PY% "%SKILL_DIR%\scripts\docx_text.py" 04_OA答复\审查意见.docx -o 04_OA答复\oa.txt
:: 用户 .docx 转 Markdown(需 mammoth:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mammoth)
%PY% "%SKILL_DIR%\scripts\docx_to_md.py" -i 04_OA答复\原申请文件.docx -o 04_OA答复\origin.md
:: M7 痕迹修订四件套(洁净md/痕迹md/洁净docx/痕迹docx)
%PY% "%SKILL_DIR%\scripts\tc_build.py" --case tc_case.py
%PY% "%SKILL_DIR%\scripts\tc_verify.py" --case tc_case.py --dir .
依赖分级:patent_cli.py/claim_tree_check.py/support_matrix.py/build_report.py/disclosure_check.py/disclosure_check_json.py/build_disclosure_docx.py/docx_text.py(.docx/.txt) 零第三方依赖;tc_build.py/tc_verify.py/md2docx.py 需 python-docx;docx_to_md.py 需 mammoth;doc_extract.py 需 olefile;PDF 提取需 pypdf。缺依赖时脚本会明确报错并给出安装命令,不会静默失败。
装包统一用清华源(默认源会卡死):
%PY% -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx mammoth pypdf olefile
7. 端到端示例(照抄跑一遍,就知道产出长什么样)
场景:用户有一份讲「高速线材精轧区轧制工艺」的交底材料,要出申请文件并自查。
:: ① 材料入湖:把交底材料转成 md,放 01_交底书\disclosure.md
:: ② 结构校验 → 输出"缺项:有益效果未量化" → 回头问用户要对比数据(不脑补)
%PY% "%SKILL_DIR%\scripts\disclosure_check.py" 01_交底书\disclosure.md
:: ③ 按 M3 写 claims.md / spec.md / abstract.md 放 03_申请文件\
:: ④ 权项机械检查 → 输出 18 条规则命中清单,逐条改
%PY% "%SKILL_DIR%\scripts\patent_cli.py" lint --claims 03_申请文件\claims.md --spec 03_申请文件\spec.md --type invention
:: ⑤ 权项树校验(把权项按 assets/claims_template.json 填成 claims.json)
%PY% "%SKILL_DIR%\scripts\claim_tree_check.py" --claims 05_核稿\claims.json --out 05_核稿\tree_report.md
:: ⑥ 核稿:按 references/review-checklist.md 六维度逐项过,输出核稿报告
:: ⑦ 交付:时间戳命名 + 附"待发明人确认事项"清单
产出物长什么样(交付目录 06_交付\):
某某案件_20261019143022.md—— 正文(权利要求书 + 说明书 + 摘要)某某案件_20261019143022.docx—— 同名 Wordlint.md/tree_report.md—— 质检报告(带法条依据,可附卷)修订对话记录.md—— 迭代留痕- 回复末尾附「待发明人确认事项」三段式清单
8. 故障速查表(报错 → 原因 → 动作)
| 报错/现象 | 原因 | 动作 |
|---|---|---|
ModuleNotFoundError: docx |
缺 python-docx | %PY% -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx |
ModuleNotFoundError: mammoth / pypdf / olefile |
对应脚本的可选依赖 | 同上换包名安装;或改走零依赖路径(.docx→docx_text.py;Word 生成→build_disclosure_docx.py) |
系统找不到指定的路径 / FileNotFoundError |
用了相对路径或路径含空格未加引号 | 全部用 SKILL_DIR 绝对路径,路径一律加英文双引号 |
ModuleNotFoundError: No module named 'xxx'(自建脚本) |
工作目录不对 | 先 cd 到案件目录,脚本用绝对路径调用 |
| 控制台中文乱码 | Windows 默认 GBK | 先 chcp 65001,或用 -o 输出文件.md 落盘再看 |
UnicodeDecodeError |
输入 md 不是 UTF-8 | 用记事本另存为 UTF-8,或 docx_text.py -o 重导出 |
disclosure_check.py 退出码 1 |
交底书缺项 | 按输出清单补全,缺的数据去问用户,不自行编造 |
tc_verify.py 出现 FAIL |
痕迹修订不合规 | 有 FAIL 不得交付,回 tc_case.py 改后重跑 |
tc_case.py 报 SyntaxError |
CONTENT 语法错 | 行首标记 [+v] 必须在行首;{k\|保留}{d\|删除}{i\|插入} 大括号必须成对 |
| 长任务中途崩了 | 无自动重试 | 见下方「续跑规则」,不用从头再来 |
续跑规则(中途失败不用重头):
- 所有脚本只读输入、只写
-o指定文件,重复跑结果一致,可放心重跑单次脚本; - 所有产出按时间戳命名、不覆盖旧稿,重跑不会毁掉已生成的中间稿;
- 哪个模块失败就从哪个模块重跑(如 lint 挂了只需改
claims.md再跑 lint),不必回到 M1; - 先跑
%PY% "%SKILL_DIR%\scripts\patent_cli.py" selfcheck确认技能本体完好(应「通过 26,失败 0」)——若自检都不过,说明技能文件损坏,先核对 §2 文件清单。
9. 常见问题(精简 10 条,完整版见 references/faq-and-antipatterns.md)
- 能保证授权吗? 不能。只出文书草稿与策略,不下授权结论;正式申请建议委托代理师。
- 材料不全能写吗? 不能硬写。材料三件事缺一不可,缺什么先问用户 2-3 个关键问题,不脑补填空。
- 会不会把技术资料传出去? 不会。全部本地处理,对外只用公开检索渠道。
- 检索结论能当正式查新报告吗? 不能。口径统一为「检索范围内初步判断,需委托专业机构做正式查新」。
- 不会命令行怎么办? §6 的命令都是复制即跑,只需把路径换成你的案件目录;
PY/SKILL_DIR两条set先执行。 - 修改会不会超范围? 每处修改必须附原申请文件出处(页/段/行),给不出依据就不给;三层判定见
references/oa-response-guide.md§5。 - 旧资料里的旧细则条号能用吗? 不能直接用。查
references/statute-index.md换号映射后再引,并注明。 - 要写几个实施例?参数范围怎么定? 见
references/embodiments-and-figures.md五节范式与参数准则。 - 想要 Word 修订版(红字增删)怎么办? 走 M7:复制
scripts/tc_case_template.py→ 填 CASE/CONTENT →tc_build.py→tc_verify.py(有 FAIL 不交付)。 - 多个模块怎么串? 主链路 M1→M2→M3→M4→M6→(收通知后)M5,M7 挂在任意修订环节;材料齐全可直接从 M3 起步。
反模式(做了就是错):编造专利号/法条/数据;承诺授权率;修改无出处;把 AI 生成数据当实验数据;替用户递交;引用旧细则条号;覆盖旧稿不另存;tc_verify 有 FAIL 仍交付。
10. 痕迹修订(M7)速用
- 复制
scripts/tc_case_template.py到案件目录重命名tc_case.py,填 CASE(案件名/作者映射)与 CONTENT(内容源)。 - 内容源语法:行首
[+v]/[+a]/[+c]/[+4]标作者(无标记=基线保留,不产生修订标记);行内{k|保留} {d|删除} {i|插入};表格行首标记必须写在行首;公式>前缀;图[IMG:路径|图注]。 - 跑
tc_build.py --case tc_case.py生成四件套,再跑tc_verify.py --case tc_case.py --dir .,有 FAIL 不得交付。 - 作者代号语义固定:v=其他发明人稿 / a=AI补充 / c=申请人确认 / 4=申请人新稿。详见模板内注释。
11. 法条口径约定
- 所有交付物引用法条用现行条号;涉及 2024-01-20 前惯例时用
references/statute-index.md的换号映射表并注明。 - 费用金额不固化(申请费/实审费/年费以国家知识产权局最新公告为准),只说费减政策存在。
- 检索结论口径统一:「检索范围内初步判断,需委托专业机构做正式查新」。
12. 交付前总自检(任何模块通用)
- [ ] 无编造的公开号/法条/链接/数据(逐条核对来源)
- [ ] 发明名称 ≤25 字且以「一种」开头;摘要 ≤300 字
- [ ] 权项编号连续、引用全向前、无多项引多项;术语全文统一
- [ ] 每处修改/概括都有说明书出处;给不出出处的已列入待确认清单
- [ ] 交付物带时间戳命名,未覆盖旧稿
- [ ] 脚本质检无 FAIL(
tc_verify/lint 等),有 FAIL 已修完重跑 - [ ] 已向用户声明:AI 辅助起草、不构成法律意见、不承诺授权