PatentRadar
专利侵权分析系统 —— 输入专利公开号,产出竞品侵权分析报告;同时打包成 skill,可被任意 agent(dsh, codex, claudecode 等) 调用。
Install / Use
npx skills add yuc16/PatentRadarInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of PatentRadar
PatentRadar scores 85/100 on our quality scale, 564th of 953 AI & Machine Learning skills we index.
Its SKILL.md is 24 KB long, well organised into 40 sections with 20 code examples: a thorough specification that gives an agent plenty to work with.
It has 69 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so PatentRadar is actively maintained.
- Our last check on 2026-10-18 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 83/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
PatentRadar compared with similar skills
All 4 of these similar skills score higher than PatentRadar; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| PatentRadar (this skill)by yuc16 | 85 | 69 | 2mo ago | SKILL.md |
| claude-memby thedotmack | 100 | 113.8k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.5k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 91.0k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install PatentRadar?
- Run
npx skills add yuc16/PatentRadar. The install tabs above show the steps for each supported agent. - Which AI agents does PatentRadar work with?
- It is written for Claude Code and OpenAI Codex, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is PatentRadar safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 83/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is PatentRadar still maintained?
- The repository was last updated about 2 months ago, so PatentRadar is actively maintained.
Skill content
View source on GitHubPatentRadar
专利侵权竞品分析
输入一个专利公开号,输出一份竞品侵权分析报告——内容包括:逐项技术特征对比表、可点击的公开证据 URL、以及“还缺什么证据 / 下一步去哪查”的可执行建议。
https://github.com/user-attachments/assets/94f8f758-6a43-49a8-b16b-2e04e1d8e110
快速开始 · Skill安装(推荐使用) · Examples · 评估
</div>为什么需要 PatentRadar
传统侵权排查靠人工:律师团队读专利权 → 拆特征 → 翻竞品手册 → 搜证据 → 写 claim chart,一份高质量报告动辄 3-5 天。
PatentRadar 把这条链路压到 1 小时:4 个模块串行流水线 + 多源搜索 + 多模态证据抓取 + 严苛评分规则,让 LLM 做"信息整理"和"逐特征对比",把 可追溯复核 的 侵权分析报告直接交到律师手上。
🚀 快速开始
部署:两种模式
| 维度 | 模式A:独立部署(高性能) | 模式B:skill 嵌入(最简单,推荐) |
|---|---|---|
| 所需依赖 | 1、至少一个搜索工具(Tavily/Bocha/Exa/Brave)2、大模型的api | 零额外依赖,只需要codex或其他agent |
| 调度 | server/runner.py 串 4 个 CLI subprocess | 主 agent spawn 4 个 subagent |
| LLM 调用 | 项目内的 llm/provider.py 统一发包 | 由宿主 agent(Claude Code / Codex)的对话能力直接调用 |
| 搜索 / 抓页 | 项目内的 search/ + fetcher/ 模块 | 由宿主 agent 的 WebSearch / WebFetch 工具直接调用 |
| 可观测追溯 | Web Dashboard + 4 个 module log 文件 | 宿主 agent 的对话窗口 + 落盘 JSON |
注:关于模式A的所需依赖说明
- 搜索工具:推荐四个搜索工具全部连接,性能最强,模式A综合使用四个搜索工具,将不同工具的搜索性能极致发挥,其中tavily是主力搜索工具,消耗额度较高,所以.env中可配置多个tavily的api-key轮换使用。(如需大量低价api-key,可前往闲鱼购买)
- 大模型:模式A需要自己配置大模型的api-key,支持两种大模型的配置方式(推荐chatgpt auth,便宜、模型强、额度多):
- chatgpt auth(ChatGPT plus以上订阅可用,需本机安装codex cli后在终端运行
codex login完成 OAuth) - 其他OpenAI 兼容格式(aihubmix / DeepSeek / 自建网关)——请参考
.env.example
- chatgpt auth(ChatGPT plus以上订阅可用,需本机安装codex cli后在终端运行
模式A:分两种部署方式
方式 (1) · 本地 uv(推荐)
git clone https://github.com/yuc16/PatentRadar.git
cd PatentRadar
uv sync # 装全部依赖
cp .env.example .env # 在.env中填入你的所有API keys
PDF 渲染的系统层依赖 ——
uv sync只装 Python 包;WeasyPrint 另需系统级图形库(Pango / Cairo 等),Linux 还需中文字体(macOS / Windows 系统自带中文字体,无需另装)。缺图形库 → 只产出 md、无 PDF;缺中文字体 → PDF 中文乱码。按平台装一次即可(可以让AI帮你装)
Linux(Debian / Ubuntu)
apt install -y libpango-1.0-0 libpangoft2-1.0-0 libcairo2 \
libgdk-pixbuf-2.0-0 libffi8 shared-mime-info fonts-noto-cjk
其它发行版换包名,如 Fedora:
pango cairo gdk-pixbuf2+google-noto-sans-cjk-fonts。
macOS(Homebrew)
brew install pango # 连带 cairo / gdk-pixbuf 等依赖;中文走系统自带 PingFang SC
Windows
- 安装 MSYS2(默认选项)
- 在 MSYS2 shell 内执行:
pacman -S mingw-w64-x86_64-pango - 中文走系统自带「微软雅黑」,无需另装字体
若
uv run报找不到 libgobject / pango 等 DLL,把C:\msys64\mingw64\bin加入系统 PATH
若选 Codex 后端:到宿主机跑
codex login完成 OAuth;选 OpenAI 兼容后端:直接填.env
方式 (2) · Docker(无法使用 chatgpt auth)
宿主机只要装 Docker,不需要 Python / uv / weasyprint 系统库。
git clone https://github.com/yuc16/PatentRadar.git
cd PatentRadar
cp .env.example .env # 填入 API keys(容器里必须用 openai 兼容后端)
docker compose up -d --build # 首次构建并后台启动
open http://localhost:8000 # 浏览器打开 dashboard 即可使用
常用维护命令:
docker compose logs -f # 跟随日志
docker compose down # 关停
docker compose down && docker compose up -d # 改了 .env 后重启
docker compose down && docker compose up -d --build # 改了 src/Dockerfile/pyproject 后重建
容器内 /app/data、/app/logs、/app/configs、/app/patentradar_output 通过 volume 挂到宿主机同名目录,产物落盘后宿主机能直接看到。
使用:跑一篇专利
命令前缀按你的部署方式替换,命令体和产物路径完全一致:
- Docker:
docker compose exec patentradar <命令>- 本地 uv:
uv run <命令>
Web Dashboard(推荐,可视化 + 完整日志)
Docker 方式启动后即可访问;本地 uv 需要手动起 server,终端运行以下一行命令即可:
uv run uvicorn patentradar.server.app:app --reload --port 8000
浏览器打开 http://localhost:8000:
- 输入专利公开号,点「开始分析」即可端到端跑完 4 模块
- 4 个模块进度、每一次 LLM 调用 / 搜索调用 / 网页 fetch 实时显示
- 跑完后可回放(1x / 20x / 100x / 600x 倍速),支持导出离线 HTML 分享给同事
- 完整结构化日志写入
logs/<PUB>/:run.jsonl+module_N.log+module_N.stream.jsonl
HTTP API(脚本化 / CI 集成)
与 Web Dashboard 同源同接口,适合无人值守:
curl -X POST http://localhost:8000/api/run/CN110293961B
curl -N http://localhost:8000/api/stream/CN110293961B # SSE 实时事件
curl http://localhost:8000/api/status/CN110293961B # JSON 快照
POST /api/run/{pub} 同步校验格式(不合法专利号 → 400 + 错误信息);
若该 pub 已经在跑则直接 409,避免重复启动 BackgroundTask。
分步 CLI(调试 / 重跑某一步)
直接调每个模块的 CLI,业务产物正常落到 data/output/<PUB>/,但没有 logs/<PUB>/ 结构化日志(那是 server 模式专属):
uv run patentradar decompose CN110293961B
uv run patentradar competitor-search data/output/CN110293961B/task_package.json
uv run patentradar full-claim-chart data/output/CN110293961B/task_package.json \
data/output/CN110293961B/step5_top5_claim1_candidates.json
uv run patentradar report data/output/CN110293961B/task_package.json \
data/output/CN110293961B/top5_full_claim_chart.json
产物落盘位置(三种使用方式一致):
data/output/CN110293961B/
├── task_package.json # 模块 1:权利要求拆解
├── step1_query_plan.json # 模块 2 step1:查询计划
├── step2_search_results.json # 模块 2 step2:搜索原始结果
├── step3_candidate_shortlist.json # step3:候选清单
├── step4_candidate_evidence.json # step4:逐候选权 1 证据
├── step4_fetched_pages/<cid>.json # step4:全文证据池(供模块 3 复用)
├── step4_visual_log_fetched/ # step4:fetch 阶段抓回的全部图(审计用)
├── step4_visual_log_sent/ # step4:实际送给 LLM 的图(审计用)
├── step5_top5_claim1_candidates.json# step5:TOP-N 排名
├── top5_full_claim_chart.json # 模块 3:全 claim 对比
├── report.md # 模块 4:最终报告(markdown)
└── report.pdf # 最终报告(PDF)
scripts/run_full_pipeline.py是模块 2-4 的测试 wrapper(固定从tests/decompose/outputs/<PUB>/读模块一 fixture),仅供开发期调试,不适合跑生产专利。
模式 B:作为 skill 嵌入 Claude Code / Codex CLI
把 skills/patentradar/ 目录放到你的 agent 的 skill 路径下(或软链)。
或者直接在你的 agent 中(推荐 codex 或claude code)输入:
> 帮我安装https://github.com/yuc16/PatentRadar这个skill
即可完成部署,随后只需要自然语言输入你想要分析的专利公开号
> 帮我跑下 CN114512759B 的侵权竞品分析
skill 会自动触发,按顺序 spawn 4 个独立 subagent,每个 subagent 跑完用 JSON Schema 自动校验产物(失败时把错误清单透传给该 subagent 让它修正后重交,最多重试 2 次),4 个模块全跑完后告诉你 report.md / report.pdf 落盘位置。
🏗️ 架构
系统采用分层解耦设计,从顶到底共 6 层:接入层 → 调度层 → 业务模块层 → 适配层 → 外部服务层 → 持久层。下面给出三个视图:系统分层架构、模块内部工作流、核心数据流时序。
视图 1:系统分层架构(6 层)
graph TB
subgraph L1["① 接入层 · Access Layer"]
direction LR
CLI["🖥️ CLI<br/><i>typer</i><br/>patentradar decompose / search / chart / report"]
WEB["🌐 Web Dashboard<br/><i>FastAPI + SSE 流式推送</i><br/>· 4 模块进度可视化<br/>· 回放 1x ~ 600x · 离线 HTML 导出"]
SKILL["🤖 Skill Adapter<br/><i>Claude Code / Codex CLI</i><br/>spawn 4 个 subagent 串行 + schema 自校验"]
end
subgraph L2["② 调度层 · Orchestration"]
direction LR
ORCH["⚙️ Pipeline Orchestrator<br/><code>server/runner.py</code><br/>4 模块按序 subprocess 调度 · 失败重试 · 产物落盘"]
VAL["✅ Schema Validator<br/><code>schemas/validate.py</code><br/>每模块跑完自动校验 → 失败回填 LLM 重交(最多 2 次)"]
STREAM["📡 LLM Stream Writer<br/><code>llm/stream.py</code><br/>所有 LLM payload / response → <code>logs/<PUB>/module_N/</code>"]
end
subgraph L3["③ 业务模块层 · Business Modules(4 模块流水线)"]
direction LR
M1["📑 <b>M1 · Decompose</b><br/>━━━━━━━━━━━<br/>① 抓 Google Patents HTML<br/>② PDF Vision 兜底(公式/乱码)<br/>③ LLM 拆原子特征 C{n}-F{m}<br/>④ 选 9 大技术领域 tag"]
M2["🌐 <b>M2 · Competitor Search</b> (5 step)<br/>━━━━━━━━━━━<br/>① 拼 query(≥8 头部公司 × 双语 × 多维度)<br/>② 多 provider 并发搜索 + 申请人域名过滤<br/>③ LLM 抽 8-12 候选(带 SKU 锁定)<br/>④ 候选级并发 fetch 证据 + LLM 多模态判定<br/>⑤ Round-1/2 gap 补搜 → TOP-N 排名"]
M3["📋 <b>M3 · Full Claim Chart</b><br/>━━━━━━━━━━━<br/>① 复用 M2 evidence pool<br/>② 扩展全部从属权利要求<br/>③ 缺口特征带 SKU query 补搜<br/>④ Round-2 终判 + evidence_gap_brief"]
M4["📝 <b>M4 · Report</b><br/>━━━━━━━━━━━<br/>① 渲染 4 章节 markdown<br/>② TOP-N 一览表(HTML rowspan)<br/>③ WeasyPrint → A4 PDF<br/>④ 相似专利核查深链"]
end
subgraph L4["④ 适配层 · Adapters"]
direction LR
LLMA["🧠 LLM Provider<br/><i>llm/provider.py</i><br/>━━━━━━━━━━━<br/>· codex.py:ChatGPT OAuth + Responses SSE<br/>· openai_compat.py:/chat/completions<br/>· payload_compress.py:超长 prompt 自动压缩"]
SEARCH["🔍 Search Router<br/><i>search/router.py</i><br/>━━━━━━━━━━━<br/>按 query 意图路由 2-3 provider<br/>· Tavily(多 key 轮换)· Bocha(中文)<br/>· Exa(英文 neural)· Brave(评测/拆解)"]
FETCH["📡 Web / PDF Fetcher<br/><i>fetcher/</i><br/>━━━━━━━━━━━<br/>· google_patents.py<br/>· pdf.py:PyMuPDF 关键页 PNG<br/>· web_fetcher.py:httpx + lxml + 反爬识别"]
REND["🖨️ PDF Renderer<br/><i>scripts/render_pdf.py</i><br/>WeasyPrint + Noto/PingFang SC + 表格防溢 CSS"]
end
subgraph L5["⑤ 外部服务层 · External Services"]
direction LR
EXT_LLM["🤖 LLM Backends<br/>Codex (gpt-5.5)<br/>OpenAI 兼容网关<br/>aihubmix / DeepSeek"]
EXT_SE["🔎 Search APIs<br/>Tavily · Bocha<br/>Exa · Brave"]
EXT_WEB["🌐 Web Sources<br/>Google Patents · 厂商官网<br/>评测站 / 拆解站 / 维修手册"]
end
subgraph L6["⑥ 持久层 · Persistence"]
direction LR
SCHEMA["📜 Pydantic Schema 契约<br/><i>schemas/*.py + schemas/*.schema.json</i><br/>Candidate · FeatureComparison<br/>EvidenceSource · TopCompetitorReport ..."]
OUT["📁 <b>data/output/<PUB>/</b><br/>━━━━━━━━━━━<br/>report.md · report.pdf<br/>+ 8 个 step JSON 全过程留痕"]
LOGS["📋 <b>logs/<PUB>/</b><br/>━━━━━━━━━━━<br/>module_N/payload.json<br/>module_N/response.json<br/>(LLM 原始往返调试用)"]
end
CLI --> ORCH
WEB --> ORCH
SKILL -.->|skill 模式直接驱动 subagent,<br/>跳过 Python orchestrator| M1
ORCH --> M1
ORCH --> VAL
ORCH --> STREAM
M1 -->|task_package.json| M2
M2 -->|step5_top5_claim1_candidates.json| M3
M3 -->|top5_full_claim_chart.json| M4
M1 -.调用.-> LLMA
M1 -.抓专利.-> FETCH
M2 -.LLM 判定.-> LLMA
M2 -.搜索.-> SEARCH
M2 -.fetch 证据.-> FETCH
M3 -.LLM 判定.-> LLMA
M3 -.补搜.-> SEARCH
M3 -.fetch 证据.-> FETCH
M4 -.装配文本.-> LLMA
M4 -.PDF 渲染.-> REND
LLMA --> EXT_LLM
SEARCH --> EXT_SE
FETCH --> EXT_WEB
VAL -.读.-> SCHEMA
M1 -.契约约束.-> SCHEMA
M2 -.契约约束.-> SCHEMA
M3 -.契约约束.-> SCHEMA
M4 -.契约约束.-> SCHEMA
M4 --> OUT
STREAM --> LOGS
classDef l1 fill:#E3F2FD,stroke:#1565C0,color:#0D47A1,stroke-width:2px
classDef l2 fill:#FCE4EC,stroke:#C2185B,color:#880E4F,stroke-width:2px
classDef l3 fill:#FFF3E0,stroke:#E65100,color:#BF360C,stroke-width:2px
classDef l4 fill:#F3E5F5,stroke:#6A1B9A,color:#4A148C,stroke-width:2px
classDef l5 fill:#FFEBEE,stroke:#B71C1C,color:#B71C1C,stroke-width:1px,stroke-dasharray:5 3
classDef l6 fill:#E8F5E9,stroke:#2E7D32,color:#1B5E20,stroke-width:2px
class CLI,WEB,SKILL l1
class ORCH,VAL,STREAM l2
class M1,M2,M3,M4 l3
class LLMA,SEARCH,FETCH,REND l4
class EXT_LLM,EXT_SE,EXT_WEB l5
class SCHEMA,OUT,LOGS l6
关键设计点:
- 接入层与业务层完全解耦——CLI / Web / Skill 三种入口共享同一套 4 模块业务逻辑,无重复代码
- 调度层独立——Orchestrator + Validator + Stream Writer 三件套,让"业务执行"与"流程治理"分离
- 适配层屏蔽外部不确定性——LLM 后端切换、搜索 provider 增减、PDF 渲染替换都不会冒泡到业务模块
- 契约驱动——Pydantic Schema 同时是「LLM 输出格式约束」、「模块间数据传递契约」、「Validator 自动校验依据」
视图 2
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
113.8kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
109.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
91.0kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
