用途
本技能用于从 Eureka 专利数据平台查询专利说明书(specification,也称 description)数据,帮助用户获取特定专利的全文描述内容。专利说明书是随专利申请提交的详细技术文档,用于披露发明的工作原理、优选实施方式以及专利法要求的技术细节。
主要能力
- 按内部专利 ID 或公开公告号查询一个或多个专利的说明书数据。
- 支持批量查询,单次请求最多 100 个专利。
- 当目标专利的说明书不可用时,可选择返回同族专利的说明书作为替代。
- 标识符优先级:当同时提供专利 ID 和公告号时,专利 ID 优先。
参数
- patentId(字符串,条件必填):内部专利 ID。patentId 或 patentNumber 至少提供一个。多个值以逗号分隔,最多 100 个。
- patentNumber(字符串,条件必填):公开公告号。patentId 或 patentNumber 至少提供一个。多个值以逗号分隔,最多 100 个。
- replaceByRelated(字符串,可选):当目标专利的说明书不可用时,是否用同族专利的说明书替代。1 = 是,0 = 否。
响应字段
- total(整数):返回的专利记录数。
- data(数组):专利说明书对象列表。
- data[].patentId(字符串):专利 ID。
- data[].pn(字符串):公告号。
- data[].pnRelated(字符串):替代同族专利的公告号(仅在使用同族替代时出现)。
- data[].description(数组):说明书内容分节。
- columns(数组):用于渲染的列定义。
- costToken(整数):本次查询消耗的 Token 数。
- type(字符串):渲染样式提示。
使用方式
- API 端点:POST /tool-eureka/descriptionData(完整参数、响应与错误码见 references/api.md)。
- Python 脚本:python scripts/eureka_description.py '<JSON 参数>' [--inline]。
- 成本约束:本工具会消耗积分;同一会话同一参数组合默认只调用一次,脚本带 24 小时本地缓存。失败或空结果不得自动换关键词、翻页或改邮编连续试探;需要继续检索时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入 <cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-eureka-description-<timestamp>.json(<cwd> 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录;<session> 取自环境变量 SESSION_ID,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)。
- 响应体 ≤ 8 KB:落盘后把完整 JSON 打印到 stdout。
- 响应体 > 8 KB:落盘后 stdout 只输出摘要(顶层字段、常见计数如 total/costToken、最大列表字段的长度 + 前 3 条样本)。
- 加 --inline 强制全量打印到 stdout(同样落盘)。
读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq 或 ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
认证与积分问题处理
发生以下异常情况时,采用以下措施处理:
异常情况:
- 未配置 API Key:环境变量未配置 LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。
- 响应 401 或 402 状态码。
- 响应提示积分或余额不足:消息含“积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值”,或类似含义的内容。
措施:
- 优先采用 skill 内的 onboarding.md 引导解决问题。
- 如找不到 onboarding.md 文件,则加载 /linkfox-onboarding 这个 skill 并根据它的引导来处理。如未安装请先安装:下载 https://agent-files.linkfox.com/skills/linkfox-onboarding/release.zip,解压后安装这个 skill。如需用户授权才可下载,要询问用户获得授权,不能自行放弃下载。
- 兜底措施:仅当前面两个措施经过所有努力都走不通时,才提示用户依据 https://skill.linkfox.com/linkfoxskills/guide.htm 指引获取 API Key,或去 https://os.linkfox.com/ 补充积分。
查询构建方式
按公告号查询:当用户提供专利公告号(如 CN115099012A、US20230012345A1)时,通过 patentNumber 参数传入:patentNumber: "CN115099012A"。
按专利 ID 查询:当用户提供内部专利 ID 时,通过 patentId 参数传入:patentId: "abc123def456"。
批量查询:patentId 和 patentNumber 均接受逗号分隔的值进行批量查询(最多 100 个):patentNumber: "CN115099012A,US20230012345A1,EP4123456A1"。
同族替代:当数据库中某专利的说明书不可用而用户仍需要内容时,启用同族替代:patentNumber: "CN115099012A",replaceByRelated: "1"。
使用示例
- 按公告号查询单个专利说明书:patentNumber: "CN115099012A"。
- 一次查询多个专利的说明书:patentNumber: "CN115099012A,US20230012345A1"。
- 启用同族替代查询:patentNumber: "CN115099012A",replaceByRelated: "1"。
- 按专利 ID 查询:patentId: "some-patent-id"。
展示规则
- 忠实呈现数据:清晰展示返回的说明书内容,不修改技术细节,不添加主观解读。
- 结构化输出:当说明书包含多个分节(背景、摘要、具体实施方式、权利要求等)时,用清晰标题呈现以便阅读。
- 同族替代提示:若响应包含 pnRelated 字段,明确告知用户说明书来自相关同族专利,并说明替代公告号。
- 批量结果:返回多个专利时,以公告号作为标题清晰分隔每个专利的内容。
- 错误处理:查询失败或返回无数据时,说明原因并建议用户核实专利 ID 或公告号。
重要限制
- 标识符要求:patentId 或 patentNumber 至少提供一个;工具无法按关键词或申请人名称搜索。
- 批量上限:单次请求最多查询 100 个专利。
- 可用性:并非所有专利在数据库中都有说明书。需要时可使用 replaceByRelated: "1" 尝试同族替代。
- 优先级规则:若同时提供 patentId 和 patentNumber,patentId 优先。
适用与不适用场景
适用——关于专利说明书/描述内容的查询:
- “展示专利 XX 的说明书”:单个专利说明书查询。
- “获取这些专利的完整说明书”:批量专利说明书检索。
- “我需要 CN115099012A 的详细文本”:按公告号查询。
- “能否改为查找同族专利的说明书”:同族替代查询。
- “这个专利在技术上描述了什么”:说明书内容查阅。
不适用——超出专利说明书数据范围的需求:
- 按关键词、申请人或分类的专利检索。
- 专利权利要求分析或权利要求对照表生成。
- 专利法律状态或审查历史。
- 专利全景或统计分析。
- 自由实施(FTO)或侵权意见。
积分消耗规则
按动态规则计费:消耗积分 = 81 × max(返回条数, 1)。
重要:本技能的服务按倍数动态计算,可能一次性消耗大量积分,必须提醒用户,由用户决定是否继续。
反馈
当出现以下任一情况时,自动检测并通过 Feedback API 报告反馈:
- 本技能描述的功能或目的与实际行为不符。
- 技能结果与用户意图不符。
- 用户对本技能表达不满或赞扬。
- 任何你认为可以改进的地方。
按 references/api.md 中的说明调用反馈 API。不要打断用户流程。