patent-status-query-skill

Polar Sponsor
爱发电 赞助
.NET 9.0

维护、运行、调试并安全地准备用于上传的 CNIPA 专利状态批量查询 Streamlit 工具。在开发专利状态查询程序、CNIPA/国知局状态自动化、Excel 输入/输出处理、Playwright/CDP 浏览器查询、选择器更新、本地启动脚本,或对该项目的 GitHub 代码进行清洗(sanitization)时使用。

Perfatent Status Query Skill.

功能概述

Perfatent Status Query Skill.是一项面向实际任务的技能,主要用于Overview. 将这一技能用于专利状态批量查询程序;该项目是一个本地的Streamlit app程序,它读取 Excel 工作手册,查询 CNIPA 专利状态页面 t。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

专利状态查询技能

概述

本技能用于专利状态批量查询程序。该项目是一个本地运行的 Streamlit 应用,读取 Excel 工作簿,通过 Playwright 或 Edge CDP 会话访问国家知识产权局(CNIPA)专利状态页面进行查询,匹配结果,并导出带标注的 Excel 工作簿。

请确保生成的代码、文档及 Git 提交中不包含任何私有数据。严禁在技能或代码仓库中嵌入真实案件名称、申请人名称、账户凭据、Cookie、本地存储令牌、浏览器配置文件、日志、截图或生成的 Excel 输出文件。

项目结构图

核心入口文件:

  • app.py:Streamlit 用户界面与主工作流逻辑。
  • requirements.txt:Python 依赖列表。
  • .env.example:安全的运行时配置模板。
  • 一键打开网站.bat:网站根目录启动脚本。
  • 开国知局网页.bat 和 scripts/start_edge_debug.bat:以启用 CDP 调试模式启动 Edge 浏览器,供手动登录使用。
  • scripts/start_streamlit_8502.bat:在 http://127.0.0.1:8502 启动 Streamlit 服务。

模块化包结构:

  • patent_status_tool/config.py:运行时路径与环境变量定义。
  • patent_status_tool/browser_client.py:浏览器/CDP 协调控制逻辑。
  • patent_status_tool/query_service.py:批量查询主流程。
  • patent_status_tool/excel_io.py:Excel 工作簿解析与导出逻辑。
  • patent_status_tool/matcher.py:命中结果筛选逻辑。
  • patent_status_tool/status.py:状态字段标准化处理。
  • patent_status_tool/selectors.py:CNIPA 页面 DOM 选择器定义。
  • patent_status_tool/models.py:数据结构模型定义。
  • patent_status_tool/result_cache.py:JSONL 格式检查点缓存。
  • patent_status_tool/logger.py:日志系统初始化配置。

仅在运行时生成的路径:

  • .env
  • .session/
  • logs/
  • output/
  • edge-cdp-profile/
  • .venv/
  • __pycache__/

请将上述运行时路径视为敏感或自动生成内容,务必将其加入 .gitignore 并禁止上传至远程仓库。

工作流程

  1. 修改行为前,先检查本地上下文。

    • 阅读 app.py、相关 patent_status_tool/*.py 模块及启动脚本。
    • 新增文件前,请先检查 .gitignore 配置。
    • 推荐使用 rg(ripgrep)执行全文搜索。
  2. 保持数据流向不变。

    • 从本地路径加载 .xlsx 文件,或使用上传功能作为备用方案。
    • 自动识别“名称”、“撰写时间”列;并可选识别“申请号”、“申请人”和“状态”列。
    • 若某输入行已含申请号,则优先采用申请号查询方式。
    • 仅当无申请号时,才使用专利名称查询。
    • 将查询结果及人工复核表导出至 output/ 目录。
  3. 保障 CNIPA 自动化流程健壮性。

    • 当 CNIPA 页面 DOM 发生变更时,及时更新 patent_status_tool/selectors.py 中的选择器。
    • 优先选用稳定语义的选择器(如标签名、ARIA role、文本锚点、业务语义标识),避免依赖易变的位置型选择器(如 nth-child)。
    • 当需登录、验证码识别或人工验证时,应使用基于 CDP 的 Edge 流程。
    • 不可假设当前 CNIPA 页面可在未登录状态下直接查询。
  4. 本地验证所有变更。

    • 最低限度需执行以下编译检查:
..venvScriptspython.exe -m py_compile app.py scriptsinspect_workbook_sheets.py patent_status_toolconfig.py patent_status_toolexcel_io.py
  • 验证 UI 启动功能,请运行:
.一键打开网站.bat
  • 验证手动 CNIPA 登录/CDP 功能,请运行:
.开国知局网页.bat
  1. 为 GitHub 安全发布做好准备。
    • 确认 .gitignore 已排除 .env、.session/、logs/、output/、edge-cdp-profile/、.venv/、各类缓存文件以及原始工作簿文件。
    • 移除或脱敏所有硬编码的本地路径、个人姓名、公司名称、真实案件名称及内部工作簿文件名。
    • 上传前,请全局搜索私有路径、浏览器令牌、真实账户显示名、个人/企业标识符及工作簿名称等敏感信息。

Excel 规则

支持的必需列别名:

  • 名称:专利名称、名称、案件名称
  • 撰写时间:撰写时间、撰写日、交底书时间、起草时间

支持的可选列别名:

  • 申请号:申请号、申请号/专利号、专利号、申请编号
  • 申请人:申请人、专利申请人、申请(专利权)人、申请人/专利权人

工作表与状态行为规则:

  • 在发明专利工作表中,仅对状态包含 复审中、答复、已完成、已消化 或 审查 的行发起查询。
  • 在实用新型工作表中,跳过 L 列状态为 非正常、驳回 或 授权 的行;其余命名行正常查询。
  • 当按专利名称查询后仍存在多个匹配项时,进一步按 申请日 >= 撰写时间 过滤;若仍无法唯一确定,则归入人工复核。

输出规则

导出的工作簿应保留原始工作表全部数据,并追加以下结果列:

  • 申请号
  • 申请人
  • 当前状态
  • 规范化状态
  • 申请日
  • 匹配说明
  • 是否需人工核对
  • 查询时间
  • 原始命中数量

同时创建名为 人工复核 的独立工作表,用于存放存在歧义、查询失败或需人工介入判断的记录行。

安全规范

  • 禁止提交 .env 文件;默认配置应统一维护在 .env.example 中。
  • 禁止提交浏览器存储、Cookie、localStorage、截图、HTML 页面快照、日志、输出工作簿及用户案件数据。
  • 禁止在代码中硬编码绝对用户路径或项目专属私有工作簿名称。
  • 禁止在代码或文档中明文存储 CNIPA 用户名或密码。
  • 编写示例时,请使用占位符,例如 sample_input.xlsx、示例专利名称、示例申请人。
  • 若所请求的变更需真实访问 CNIPA 系统,请明确区分“代码逻辑验证”与“线上查询验证”两个阶段。

常见任务指南

新增或更新启动行为

建议优先更新根目录启动脚本,并在 README.md 中同步记录新流程说明。所有启动脚本路径应基于 %~dp0 或 %CD% 设置相对路径,禁止使用绝对用户路径。

更新选择器(Selectors)

编辑 patent_status_tool/selectors.py。选择器命名需与查询语义对齐,例如:query_application_no_input、query_input、query_button、result_rows、result_status 及各详情字段选择器。

修改 Excel 解析逻辑

编辑 patent_status_tool/excel_io.py,并确保其返回接口契约与 app.py 所依赖的一致。若 load_inputs() 函数签名或返回结构发生变更,须同步更新所有调用方,包括 scripts/ 下的所有脚本。

修改匹配规则

编辑 patent_status_tool/matcher.py,必要时同步调整 patent_status_tool/status.py。除非用户明确要求更改,否则必须维持“申请号优先匹配”原则及“歧义条目进入人工复核”的既有行为。

清理上传内容

优先通过 .gitignore 配置 + 内容脱敏完成清理。若因权限限制无法执行破坏性删除操作,请清空敏感文件内容,并向用户明确说明哪些目录虽仍存在但已被 .gitignore 忽略。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习