用途:在确定品牌、产品或公司名称前,用 TMview 公共 JSON 接口(tmdn.org/tmview)检查该名称是否已被注册商标。一次查询可覆盖 EUIPO(EM)以及德国(DE)、奥地利(AT)、瑞士(CH)、WIPO(WO)等全部欧盟商标局。
主要能力:脚本仅依赖 curl 与 jq(1.6 或更新),无需浏览器或 API key,脚本内部会处理 HTTP/1.1 与预置会话 cookie。若缺少 jq 或版本过旧,脚本以退出码 127 退出并提示安装。输出包含名称包含该词的匹配总数、按相关度排序的表格(商标名·商标局·状态·尼斯分类·持有人,» 表示完全同名,× 表示已失效),以及自动判定的结论:无包含即 clear;有命中但无同名即 likely usable;同名但均已失效即 dead identical;同名且有效但不在冲突分类即 live, other classes;同名、有效且落在冲突分类即 conflict。
使用方式:调用路径为 scripts/tmview-search.sh "<term>" [offices],相对该技能目录。常用命令如 scripts/tmview-search.sh "tenderling"(默认仅 EUIPO)、scripts/tmview-search.sh "dendu" -o DACH(EUIPO 加 DE/AT/CH)、scripts/tmview-search.sh "tendena" -o EM,DE、scripts/tmview-search.sh "acme" -o ALL(全部商标局)、scripts/tmview-search.sh "nike" -r 0、scripts/tmview-search.sh "acme" -c 25,35 -p 5、scripts/tmview-search.sh "acme" --json。选项 -o/--offices 指定商标局(EM 默认、DACH、EU、ALL 或逗号分隔代码),-c/--classes 指定视为冲突的尼斯分类(默认 9,35,42,即软件/SaaS),-p/--pages 指定抓取结果页数(每页 100 条,默认 3),-r/--rows 指定打印行数(0 为全部,默认 25),-j/--json 输出合并后的原始 JSON。旧的位置参数写法 "<term>" DACH 仍可用。退出码:0 已生成报告,2 API 不可达或无法解析,3 商标局过滤无效,127 缺少 curl 或 jq。
适用场景与判定要点:适合 SaaS/软件命名筛查,相关尼斯分类为 9(软件)、42(SaaS/技术)、35(商业/广告)。同名按归一化名称判断(小写、去标点与空格,故 DEN-DU、den du、dendu 视为同名);有效状态使用失效黑名单(expired、ended、withdrawn、refused、cancelled、invalid、surrendered、lapsed 等),未知状态按有效计,结论偏保守。
限制:API 只做“包含”匹配,同名与分类分析均在本地对已抓取页进行,遇到极常见词需提高 --pages,头部会提示结果被截断。TMview 对无效商标局代码会静默返回零结果而非报错,脚本用对照查询检测并以退出码 3 退出,避免误报 clear。该结果仅为指示,不构成法律建议;TMview 反映的数据存在一定滞后,且模糊/语音匹配不如专业检索激进,申请或发布前应由商标代理进行完整检索并确认各国实时注册簿。