维护、运行、调试并安全地准备用于上传的 CNIPA 专利状态批量查询 Streamlit 工具。在开发专利状态查询程序、CNIPA/国知局状态自动化、Excel 输入/输出处理、Playwright/CDP 浏览器查询、选择器更新、本地启动脚本,或对该项目的 GitHub 代码进行清洗(sanitization)时使用。
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 并禁止上传至远程仓库。
修改行为前,先检查本地上下文。
app.py、相关 patent_status_tool/*.py 模块及启动脚本。.gitignore 配置。rg(ripgrep)执行全文搜索。保持数据流向不变。
.xlsx 文件,或使用上传功能作为备用方案。output/ 目录。保障 CNIPA 自动化流程健壮性。
patent_status_tool/selectors.py 中的选择器。本地验证所有变更。
..venvScriptspython.exe -m py_compile app.py scriptsinspect_workbook_sheets.py patent_status_toolconfig.py patent_status_toolexcel_io.py
.一键打开网站.bat
.开国知局网页.bat
.gitignore 已排除 .env、.session/、logs/、output/、edge-cdp-profile/、.venv/、各类缓存文件以及原始工作簿文件。支持的必需列别名:
专利名称、名称、案件名称撰写时间、撰写日、交底书时间、起草时间支持的可选列别名:
申请号、申请号/专利号、专利号、申请编号申请人、专利申请人、申请(专利权)人、申请人/专利权人工作表与状态行为规则:
复审中、答复、已完成、已消化 或 审查 的行发起查询。非正常、驳回 或 授权 的行;其余命名行正常查询。申请日 >= 撰写时间 过滤;若仍无法唯一确定,则归入人工复核。导出的工作簿应保留原始工作表全部数据,并追加以下结果列:
申请号申请人当前状态规范化状态申请日匹配说明是否需人工核对查询时间原始命中数量同时创建名为 人工复核 的独立工作表,用于存放存在歧义、查询失败或需人工介入判断的记录行。
.env 文件;默认配置应统一维护在 .env.example 中。sample_input.xlsx、示例专利名称、示例申请人。建议优先更新根目录启动脚本,并在 README.md 中同步记录新流程说明。所有启动脚本路径应基于 %~dp0 或 %CD% 设置相对路径,禁止使用绝对用户路径。
编辑 patent_status_tool/selectors.py。选择器命名需与查询语义对齐,例如:query_application_no_input、query_input、query_button、result_rows、result_status 及各详情字段选择器。
编辑 patent_status_tool/excel_io.py,并确保其返回接口契约与 app.py 所依赖的一致。若 load_inputs() 函数签名或返回结构发生变更,须同步更新所有调用方,包括 scripts/ 下的所有脚本。
编辑 patent_status_tool/matcher.py,必要时同步调整 patent_status_tool/status.py。除非用户明确要求更改,否则必须维持“申请号优先匹配”原则及“歧义条目进入人工复核”的既有行为。
优先通过 .gitignore 配置 + 内容脱敏完成清理。若因权限限制无法执行破坏性删除操作,请清空敏感文件内容,并向用户明确说明哪些目录虽仍存在但已被 .gitignore 忽略。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章