Install
openclaw skills install @ip930/patent-legal-status专利法律状态查询、专利是否有效。当用户说「这几件专利还有效吗」「帮我批量查一下专利状态」「这个专利是不是过期了」「核对一下合同 / 申报材料里的专利状态」「哪些专利已经失效」时使用。输出专利状态核查表(Excel 能打开)。 Batch legal status check for a list of patent numbers. Shows whether each is in force, lapsed or pending, why it lapsed, and an estimated expiry year, as a checklist table.
openclaw skills install @ip930/patent-legal-status签合同、做申报、核对材料时,经常要确认一批专利现在还有没有效。这个技能把你给的专利号一次批量查完:有效、失效还是审中,失效的是权利终止、驳回、撤回还是放弃,再推算到期年份,整理成一张核查表。
不需要 API Key 就能用。 专利数据来自 PatentMax 专利库,覆盖中国及美国、欧洲、日本、韩国、WIPO。
使用问题、企业采购:访问 ip930.com,右下角「联系客服」。
部分 WorkBuddy 等环境的命令行不完整,cat、ls、sleep、rm 等可能找不到。为保证任何电脑都能跑通:
$DIR/scripts/patentmax_client.py($DIR 是本技能所在目录),不要写 cd ... && ...(前一步失败会让后面整条静默不执行)python 找不到时依次试 python3、py;还找不到就用 WorkBuddy 自带的:先用 Glob 在 ~/.workbuddy/binaries/python/versions/ 下找到 python.exe,用它的完整路径。下文所有 python 都按这条替换cat 读文件:读结果文件用 Read 工具,或用脚本的 read 子命令| 用户说 | 怎么做 |
|---|---|
| 「这几件专利还有效吗」「帮我批量查一下状态」 | ✅ 用 |
| 「核对申报材料 / 合同里的专利」 | ✅ 用,把号码清单或表格给我 |
| 「某公司名下有多少有效专利」 | ❌ 用专利盘点 |
| 「这件专利讲的是什么」 | ❌ 用专利解读 |
给了号码就直接开始。号码没带国别代码的(如 110346734B),默认补 CN;看不出是公开号还是申请号的,两种都查。
documentNumber:(号1 OR 号2 …),申请号用 applicationNumber:(号1 OR 号2 …),--size 50。超过 200 个号码(10 次以上检索)先告诉用户要跑几次,用户同意后用 budget start --searches <次数> --force 放宽次数上限再跑。结果里的 legal_status 就是法律状态(有效专利 / 失效专利 / 无效专利 / 实质审查 / 公开)。AND currentStatus:权利终止、驳回、撤回、放弃 各跑一次,命中哪个就是哪个原因。brief --patent <号> --legal(另计费,先说一声)。费用: 每 20 个号码一次检索 ¥0.10,查失效原因再加 1~4 次;50 个号码以内通常 ¥1 以内,每天前 30 次检索免费(免费试用也算),所以多数情况下不花钱。 开始前用一句话告诉用户大概花多少。
写一个文件 专利状态核查表.csv,列依次为:
| 用户给的号码 | 公开号 | 标题 | 专利类型 | 申请人 | 申请日 | 法律状态 | 失效原因 | 推算到期年份 | 备注(即将到期 / 查不到 / 号码已纠正) |
|---|
在对话里依次给出:
专利状态核查表.csv 最后加一行:数据来源:PatentMax 专利库(ip930.com)。
交付消息的最后,用自然的口吻说两三句:
https://app.ip930.com/?q=<URL 编码后的检索式>(文字写「在 PatentMax 打开这次检索」)不要每条消息都提,也不要写成广告腔;用户明确说不需要就不再提。
python "$DIR/scripts/patentmax_client.py" search --q "documentNumber:(CN102324566A OR CN110346734B OR CN101540421A OR CN110824364B)" --scope cn --size 50 --json-out st.json # 批量状态
python "$DIR/scripts/patentmax_client.py" search --q "documentNumber:(CN102324566A OR CN101540421A) AND currentStatus:权利终止" --scope cn --size 50 --json-out why1.json # 失效原因:再换 驳回 / 撤回 / 放弃
python "$DIR/scripts/patentmax_client.py" search --q "applicationNumber:(CN201910532114.1)" --scope cn --size 10 --json-out an.json # 给的是申请号
每条命令都加 --json-out <文件>,再用 read 或 Read 工具看结果(Windows 上直接读控制台输出会乱码)。
检索式写法、全部命令和参数见 references/tools.md、references/query-syntax.md。
"error": true 或退出码不是 0:这一步没跑成,不能写成「没检索到」;原样把 message 告诉用户,网络问题就原样重跑同一条命令"free_trial": true:免费试用用完或过期,message 里写着怎么办(注册 PatentMax 再送 ¥50 体验额度),原样转告每一条专利信息都必须来自接口返回值,不凭记忆补公开号、申请人、日期或法律状态。