{"id":"cdef9dcb-657d-469f-8c16-141d30c02b7a","entityType":"agent","slug":"clawhub-canxiangcc-aminer-open-academic","name":"aminer-data-search","canonicalUrl":"https://www.xpersona.co/agent/clawhub-canxiangcc-aminer-open-academic","canonicalPath":"/agent/clawhub-canxiangcc-aminer-open-academic","generatedAt":"2026-10-10T03:18:59.268Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":null},"description":"ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: pap...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17831cxpje5h4nt59rdpynnf183jmh2:aminer-open-academic","sourceUrl":"https://clawhub.ai/canxiangcc/aminer-open-academic","homepage":"https://clawhub.ai/canxiangcc/skills/aminer-open-academic","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/canxiangcc/aminer-open-academic","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/canxiangcc/skills/aminer-open-academic","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":58,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"aminer-data-search technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":null},"stars":null,"forks":null,"downloads":3029,"packageName":null,"latestVersion":"1.1.1","tractionLabel":"3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T10:10:30.941Z","lastCrawledAt":"2026-10-09T10:10:30.941Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T10:10:30.941Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.1","createdAt":"2026-03-25T07:05:20.862Z","changelog":"No user-visible changes; version bump only.","fileCount":6,"zipByteSize":26964},{"version":"1.1.0","createdAt":"2026-03-25T07:00:32.779Z","changelog":"aminer-open-academic v1.1.0 - No code or content changes detected from the previous version. - Version number updated to 1.1.0; all rules, workflows, and documentation remain unchanged.","fileCount":5,"zipByteSize":25552},{"version":"1.0.9","createdAt":"2026-03-25T06:20:56.134Z","changelog":"**Expanded routing, cost reporting, and confirmation safeguards for paid AMiner APIs.** - Introduced strict free/paid routing rules: simple lookups route to aminer-free-search; use this skill only for deep analysis or when free APIs cannot meet user needs. - Added mandatory post-execution cost summary: display total charges and per-API costs to the user after every skill invocation. - Enforced explicit user confirmation before running any workflow or call chain estimated ≥ ¥5.00; now shows planned steps and projected costs and proceeds only upon user approval. - Clarified disambiguation procedure for scholars, organizations, and papers to reduce ambiguity and errors in entity identification. - Updated documentation and examples for consistent, secure token handling and stricter result URL requirements. - Reduced claimed workflow count from 6 to 5; API count adjusted to 27; removed mention of direct single API calls outside defined workflows.","fileCount":5,"zipByteSize":25551},{"version":"1.0.7","createdAt":"2026-03-10T05:57:41.214Z","changelog":"aminer-open-academic 1.0.7 - Updated SKILL.md documentation to use English instead of Chinese throughout. - Clarified usage scenarios, workflow overviews, and API examples for international users. - No code changes; all logic, workflows, and API structures remain unchanged. - Ensured all rules, guidance, and error messages are now available in clear English.","fileCount":5,"zipByteSize":24505},{"version":"1.0.6","createdAt":"2026-03-10T04:23:32.587Z","changelog":"aminer-open-academic v1.0.6 changelog: - Added version, author, and contact info to metadata section. - Introduced metadata.openclaw requirements: skill now requires `AMINER_API_KEY` as environment variable. - Documented four new mandatory rules: token security, cost control, free priority, and entity result links. - Clarified environment variable check flow for token, with required user guidance if missing. - Updated/expanded usage instructions for both environment variable and token parameter. - Refined interface guidelines for raw API calls, with stricter parameter validation and cost controls. - Added comprehensive rules on workflow escape handling and default item limits (top 10 if unspecified). - Updated API doc links and examples for consistency.","fileCount":5,"zipByteSize":25217},{"version":"1.0.5","createdAt":"2026-03-03T10:20:15.064Z","changelog":"- 文档结构及指引简化，删除了强制性环境变量（token）检查与安全规则说明。 - 将 token 获取流程统一简化为“控制台生成”，不再介绍环境变量用法。 - 删除了详细的“必读强制规则”，优化为简明 API 指南、更精炼的工作流说明。 - 精简和重新梳理了各大工作流用法说明，API 速查表迁移至文档末尾并补充。 - 示例命令全面使用 `--token <TOKEN>`，不再推荐环境变量设置写法。","fileCount":5,"zipByteSize":20759},{"version":"1.0.4","createdAt":"2026-03-02T07:28:45.761Z","changelog":"aminer-open-academic v1.0.4 - 文档中 API 文档链接由 /doc 更新为 /docs，统一跳转入口。 - 其余内容保持不变。","fileCount":5,"zipByteSize":24699},{"version":"1.0.3","createdAt":"2026-03-02T07:07:44.507Z","changelog":"aminer-data-search 1.0.3 - 新增完整使用说明，详细介绍 AMiner 开放平台 API 查询学术数据的场景和工作流。 - 强化安全、费用控制与接口调用优先级，明确 token 检查与隐私保护要求。 - 支持 6 大组合工作流和 28 个独立 API，详列每类学术数据分析和查询命令用法。 - 强制所有返回实体均附带可访问 URL，便于直接跳转查询学者、论文、专利和期刊详情。 - 新增稳定性保证机制（请求重试、降级与失败处理），确保调用可靠。 - 补充原理、接口选型、处理异常和最佳实践等说明，便于用户快速上手和灵活扩展。","fileCount":5,"zipByteSize":24694}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17831cxpje5h4nt59rdpynnf183jmh2:aminer-open-academic","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17831cxpje5h4nt59rdpynnf183jmh2:aminer-open-academic` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/canxiangcc/aminer-open-academic before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T03:18:59.263Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-canxiangcc-aminer-open-academic/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":null},"readme":"Skill: aminer-data-search\n\nOwner: canxiangcc\n\nSummary: ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: pap...\n\nTags: latest:1.1.1\n\nVersion history:\n\nv1.1.1 | 2026-03-25T07:05:20.862Z | user\n\nNo user-visible changes; version bump only.\n\nv1.1.0 | 2026-03-25T07:00:32.779Z | user\n\naminer-open-academic v1.1.0\n\n- No code or content changes detected from the previous version.\n- Version number updated to 1.1.0; all rules, workflows, and documentation remain unchanged.\n\nv1.0.9 | 2026-03-25T06:20:56.134Z | user\n\n**Expanded routing, cost reporting, and confirmation safeguards for paid AMiner APIs.**\n\n- Introduced strict free/paid routing rules: simple lookups route to aminer-free-search; use this skill only for deep analysis or when free APIs cannot meet user needs.\n- Added mandatory post-execution cost summary: display total charges and per-API costs to the user after every skill invocation.\n- Enforced explicit user confirmation before running any workflow or call chain estimated ≥ ¥5.00; now shows planned steps and projected costs and proceeds only upon user approval.\n- Clarified disambiguation procedure for scholars, organizations, and papers to reduce ambiguity and errors in entity identification.\n- Updated documentation and examples for consistent, secure token handling and stricter result URL requirements.\n- Reduced claimed workflow count from 6 to 5; API count adjusted to 27; removed mention of direct single API calls outside defined workflows.\n\nv1.0.7 | 2026-03-10T05:57:41.214Z | user\n\naminer-open-academic 1.0.7\n\n- Updated SKILL.md documentation to use English instead of Chinese throughout.\n- Clarified usage scenarios, workflow overviews, and API examples for international users.\n- No code changes; all logic, workflows, and API structures remain unchanged.\n- Ensured all rules, guidance, and error messages are now available in clear English.\n\nv1.0.6 | 2026-03-10T04:23:32.587Z | user\n\naminer-open-academic v1.0.6 changelog:\n\n- Added version, author, and contact info to metadata section.\n- Introduced metadata.openclaw requirements: skill now requires `AMINER_API_KEY` as environment variable.\n- Documented four new mandatory rules: token security, cost control, free priority, and entity result links.\n- Clarified environment variable check flow for token, with required user guidance if missing.\n- Updated/expanded usage instructions for both environment variable and token parameter.\n- Refined interface guidelines for raw API calls, with stricter parameter validation and cost controls.\n- Added comprehensive rules on workflow escape handling and default item limits (top 10 if unspecified).\n- Updated API doc links and examples for consistency.\n\nv1.0.5 | 2026-03-03T10:20:15.064Z | user\n\n- 文档结构及指引简化，删除了强制性环境变量（token）检查与安全规则说明。\n- 将 token 获取流程统一简化为“控制台生成”，不再介绍环境变量用法。\n- 删除了详细的“必读强制规则”，优化为简明 API 指南、更精炼的工作流说明。\n- 精简和重新梳理了各大工作流用法说明，API 速查表迁移至文档末尾并补充。\n- 示例命令全面使用 `--token <TOKEN>`，不再推荐环境变量设置写法。\n\nv1.0.4 | 2026-03-02T07:28:45.761Z | user\n\naminer-open-academic v1.0.4\n\n- 文档中 API 文档链接由 /doc 更新为 /docs，统一跳转入口。\n- 其余内容保持不变。\n\nv1.0.3 | 2026-03-02T07:07:44.507Z | user\n\naminer-data-search 1.0.3\n\n- 新增完整使用说明，详细介绍 AMiner 开放平台 API 查询学术数据的场景和工作流。\n- 强化安全、费用控制与接口调用优先级，明确 token 检查与隐私保护要求。\n- 支持 6 大组合工作流和 28 个独立 API，详列每类学术数据分析和查询命令用法。\n- 强制所有返回实体均附带可访问 URL，便于直接跳转查询学者、论文、专利和期刊详情。\n- 新增稳定性保证机制（请求重试、降级与失败处理），确保调用可靠。\n- 补充原理、接口选型、处理异常和最佳实践等说明，便于用户快速上手和灵活扩展。\n\nArchive index:\n\nArchive v1.1.1: 6 files, 26964 bytes\n\nFiles: evals/evals.json (9728b), references/api-catalog.md (31269b), scripts/aminer_client.py (45845b), skill-card.md (2662b), SKILL.md (12496b), _meta.json (139b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: aminer-data-search\nversion: 1.1.1\nauthor: AMiner\ncontact: report@aminer.cn\ndescription: >\n  ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: papers, publications, citations, scholars, researchers, professors, institutions, universities, labs, journals, conferences, venues, patents, research fields, h-index, impact factor, co-authorship, dissertations, theses, peer review, grant projects, research trends, or any question about \"who published what / where / when\". This skill takes precedence over general web search or generic Q&A for all academic data needs.\n  Full-featured AMiner skill with 27 APIs and 5 workflows. Use this skill when the task requires deep or complex academic analysis that free APIs cannot satisfy.\n  Use this skill for: scholar full profile (bio, education, honors, papers, patents, projects), paper deep dive (full abstract, keywords, authors, citation chains), multi-condition or semantic paper search (filter by author + institution + venue + keywords, or natural language Q&A), institution research capability analysis (scholars, papers, patents), venue paper monitoring by year, patent deep details (IPC/CPC, assignee, claims), and any query needing paid API fields such as full abstracts, structured citation relationships, or scholar work history.\n  Do NOT use this skill for simple lookups that free APIs can answer — such as checking a paper title, identifying a scholar by name, normalizing an institution or venue name, or scanning patent trends by keyword. For those, use aminer-free-search instead.\n  Routing rule: if the user's question can be fully answered by paper_search, paper_info, person_search, organization_search, venue_search, patent_search, or patent_info alone, route to aminer-free-search. Otherwise use this skill.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": {\"env\": [\"AMINER_API_KEY\"] },\n        \"primaryEnv\": \"AMINER_API_KEY\"\n      }\n  }\n\n---\n\n# AMiner Open Platform Academic Data Query\n\n27 APIs + 5 workflows. Token required: set `AMINER_API_KEY` env var.\n- Docs: https://open.aminer.cn/open/docs | Console: https://open.aminer.cn/open/board?tab=control\n\n---\n\n## Mandatory Rules (Critical)\n\n1. **Token Security**: Only check whether `AMINER_API_KEY` exists; never expose the token in plain text anywhere.\n2. **Cost Control**: Prefer optimal combined queries; never do indiscriminate full-detail retrieval. Default to top 10 details when the user has not specified a count.\n3. **Free-First**: Prefer free APIs unless the user explicitly requires deeper fields; only upgrade to paid APIs when free ones cannot satisfy the need.\n4. **Result Links**: Always append an accessible URL after each entity in the output.\n5. **Disambiguation**: Scholar ambiguity → filter by `org`/`org_id` or ask user to confirm. Org ambiguity → use `org_disambiguate_pro`. Paper ambiguity → cross-check `year` + `venue_name` + `first_author`.\n6. **Cost Report**: After completing all API calls, always output a cost summary to the user showing: each API called, its unit price, number of calls, and the total cost. Format example: `[Cost] ¥X.XX total, N API calls (api_a: ¥X.XX × N, api_b: Free × N)`.\n7. **High-Cost Confirmation (≥ ¥5)**: Before executing a workflow or call chain whose estimated total cost is ¥5.00 or more, **stop and ask the user for confirmation** first. Show the planned call chain, estimated cost per step, and the total. Only proceed after the user explicitly agrees. This applies to both predefined workflows (e.g., Scholar Profile ~¥6.00) and ad-hoc multi-step plans.\n\nEntity URL templates (mandatory):\n- Paper: `https://www.aminer.cn/pub/{paper_id}`\n- Scholar: `https://www.aminer.cn/profile/{scholar_id}`\n- Patent: `https://www.aminer.cn/patent/{patent_id}`\n- Journal: `https://www.aminer.cn/open/journal/detail/{journal_id}`\n\n---\n\n## Token Check (Required)\n\nCheck `AMINER_API_KEY` exists before any API call. Never expose token in plain text.\n\n```bash\n[ -z \"${AMINER_API_KEY+x}\" ] && echo \"AMINER_API_KEY missing\" || echo \"AMINER_API_KEY exists\"\n```\n\n- If `${AMINER_API_KEY}` exists: proceed. If not: check `--token` parameter. If neither: **stop**, guide user to [Console](https://open.aminer.cn/open/board?tab=control) to generate one.\n- If the user provides `AMINER_API_KEY` inline (e.g. \"My token is xxx\"), accept it for the current session, but recommend setting it as an environment variable for better security.\n- Default headers: `Authorization: ${AMINER_API_KEY}`, `X-Platform: openclaw`, `Content-Type: application/json;charset=utf-8` (POST).\n\n---\n\n## Call Guardrails\n\n1. Parameter names and types must match `references/api-catalog.md` exactly.\n2. `paper_info` is batch-only: `{\"ids\": [...]}`. `paper_detail` is single-paper only: one `id`. Never mix them.\n3. When multiple details are needed, filter with a low-cost API first, then fetch details for a small set.\n\n---\n\n## Paper Search API Selection Guide\n\nWhen the user says \"search for papers\", determine the goal first:\n\n| API | Focus | Use Case | Cost |\n|---|---|---|---|\n| `paper_search` | Title search → `paper_id` | Known paper title, locate target | Free |\n| `paper_search_pro` | Multi-condition search (author/org/venue/keyword) | Topic search, sort by citations or year | ¥0.01 |\n| `paper_qa_search` | Natural language Q&A / topic keyword search | Semantic search, structured keyword OR/AND | ¥0.05 |\n| `paper_list_by_keywords` | Multi-keyword batch retrieval | Batch thematic retrieval | ¥0.10 |\n| `paper_detail_by_condition` | Year + venue dimension | Journal annual monitoring | ¥0.20 |\n\nDefault routing:\n\n1. **Known title**: `paper_search -> paper_detail -> paper_relation`\n2. **Conditional filtering**: `paper_search_pro -> paper_detail`\n3. **Natural language Q&A**: `paper_qa_search` (fall back to `paper_search_pro` if no results)\n4. **Journal annual analysis**: `venue_search -> venue_paper_relation -> paper_detail_by_condition`\n\nKey `paper_qa_search` rules:\n- `query` and `topic_high/topic_middle/topic_low` are **mutually exclusive**; do not pass both.\n- `query` mode: pass a natural language string. `topic_*` mode: expand synonyms/English variants first.\n- Supports `sci_flag`, `force_citation_sort`, `force_year_sort`, `author_id`, `org_id`, `venue_ids` filters.\n\nFree-tier screening fields available:\n\n- `paper_search`: `venue_name`, `first_author`, `n_citation_bucket`, `year`\n- `paper_info`: `abstract_slice`, `year`, `venue_id`, `author_count`\n- `person_search`: `interests`, `n_citation`, `org/org_id`\n- `organization_search`: `aliases`\n- `venue_search`: `aliases`, `venue_type`\n- `patent_search`: `inventor_name`, `app_year`, `pub_year`\n- `patent_info`: `app_year`, `pub_year`\n\n---\n\n## Handling Out-of-Workflow Requests\n\nWhen the user's request falls outside the 5 workflows:\n\n1. Read `references/api-catalog.md` to confirm available APIs, parameters, and response fields.\n2. Design the shortest viable call chain: locate ID → supplement details → expand relationships.\n3. Do not give up because \"no existing workflow fits\"; actively compose APIs based on `api-catalog`.\n\n---\n\n## 5 Combined Workflows\n\n### Workflow 1: Scholar Profile (~¥6.00)\n\n**Use Case**: Complete academic profile — bio, research interests, papers, patents, projects.\n**Cost note**: Full execution exceeds the ¥5 threshold → **must ask for user confirmation before proceeding** (Rule 7). Show the planned steps and cost. Confirm which sub-modules are needed; skip patents/projects if not requested.\n\n**Call Chain:**\n```\nScholar search (name → person_id)\n    ↓\nParallel calls (pick as needed):\n  ├── Scholar details (bio/education/honors)         ¥1.00\n  ├── Scholar portrait (interests/work history)      ¥0.50\n  ├── Scholar papers (paper list)                    ¥1.50\n  ├── Scholar patents (patent list)                  ¥1.50\n  └── Scholar projects (funding info)                ¥1.50\n```\n\nFallback: if `paper_search` yields no results in sub-steps, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 2: Paper Deep Dive (~¥0.12)\n\n**Use Case**: Full paper information and citation chain from a title or keyword.\n\n**Call Chain:**\n```\nPaper search / Paper search pro (title/keyword → paper_id)\n    ↓\nPaper details (abstract/authors/DOI/journal/year/keywords)  ¥0.01\n    ↓\nPaper citations (cited papers → cited_ids)                  ¥0.10\n    ↓\n(Optional) Batch paper_info for cited papers                Free\n```\n\nFallback: if `paper_search` yields no results, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 3: Org Analysis (~¥0.81)\n\n**Use Case**: Institution scholar size, paper output, patent count — for competitive research or partnership evaluation.\n\n**Call Chain:**\n```\nOrg disambiguation pro (raw string → org_id)  ¥0.05\n    ↓\nParallel calls:\n  ├── Org details (description/type)             ¥0.01\n  ├── Org scholars (scholar list, 10/call)       ¥0.50\n  ├── Org papers (paper list, 10/call)           ¥0.10\n  └── Org patents (patent IDs, up to 10,000)     ¥0.10\n```\n\n> If disambiguation pro returns no ID, fall back to `org_search` (free).\n\n---\n\n### Workflow 4: Venue Papers (~¥0.10 - ¥0.30)\n\n**Use Case**: Track journal papers by year; useful for submission research or trend analysis.\n\n**Call Chain:**\n```\nVenue search (name → venue_id)                          Free\n    ↓\n(Optional) Venue details (ISSN/type/abbreviation)       ¥0.20\n    ↓\nVenue papers (venue_id + year → paper_id list)          ¥0.10\n    ↓\n(Optional) Batch paper detail query\n```\n\n---\n\n### Workflow 5: Patent Analysis (~¥0.02)\n\n**Use Case**: Search patents in a technology domain, or retrieve a scholar's/institution's patent portfolio.\n\n**Call Chain (standalone search):**\n```\nPatent search (query → patent_id)        Free\n    ↓\nPatent info / Patent details             Free / ¥0.01\n```\n\n**Call Chain (via scholar/institution):**\n```\nScholar search → Scholar patents (patent_id list)\nOrg disambiguation → Org patents (patent_id list)\n    ↓\nPatent info / Patent details\n```\n\n---\n\n## Individual API Quick Reference\n\n> Full parameter docs: read `references/api-catalog.md`\n\n| # | Title | Method | Price | API Path (Base: datacenter.aminer.cn/gateway/open_platform) |\n|---|------|------|------|------|\n| 1 | Paper QA Search | POST | ¥0.05 | `/api/paper/qa/search` |\n| 2 | Scholar Search | POST | Free | `/api/person/search` |\n| 3 | Paper Search | GET | Free | `/api/paper/search` |\n| 4 | Paper Search Pro | GET | ¥0.01 | `/api/paper/search/pro` |\n| 5 | Patent Search | POST | Free | `/api/patent/search` |\n| 6 | Org Search | POST | Free | `/api/organization/search` |\n| 7 | Venue Search | POST | Free | `/api/venue/search` |\n| 8 | Scholar Details | GET | ¥1.00 | `/api/person/detail` |\n| 9 | Scholar Projects | GET | ¥1.50 | `/api/project/person/v3/open` |\n| 10 | Scholar Papers | GET | ¥1.50 | `/api/person/paper/relation` |\n| 11 | Scholar Patents | GET | ¥1.50 | `/api/person/patent/relation` |\n| 12 | Scholar Portrait | GET | ¥0.50 | `/api/person/figure` |\n| 13 | Paper Info | POST | Free | `/api/paper/info` |\n| 14 | Paper Details | GET | ¥0.01 | `/api/paper/detail` |\n| 15 | Paper Citations | GET | ¥0.10 | `/api/paper/relation` |\n| 16 | Patent Info | GET | Free | `/api/patent/info` |\n| 17 | Patent Details | GET | ¥0.01 | `/api/patent/detail` |\n| 18 | Org Details | POST | ¥0.01 | `/api/organization/detail` |\n| 19 | Org Patents | GET | ¥0.10 | `/api/organization/patent/relation` |\n| 20 | Org Scholars | GET | ¥0.50 | `/api/organization/person/relation` |\n| 21 | Org Papers | GET | ¥0.10 | `/api/organization/paper/relation` |\n| 22 | Venue Details | POST | ¥0.20 | `/api/venue/detail` |\n| 23 | Venue Papers | POST | ¥0.10 | `/api/venue/paper/relation` |\n| 24 | Org Disambiguation | POST | ¥0.01 | `/api/organization/na` |\n| 25 | Org Disambiguation Pro | POST | ¥0.05 | `/api/organization/na/pro` |\n| 26 | Paper Batch Query | GET | ¥0.10 | `/api/paper/list/citation/by/keywords` |\n| 27 | Paper Details by Year+Venue | GET | ¥0.20 | `/api/paper/platform/allpubs/more/detail/by/ts/org/venue` |\n\n---\n\n## References\n\n- Full API parameter documentation: read `references/api-catalog.md`\n- Optional Python client: `scripts/aminer_client.py`\n- Test cases: `evals/evals.json`\n- Official documentation: https://open.aminer.cn/open/docs\n- Console: https://open.aminer.cn/open/board?tab=control\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn7c22dqbrjkrkvqgr7w0w88x182468m\",\n  \"slug\": \"aminer-open-academic\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1774422320862\n}\n\nFile v1.1.1:references/api-catalog.md\n\n# AMiner Open Platform API Complete Reference\n\n**Base URL**: `https://datacenter.aminer.cn/gateway/open_platform`  \n**Authentication**: All endpoints should default to `Authorization: ${AMINER_API_KEY}` and include `X-Platform: openclaw` in the request headers.  \n**Token**: Log in to the [Console](https://open.aminer.cn/open/board?tab=control) to generate one, then export it as `AMINER_API_KEY`.\n\n---\n\n## Table of Contents\n\n- [Paper APIs (8)](#paper-apis)\n- [Scholar APIs (6)](#scholar-apis)\n- [Institution APIs (7)](#institution-apis)\n- [Journal APIs (3)](#journal-apis)\n- [Patent APIs (3)](#patent-apis)\n\n---\n\n## Paper APIs\n\n### 1. Paper Search\n\n- **URL**: `GET /api/paper/search`\n- **Price**: Free\n- **Description**: Search by paper title; returns low-cost screening fields such as paper ID, title, DOI, venue, first author, citation bucket, and year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number (current online definition says it starts at 1) |\n| size | number | No | Items per page, maximum 20 |\n| title | string | Yes | Paper title |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Paper title (Chinese) |\n| doi | DOI |\n| first_author | First author |\n| n_citation_bucket | Citation bucket: `0`, `1-10`, `11-50`, `51-200`, `200-1000`, `1000-5000`, `5000+` |\n| venue_name | Venue title |\n| year | Publication year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 2. Paper Search Pro\n\n- **URL**: `GET /api/paper/search/pro`\n- **Price**: ¥0.01/call\n- **Description**: Multi-condition search; supports filtering by keyword, abstract, author, institution, and journal.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | No | Page number (starts at 0) |\n| size | number | No | Items per page |\n| title | string | No | Title keyword |\n| keyword | string | No | Keyword |\n| abstract | string | No | Abstract keyword |\n| author | string | No | Author name |\n| org | string | No | Institution name |\n| venue | string | No | Journal name |\n| order | string | No | Sort field: `year` (descending by year) or `n_citation` (descending by citations); omit for composite ranking |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search/pro?title=transformer&author=Vaswani&order=n_citation&page=0&size=5' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 3. Paper QA Search\n\n- **URL**: `POST /api/paper/qa/search`\n- **Price**: ¥0.05/call\n- **Description**: AI-powered intelligent Q&A search; supports natural language queries and structured keyword search.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| use_topic | boolean | Yes | Whether to use combined keyword search. When `true`, use topic fields; when `false`, use title/query. |\n| topic_high | string | No | Valid when use_topic=true; keywords that must match (AND logic). Nested array format: `[[\"termA\",\"termB\"],[\"termC\"]]` — outer AND, inner OR. |\n| topic_middle | string | No | Strongly boosted terms; same format as topic_high. |\n| topic_low | string | No | Weakly boosted terms; same format as topic_high. |\n| title | []string | No | Title query when use_topic=false. |\n| doi | string | No | Exact DOI query. |\n| year | []number | No | Year filter array. |\n| sci_flag | boolean | No | Return SCI papers only. |\n| n_citation_flag | boolean | No | Boost papers with high citation counts. |\n| size | number | No | Maximum number of results to return. |\n| offset | number | No | Offset. |\n| force_citation_sort | boolean | No | Sort entirely by citation count. |\n| force_year_sort | boolean | No | Sort entirely by year. |\n| author_terms | []string | No | Author name query; OR relationship within array; include multiple variants. |\n| org_terms | []string | No | Institution name query; OR relationship within array. |\n| author_id | []string | No | Author entity ID filter; accepts single ID or ID list. OR relationship with author_terms when both are provided. |\n| org_id | []string | No | Institution entity ID filter; accepts single ID or ID list. OR relationship with org_terms when both are provided. |\n| venue_ids | []string | No | Conference/journal ID list filter. |\n| query | string | No | Raw natural language question (slower); system auto-extracts keywords. Takes precedence over topic_high when both are provided. |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| data | Paper ID list |\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| Total / total | Total count |\n\n**curl Example (natural language Q&A):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"use_topic\": false, \"query\": \"deep learning protein structure prediction\", \"size\": 10, \"sci_flag\": true}'\n```\n\n**curl Example (structured keywords):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\n    \"use_topic\": true,\n    \"topic_high\": \"[[\\\\\"transformer\\\\\",\\\\\"self-attention\\\\\"],[\\\\\"protein folding\\\\\"]]\",\n    \"topic_middle\": \"[[\\\"AlphaFold\\\"]]\",\n    \"sci_flag\": true,\n    \"force_citation_sort\": true,\n    \"size\": 10\n  }'\n```\n\n---\n\n### 4. Paper Info\n\n- **URL**: `POST /api/paper/info`\n- **Price**: Free\n- **Description**: Batch-retrieve lightweight paper cards by paper ID, including abstract slice, year, venue ID, author list, and author count.\n\n> **Mandatory Parameter Constraints (High Priority)**\n> 1. `paper_info` only supports the batch parameter `ids` (array); it does not support a single `paper_id`.\n> 2. `paper_detail` only supports the single-paper parameter `id` (string); in the client `raw` function wrapper, the corresponding parameter name is `paper_id`.\n> 3. Never pass `ids` to `paper_detail`; doing so will trigger a parameter error (e.g., `unexpected keyword argument 'ids'`).\n> 4. If many results are matched and the user has not specified a count, default to querying only the top 10 details to avoid unnecessary costs.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| ids | []string | Yes | Paper ID array, maximum 100 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| abstract_slice | Partial abstract |\n| authors | Author list (includes `name` / `name_zh`) |\n| author_count | Total author count |\n| issue | Volume number |\n| raw | Journal name |\n| venue | Journal info object |\n| venue_id | Venue ID |\n| year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/info' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"ids\": [\"53e9ab9bb7602d97023e53b2\", \"53e9a98eb7602d9703e42e5a\"]}'\n```\n\n**Usage Note:**\n\n`paper_info` is a batch endpoint. Always pass `ids` as an array, even when querying only one paper.\n\n---\n\n### 5. Paper Details\n\n- **URL**: `GET /api/paper/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve full paper details by paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| abstract | Abstract |\n| abstract_zh | Abstract (Chinese) |\n| authors | Author list (name/name_zh/org/org_zh) |\n| doi | DOI |\n| issn | ISSN |\n| issue | Volume number |\n| volume | Issue number |\n| year | Year |\n| keywords | Keywords |\n| keywords_zh | Keywords (Chinese) |\n| raw | Journal name |\n| venue | Journal info object |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/detail?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n**Usage Note:**\n\n`paper_detail` is a single-paper endpoint. Pass one `id`; do not pass `ids`.\n\n---\n\n### 6. Paper Citations\n\n- **URL**: `GET /api/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of papers cited by a given paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title | Title |\n| cited | Basic info of papers cited by this paper |\n| n_citation | Number of times cited |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/relation?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 7. Paper Batch Query (Multi-keyword)\n\n- **URL**: `GET /api/paper/list/citation/by/keywords`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve paper keywords, abstracts, and other information via multiple keywords.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number |\n| size | number | Yes | Items per page |\n| keywords | string | Yes | Keyword array (JSON string format) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract / abstract_zh | Abstract (bilingual) |\n| keywords / keywords_zh | Keywords (bilingual) |\n| doi | DOI |\n| year | Year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/list/citation/by/keywords?page=0&size=10&keywords=%5B%22deep+learning%22%2C%22object+detection%22%5D' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 8. Paper Details by Year and Venue\n\n- **URL**: `GET /api/paper/platform/allpubs/more/detail/by/ts/org/venue`\n- **Price**: ¥0.20/call\n- **Description**: Retrieve paper titles, authors, DOIs, keywords, and other details by publication year and journal.\n\n> **Note**: `venue_id` and `year` must be provided together; providing only `year` returns `null`. Use the **Venue Search** API first to obtain the `venue_id`.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| year | number | Yes | Paper publication year |\n| venue_id | string | Yes | Journal ID (obtained via Venue Search; returns null if not provided) |\n\n**Response Fields (main):**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract | Abstract |\n| authors | Author array (name/org/email/homepage/orc_id/`_id`) |\n| doi | DOI |\n| issn | ISSN |\n| keywords / keywords_zh | Keywords (bilingual) |\n| year | Year |\n| venue | Journal info |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/platform/allpubs/more/detail/by/ts/org/venue?year=2023&venue_id=<VENUE_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Scholar APIs\n\n### 9. Scholar Search\n\n- **URL**: `POST /api/person/search`\n- **Price**: Free\n- **Description**: Search for scholar candidates by name and institution conditions; returns identity, institution, interests, and citation count.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| name | string | No | Scholar name |\n| org | string | No | Institution name |\n| org_id | []string | No | Institution entity ID array |\n| offset | number | No | Starting position (fixed at 0; pagination not supported) |\n| size | number | No | Number of results, maximum 10 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| name | Name |\n| name_zh | Name (Chinese) |\n| org | Institution (English) |\n| org_zh | Institution (Chinese) |\n| org_id | Institution ID |\n| interests | Research interests |\n| n_citation | Citation count |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"name\": \"Andrew Ng\", \"size\": 5}'\n```\n\n---\n\n### 10. Scholar Details\n\n- **URL**: `GET /api/person/detail`\n- **Price**: ¥1.00/call\n- **Description**: Retrieve complete personal information by scholar ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id / person_id | Scholar ID |\n| name / name_zh | Name (bilingual) |\n| bio / bio_zh | Personal bio (bilingual; not both present simultaneously) |\n| edu / edu_zh | Education history (bilingual) |\n| orgs / org_zhs | Institution list (English / Chinese) |\n| position / position_zh | Title (bilingual) |\n| domain | Research domain |\n| honor | Honors |\n| award | Awards |\n| year | Year |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/detail?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 11. Scholar Portrait\n\n- **URL**: `GET /api/person/figure`\n- **Price**: ¥0.50/call\n- **Description**: Retrieve research interests, domains, and structured work/education history.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| ai_interests | Research interest list |\n| ai_domain | Research domain list |\n| edus | Structured education history |\n| works | Structured work history |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/figure?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 12. Scholar Papers\n\n- **URL**: `GET /api/person/paper/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of papers published by a scholar (ID + title).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| author_id | Scholar ID |\n| id | Paper ID |\n| title | Paper title |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/paper/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 13. Scholar Patents\n\n- **URL**: `GET /api/person/patent/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of patents associated with a scholar.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| patent_id | Patent ID |\n| person_id | Scholar ID |\n| title | Patent title |\n| en | Title (English) |\n| zh | Title (Chinese) |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/patent/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 14. Scholar Projects\n\n- **URL**: `GET /api/project/person/v3/open`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve research projects a scholar has participated in (funding amount, dates, source).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | No | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Project ID |\n| titles | Project title |\n| country | Country |\n| project_source | Project source |\n| fund_amount | Funding amount |\n| fund_currency | Funding currency |\n| start_date | Start date |\n| end_date | End date |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/project/person/v3/open?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Institution APIs\n\n### 15. Org Search\n\n- **URL**: `POST /api/organization/search`\n- **Price**: Free\n- **Description**: Search for institution IDs and standard names by institution keyword; includes partial aliases for normalization.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| orgs | []string | No | Institution name array |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| aliases | Alias list (partial, usually top 3) |\n| org_id | Institution ID |\n| org_name | Institution name |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"orgs\": [\"Tsinghua University\"]}'\n```\n\n---\n\n### 16. Org Details\n\n- **URL**: `POST /api/organization/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve institution details by institution ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| ids | []string | Yes | Institution ID array |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Institution ID |\n| name / name_en / name_zh | Institution name (raw/English/Chinese) |\n| acronyms | Abbreviation |\n| aliases | Alias list |\n| details | Detailed institution description |\n| type | Institution type (university/enterprise, etc.) |\n| location | Geographic location |\n| language | Language |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/detail' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"ids\": [\"5f71b2091c455f439fe9a7d7\"]}'\n```\n\n---\n\n### 17. Org Scholars\n\n- **URL**: `GET /api/organization/person/relation`\n- **Price**: ¥0.50/call\n- **Description**: Retrieve the list of scholars affiliated with an institution (10 results per call).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org_id | string | No | Institution ID |\n| offset | number | No | Starting position (returns 10 results per call) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| name / name_zh | Scholar name (bilingual) |\n| org / org_zh | Institution (bilingual) |\n| org_id | Institution ID |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/person/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 18. Org Papers\n\n- **URL**: `GET /api/organization/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of papers published by scholars at an institution (10 results per call).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org_id | string | Yes | Institution ID |\n| offset | number | Yes | Starting position (returns 10 results per call) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/paper/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 19. Org Patents\n\n- **URL**: `GET /api/organization/patent/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of patent IDs owned by an institution; supports pagination with up to 10,000 results per call.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Institution ID |\n| page | number | No | Page number (starts at 1) |\n| page_size | number | No | Items per page; maximum 10,000 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/patent/relation?id=6233173d0a6eb145604733e2&page=1&page_size=100' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 20. Org Disambiguation\n\n- **URL**: `POST /api/organization/na`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve the standardized institution name from an institution string (including abbreviations/aliases).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org | string | Yes | Institution name (may include aliases/abbreviations) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| org_name | Normalized institution name |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/na' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"org\": \"MIT CSAIL\"}'\n```\n\n---\n\n### 21. Org Disambiguation Pro\n\n- **URL**: `POST /api/organization/na/pro`\n- **Price**: ¥0.05/call\n- **Description**: Extract the IDs of primary and secondary institutions from an institution string (recommended for workflows).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org | string | Yes | Institution name |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| 一级 | Primary institution name |\n| 一级ID | Primary institution ID |\n| 二级 | Secondary institution name |\n| 二级ID | Secondary institution ID |\n| Total / total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/na/pro' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"org\": \"Department of Computer Science, Tsinghua University\"}'\n```\n\n---\n\n## Journal APIs\n\n### 22. Venue Search\n\n- **URL**: `POST /api/venue/search`\n- **Price**: Free\n- **Description**: Search for venue IDs and standard names by venue name; includes aliases and venue type.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| name | string | No | Journal name (supports fuzzy search) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Journal ID |\n| name_en | Journal name (English) |\n| name_zh | Journal name (Chinese) |\n| aliases | Alias list (partial, usually top 3) |\n| venue_type | Venue type: `journal` or `conference` |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"name\": \"tkde\"}'\n```\n\n---\n\n### 23. Venue Details\n\n- **URL**: `POST /api/venue/detail`\n- **Price**: ¥0.20/call\n- **Description**: Retrieve ISSN, abbreviation, type, and other details by journal ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Journal ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Journal ID |\n| name / name_en / name_zh | Name (raw/English/Chinese) |\n| issn | ISSN |\n| eissn | EISSN |\n| alias | Alias |\n| type | Journal type |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/detail' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"id\": \"<VENUE_ID>\"}'\n```\n\n---\n\n### 24. Venue Papers\n\n- **URL**: `POST /api/venue/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve a list of papers for a journal by journal ID (supports year filtering).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Journal ID |\n| offset | number | No | Starting position |\n| limit | number | No | Number of results to return |\n| year | number | No | Filter by year |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| year | Year |\n| offset | Current offset |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/paper/relation' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"id\": \"<VENUE_ID>\", \"year\": 2023, \"offset\": 0, \"limit\": 20}'\n```\n\n---\n\n## Patent APIs\n\n### 25. Patent Search\n\n- **URL**: `POST /api/patent/search`\n- **Price**: Free\n- **Description**: Search for patents by title or keyword; returns lightweight trend fields such as first inventor, application year, and publication year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| query | string | Yes | Query field, such as patent title or keywords |\n| page | number | Yes | Page number |\n| size | number | Yes | Items per page |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title | Patent title (English) |\n| title_zh | Patent title (Chinese) |\n| inventor_name | First inventor name |\n| app_year | Application year |\n| pub_year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"page\":0,\"query\":\"Si02\",\"size\":20}'\n```\n\n---\n\n### 26. Patent Info\n\n- **URL**: `GET /api/patent/info`\n- **Price**: Free\n- **Description**: Retrieve a patent basic card by patent ID, including patent numbers, inventor, country, and basic year fields.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Patent ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title / en | Patent title (English) |\n| app_num | Application number |\n| pub_num | Publication number |\n| pub_kind | Publication type |\n| inventor | Inventor |\n| country | Country |\n| sequence | Sequence |\n| app_year | Application year |\n| pub_year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/info?id=<PATENT_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 27. Patent Details\n\n- **URL**: `GET /api/patent/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve full patent details by patent ID (including abstract, filing date, assignee, IPC classification, etc.).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Patent ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title | Patent title |\n| abstract | Abstract |\n| app_date | Filing date |\n| app_num | Application number |\n| pub_date | Publication date |\n| pub_num | Publication number |\n| pub_kind | Publication type |\n| assignee | Assignee |\n| inventor | Inventor |\n| country | Country |\n| ipc | IPC classification code |\n| ipcr | IPCR classification code |\n| cpc | CPC classification code |\n| priority | Priority info |\n| description | Description |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/detail?id=<PATENT_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Appendix: API Pricing Summary\n\n| Category | Free APIs | Paid APIs |\n|------|---------|---------|\n| Paper | Paper Search, Paper Info | Paper Search Pro(¥0.01), Paper Details(¥0.01), Paper Citations(¥0.10), Paper QA Search(¥0.05), Paper Batch Query(¥0.10), By Condition(¥0.20) |\n| Scholar | Scholar Search | Scholar Details(¥1.00), Scholar Portrait(¥0.50), Scholar Papers(¥1.50), Scholar Patents(¥1.50), Scholar Projects(¥1.50) |\n| Institution | Org Search | Org Details(¥0.01), Org Scholars(¥0.50), Org Papers(¥0.10), Org Patents(¥0.10), Org Disambiguation(¥0.01), Org Disambiguation Pro(¥0.05) |\n| Journal | Venue Search | Venue Details(¥0.20), Venue Papers(¥0.10) |\n| Patent | Patent Search, Patent Info | Patent Details(¥0.01) |\n\n---\n\n## Appendix: Common Error Codes\n\n| Code | Meaning | Recommended Action |\n|------|---------|-------------------|\n| 401 | Token invalid or expired | Re-generate token at [Console](https://open.aminer.cn/open/board?tab=control) |\n| 403 | Insufficient balance or permission denied | Top up account or check token scope |\n| 404 | Entity not found | Verify the ID is correct |\n| 429 | Rate limit exceeded | Wait a few seconds and retry |\n| 500 / 502 / 503 / 504 | Server error (transient) | Retry with exponential backoff (1s → 2s → 4s) |\n\n> For `4xx` errors (except 429), do not retry — fix the request parameters first.\n\n---\n\n## Appendix: Pagination Limits\n\n| API | Constraint |\n|-----|-----------|\n| `paper_search` | `size` max 20; `page` starts at 1 |\n| `paper_search_pro` | `page` starts at 0 |\n| `person_search` | `size` max 10; `offset` fixed at 0 (no pagination) |\n| `org_person_relation` | Fixed 10 results per call; use `offset` to paginate |\n| `org_paper_relation` | Fixed 10 results per call; use `offset` to paginate |\n| `org_patent_relation` | `page_size` max 10,000; `page` starts at 1 |\n| `venue_paper_relation` | Use `offset` + `limit` to paginate |\n| `paper_info` | `ids` array max 100 items |\n\nFile v1.1.1:skill-card.md\n\n## Description:\n\nAMiner Data Search helps agents answer complex academic data requests by selecting AMiner APIs and workflows for scholars, papers, institutions, venues, and patents.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[canxiangcc](https://clawhub.ai/user/canxiangcc)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and research-focused agents use this skill to compose AMiner Open Platform calls for complex scholarly search, paper deep dives, scholar profiles, institution analysis, venue monitoring, and patent lookups.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can use paid AMiner API credits.\n\nMitigation: Review planned call chains before execution, require explicit confirmation for high-cost workflows, and prefer free AMiner APIs or the free AMiner skill for simple lookups.\n\nRisk: Academic queries, scholar names, organization names, venue names, and patent searches may be sent to AMiner.\n\nMitigation: Avoid submitting sensitive or confidential research queries unless AMiner use is approved for that data.\n\nRisk: The bundled client does not enforce the skill's promised high-cost confirmation by itself.\n\nMitigation: Have the agent or reviewer manually enforce cost confirmation and inspect cost summaries before running expensive workflows.\n\nRisk: AMINER_API_KEY is required for live API use.\n\nMitigation: Provide the token through an environment variable or secret manager and avoid pasting credentials into chat or command-line arguments.\n\n## Reference(s):\n\n- [AMiner Open Platform API Catalog](artifact/references/api-catalog.md)\n- [AMiner Open Platform Documentation](https://open.aminer.cn/open/docs)\n- [AMiner API Console](https://open.aminer.cn/open/board?tab=control)\n- [ClawHub Skill Page](https://clawhub.ai/canxiangcc/skills/aminer-open-academic)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with API call plans, shell commands, JSON snippets, academic result summaries, entity links, and cost reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires AMINER_API_KEY for live AMiner calls; cost-aware workflows should report API usage and total estimated or incurred cost.]\n\n## Skill Version(s):\n\n1.1.1 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.1.1:evals/evals.json\n\n{\n  \"skill_name\": \"aminer-data-search\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"I'd like to understand Andrew Ng's complete academic profile, including his research interests, important papers he has published, any patents, and research projects he has participated in. Please use the AMiner API to look this up for me. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"The estimated cost (~¥6.00) exceeds the ¥5 threshold. Before executing, display the planned call chain and cost breakdown, and ask the user for confirmation. After the user confirms, run the scholar_profile workflow. After completion, output a cost summary.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Displayed the planned call chain with estimated cost BEFORE making paid API calls\",\n        \"Estimated total cost exceeds ¥5, so asked the user for confirmation before proceeding\",\n        \"After user confirmation, called Scholar Search, Scholar Details, Scholar Portrait, Scholar Papers, etc.\",\n        \"Output contains the selected.name field with value Andrew Ng\",\n        \"Output contains a cost summary showing each API called and total cost\"\n      ]\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Help me deep-dive into the paper 'Attention Is All You Need' — find it, retrieve its full details (abstract, authors, year), and then see what references it cites. My AMiner token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the paper_deep_dive workflow: search for the paper → retrieve details → retrieve citation relationships. Output the paper abstract, author list, DOI, and list of cited papers.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called a Paper Search API to locate the target paper\",\n        \"Called the Paper Details API (paper_detail) to retrieve the abstract\",\n        \"Called the Paper Citations API (paper_relation) to retrieve the citation list\",\n        \"Output contains the detail field with an abstract sub-field\",\n        \"Output contains the citations_count or citations_preview field\"\n      ]\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"I need to analyze MIT's research strength — I'd like to know which prominent scholars are affiliated with them, what papers they have published, and what patents they hold. Please use the AMiner API to compile a report for me. Token: <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the org_analysis workflow: use Org Disambiguation Pro to find MIT's institution ID, then fetch institution details, scholar list, and paper list in parallel, and compile into a report.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Org Disambiguation Pro API (org_disambiguate_pro) to obtain the institution ID\",\n        \"Called the Org Details API (org_detail) to retrieve MIT's description\",\n        \"Called the Org Scholars API (org_person_relation) to retrieve the scholar list\",\n        \"Called the Org Papers API (org_paper_relation) to retrieve the paper list\",\n        \"Output contains the org_id field\",\n        \"Output contains the scholars or papers field\"\n      ]\n    },\n    {\n      \"id\": 4,\n      \"prompt\": \"Help me look up Andrew Ng's publication trends\",\n      \"expected_output\": \"Detect that the user has not provided a token; immediately stop all subsequent API calls and guide the user to obtain a token from the AMiner Console.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Clearly inform the user that a token is currently missing and AMiner API calls cannot continue\",\n        \"No API calls were made\",\n        \"Provide the console link https://open.aminer.cn/open/board?tab=control\",\n        \"Prompt the user to continue after obtaining a token\"\n      ]\n    },\n    {\n      \"id\": 5,\n      \"prompt\": \"Help me look up Fei-Fei Li from Stanford University on AMiner and give me her 5 most-cited papers and her 5 most recent papers. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Prefer paper_qa_search combined with author_id/org_id filters. First return the 5 most-cited papers (force_citation_sort), then return the 5 most recent papers (force_year_sort).\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search) to confirm Fei-Fei Li's author_id\",\n        \"Called paper_qa_search with author_id and org_id filters\",\n        \"Executed two separate queries: one sorted by citation count and one sorted by year\",\n        \"Each result set returns at most 5 paper titles and paper IDs\"\n      ]\n    },\n    {\n      \"id\": 6,\n      \"prompt\": \"Help me check what papers were published in NeurIPS in 2023. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the venue_papers workflow: venue search to get venue_id, then venue_paper_relation with year=2023 to list papers.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Venue Search API (venue_search) to find NeurIPS venue_id\",\n        \"Called the Venue Papers API (venue_paper_relation) with year=2023\",\n        \"Output contains a list of paper titles and IDs\",\n        \"Each paper entity has an AMiner URL appended\"\n      ]\n    },\n    {\n      \"id\": 7,\n      \"prompt\": \"Search for patents related to quantum computing chips and show me the details of the top results. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run patent_search to find patents, then patent_detail for the top results. Output patent titles, inventors, IPC codes, and abstracts.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Patent Search API (patent_search) with query about quantum computing\",\n        \"Called the Patent Details API (patent_detail) for at least one result\",\n        \"Output contains patent titles and patent URLs\",\n        \"Output includes structured fields like IPC or assignee\"\n      ]\n    },\n    {\n      \"id\": 8,\n      \"prompt\": \"帮我查一下唐杰的学术信息，我的 token 是 <YOUR_TOKEN>\",\n      \"expected_output\": \"Handle Chinese input: search for the scholar by Chinese name, return profile information with AMiner URLs.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search) with a Chinese name\",\n        \"Successfully returned scholar results (name, org, interests)\",\n        \"Output contains the scholar's AMiner profile URL\",\n        \"Response is presented clearly despite Chinese input\"\n      ]\n    },\n    {\n      \"id\": 9,\n      \"prompt\": \"Find me all details about a scholar named XXXNOEXISTSCHOLAR on AMiner. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Handle empty results gracefully: inform the user that no matching scholar was found, suggest refining the query.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search)\",\n        \"Detected that no results were returned\",\n        \"Clearly informed the user that no matching scholar was found\",\n        \"Did NOT proceed to call paid detail APIs with invalid IDs\"\n      ]\n    },\n    {\n      \"id\": 10,\n      \"prompt\": \"Help me find all papers about deep learning and give me the full details for every single one. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Apply cost control: search returns many results, but only fetch details for the top 10 by default. Inform the user that results were limited to control costs.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called a paper search API and found many results\",\n        \"Did NOT call paper_detail for all results\",\n        \"Fetched details for at most 10 papers\",\n        \"Informed the user that results were limited and they can request more if needed\"\n      ]\n    },\n    {\n      \"id\": 11,\n      \"prompt\": \"Call the AMiner venue_search API directly for 'Nature' and show me the raw result. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Use the raw API call mode to invoke venue_search with name='Nature'. Return the raw JSON response including venue_id, standard name, aliases, and venue_type.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called venue_search API directly (raw mode or equivalent curl call)\",\n        \"Output includes the raw API response with venue_id and name fields\",\n        \"Output includes a venue URL for the result\",\n        \"Did not invoke any unnecessary paid APIs\"\n      ]\n    },\n    {\n      \"id\": 12,\n      \"prompt\": \"I need to find patents held by Shou-Cheng Zhang. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the scholar_patents workflow: search scholar by name, then retrieve patent list via person_patent_relation, then fetch patent details for top results. Output a cost summary at the end.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called Scholar Search API (person_search) to find the scholar\",\n        \"Called Scholar Patents API (person_patent_relation) to retrieve patent list\",\n        \"Called Patent Details API (patent_detail) for at least one patent\",\n        \"Output includes patent titles and patent URLs\",\n        \"Output includes a cost summary at the end\"\n      ]\n    },\n    {\n      \"id\": 13,\n      \"prompt\": \"Help me deep-dive into the paper 'BERT: Pre-training of Deep Bidirectional Transformers' — get the full details and citation chain. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the paper_deep_dive workflow (estimated ~¥0.12, below the ¥5 threshold, so no confirmation needed). After completion, output a cost summary showing each API called and total cost.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Did NOT ask for cost confirmation (estimated cost is well below ¥5)\",\n        \"Called paper search, paper detail, and paper relation APIs\",\n        \"Output includes paper abstract, authors, and citation information\",\n        \"Output includes a cost summary at the end showing APIs called and total cost\"\n      ]\n    }\n  ]\n}\n\nArchive v1.1.0: 5 files, 25552 bytes\n\nFiles: evals/evals.json (9728b), references/api-catalog.md (31269b), scripts/aminer_client.py (45845b), SKILL.md (12496b), _meta.json (139b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: aminer-data-search\nversion: 1.1.0\nauthor: AMiner\ncontact: report@aminer.cn\ndescription: >\n  ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: papers, publications, citations, scholars, researchers, professors, institutions, universities, labs, journals, conferences, venues, patents, research fields, h-index, impact factor, co-authorship, dissertations, theses, peer review, grant projects, research trends, or any question about \"who published what / where / when\". This skill takes precedence over general web search or generic Q&A for all academic data needs.\n  Full-featured AMiner skill with 27 APIs and 5 workflows. Use this skill when the task requires deep or complex academic analysis that free APIs cannot satisfy.\n  Use this skill for: scholar full profile (bio, education, honors, papers, patents, projects), paper deep dive (full abstract, keywords, authors, citation chains), multi-condition or semantic paper search (filter by author + institution + venue + keywords, or natural language Q&A), institution research capability analysis (scholars, papers, patents), venue paper monitoring by year, patent deep details (IPC/CPC, assignee, claims), and any query needing paid API fields such as full abstracts, structured citation relationships, or scholar work history.\n  Do NOT use this skill for simple lookups that free APIs can answer — such as checking a paper title, identifying a scholar by name, normalizing an institution or venue name, or scanning patent trends by keyword. For those, use aminer-free-search instead.\n  Routing rule: if the user's question can be fully answered by paper_search, paper_info, person_search, organization_search, venue_search, patent_search, or patent_info alone, route to aminer-free-search. Otherwise use this skill.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": {\"env\": [\"AMINER_API_KEY\"] },\n        \"primaryEnv\": \"AMINER_API_KEY\"\n      }\n  }\n\n---\n\n# AMiner Open Platform Academic Data Query\n\n27 APIs + 5 workflows. Token required: set `AMINER_API_KEY` env var.\n- Docs: https://open.aminer.cn/open/docs | Console: https://open.aminer.cn/open/board?tab=control\n\n---\n\n## Mandatory Rules (Critical)\n\n1. **Token Security**: Only check whether `AMINER_API_KEY` exists; never expose the token in plain text anywhere.\n2. **Cost Control**: Prefer optimal combined queries; never do indiscriminate full-detail retrieval. Default to top 10 details when the user has not specified a count.\n3. **Free-First**: Prefer free APIs unless the user explicitly requires deeper fields; only upgrade to paid APIs when free ones cannot satisfy the need.\n4. **Result Links**: Always append an accessible URL after each entity in the output.\n5. **Disambiguation**: Scholar ambiguity → filter by `org`/`org_id` or ask user to confirm. Org ambiguity → use `org_disambiguate_pro`. Paper ambiguity → cross-check `year` + `venue_name` + `first_author`.\n6. **Cost Report**: After completing all API calls, always output a cost summary to the user showing: each API called, its unit price, number of calls, and the total cost. Format example: `[Cost] ¥X.XX total, N API calls (api_a: ¥X.XX × N, api_b: Free × N)`.\n7. **High-Cost Confirmation (≥ ¥5)**: Before executing a workflow or call chain whose estimated total cost is ¥5.00 or more, **stop and ask the user for confirmation** first. Show the planned call chain, estimated cost per step, and the total. Only proceed after the user explicitly agrees. This applies to both predefined workflows (e.g., Scholar Profile ~¥6.00) and ad-hoc multi-step plans.\n\nEntity URL templates (mandatory):\n- Paper: `https://www.aminer.cn/pub/{paper_id}`\n- Scholar: `https://www.aminer.cn/profile/{scholar_id}`\n- Patent: `https://www.aminer.cn/patent/{patent_id}`\n- Journal: `https://www.aminer.cn/open/journal/detail/{journal_id}`\n\n---\n\n## Token Check (Required)\n\nCheck `AMINER_API_KEY` exists before any API call. Never expose token in plain text.\n\n```bash\n[ -z \"${AMINER_API_KEY+x}\" ] && echo \"AMINER_API_KEY missing\" || echo \"AMINER_API_KEY exists\"\n```\n\n- If `${AMINER_API_KEY}` exists: proceed. If not: check `--token` parameter. If neither: **stop**, guide user to [Console](https://open.aminer.cn/open/board?tab=control) to generate one.\n- If the user provides `AMINER_API_KEY` inline (e.g. \"My token is xxx\"), accept it for the current session, but recommend setting it as an environment variable for better security.\n- Default headers: `Authorization: ${AMINER_API_KEY}`, `X-Platform: openclaw`, `Content-Type: application/json;charset=utf-8` (POST).\n\n---\n\n## Call Guardrails\n\n1. Parameter names and types must match `references/api-catalog.md` exactly.\n2. `paper_info` is batch-only: `{\"ids\": [...]}`. `paper_detail` is single-paper only: one `id`. Never mix them.\n3. When multiple details are needed, filter with a low-cost API first, then fetch details for a small set.\n\n---\n\n## Paper Search API Selection Guide\n\nWhen the user says \"search for papers\", determine the goal first:\n\n| API | Focus | Use Case | Cost |\n|---|---|---|---|\n| `paper_search` | Title search → `paper_id` | Known paper title, locate target | Free |\n| `paper_search_pro` | Multi-condition search (author/org/venue/keyword) | Topic search, sort by citations or year | ¥0.01 |\n| `paper_qa_search` | Natural language Q&A / topic keyword search | Semantic search, structured keyword OR/AND | ¥0.05 |\n| `paper_list_by_keywords` | Multi-keyword batch retrieval | Batch thematic retrieval | ¥0.10 |\n| `paper_detail_by_condition` | Year + venue dimension | Journal annual monitoring | ¥0.20 |\n\nDefault routing:\n\n1. **Known title**: `paper_search -> paper_detail -> paper_relation`\n2. **Conditional filtering**: `paper_search_pro -> paper_detail`\n3. **Natural language Q&A**: `paper_qa_search` (fall back to `paper_search_pro` if no results)\n4. **Journal annual analysis**: `venue_search -> venue_paper_relation -> paper_detail_by_condition`\n\nKey `paper_qa_search` rules:\n- `query` and `topic_high/topic_middle/topic_low` are **mutually exclusive**; do not pass both.\n- `query` mode: pass a natural language string. `topic_*` mode: expand synonyms/English variants first.\n- Supports `sci_flag`, `force_citation_sort`, `force_year_sort`, `author_id`, `org_id`, `venue_ids` filters.\n\nFree-tier screening fields available:\n\n- `paper_search`: `venue_name`, `first_author`, `n_citation_bucket`, `year`\n- `paper_info`: `abstract_slice`, `year`, `venue_id`, `author_count`\n- `person_search`: `interests`, `n_citation`, `org/org_id`\n- `organization_search`: `aliases`\n- `venue_search`: `aliases`, `venue_type`\n- `patent_search`: `inventor_name`, `app_year`, `pub_year`\n- `patent_info`: `app_year`, `pub_year`\n\n---\n\n## Handling Out-of-Workflow Requests\n\nWhen the user's request falls outside the 5 workflows:\n\n1. Read `references/api-catalog.md` to confirm available APIs, parameters, and response fields.\n2. Design the shortest viable call chain: locate ID → supplement details → expand relationships.\n3. Do not give up because \"no existing workflow fits\"; actively compose APIs based on `api-catalog`.\n\n---\n\n## 5 Combined Workflows\n\n### Workflow 1: Scholar Profile (~¥6.00)\n\n**Use Case**: Complete academic profile — bio, research interests, papers, patents, projects.\n**Cost note**: Full execution exceeds the ¥5 threshold → **must ask for user confirmation before proceeding** (Rule 7). Show the planned steps and cost. Confirm which sub-modules are needed; skip patents/projects if not requested.\n\n**Call Chain:**\n```\nScholar search (name → person_id)\n    ↓\nParallel calls (pick as needed):\n  ├── Scholar details (bio/education/honors)         ¥1.00\n  ├── Scholar portrait (interests/work history)      ¥0.50\n  ├── Scholar papers (paper list)                    ¥1.50\n  ├── Scholar patents (patent list)                  ¥1.50\n  └── Scholar projects (funding info)                ¥1.50\n```\n\nFallback: if `paper_search` yields no results in sub-steps, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 2: Paper Deep Dive (~¥0.12)\n\n**Use Case**: Full paper information and citation chain from a title or keyword.\n\n**Call Chain:**\n```\nPaper search / Paper search pro (title/keyword → paper_id)\n    ↓\nPaper details (abstract/authors/DOI/journal/year/keywords)  ¥0.01\n    ↓\nPaper citations (cited papers → cited_ids)                  ¥0.10\n    ↓\n(Optional) Batch paper_info for cited papers                Free\n```\n\nFallback: if `paper_search` yields no results, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 3: Org Analysis (~¥0.81)\n\n**Use Case**: Institution scholar size, paper output, patent count — for competitive research or partnership evaluation.\n\n**Call Chain:**\n```\nOrg disambiguation pro (raw string → org_id)  ¥0.05\n    ↓\nParallel calls:\n  ├── Org details (description/type)             ¥0.01\n  ├── Org scholars (scholar list, 10/call)       ¥0.50\n  ├── Org papers (paper list, 10/call)           ¥0.10\n  └── Org patents (patent IDs, up to 10,000)     ¥0.10\n```\n\n> If disambiguation pro returns no ID, fall back to `org_search` (free).\n\n---\n\n### Workflow 4: Venue Papers (~¥0.10 - ¥0.30)\n\n**Use Case**: Track journal papers by year; useful for submission research or trend analysis.\n\n**Call Chain:**\n```\nVenue search (name → venue_id)                          Free\n    ↓\n(Optional) Venue details (ISSN/type/abbreviation)       ¥0.20\n    ↓\nVenue papers (venue_id + year → paper_id list)          ¥0.10\n    ↓\n(Optional) Batch paper detail query\n```\n\n---\n\n### Workflow 5: Patent Analysis (~¥0.02)\n\n**Use Case**: Search patents in a technology domain, or retrieve a scholar's/institution's patent portfolio.\n\n**Call Chain (standalone search):**\n```\nPatent search (query → patent_id)        Free\n    ↓\nPatent info / Patent details             Free / ¥0.01\n```\n\n**Call Chain (via scholar/institution):**\n```\nScholar search → Scholar patents (patent_id list)\nOrg disambiguation → Org patents (patent_id list)\n    ↓\nPatent info / Patent details\n```\n\n---\n\n## Individual API Quick Reference\n\n> Full parameter docs: read `references/api-catalog.md`\n\n| # | Title | Method | Price | API Path (Base: datacenter.aminer.cn/gateway/open_platform) |\n|---|------|------|------|------|\n| 1 | Paper QA Search | POST | ¥0.05 | `/api/paper/qa/search` |\n| 2 | Scholar Search | POST | Free | `/api/person/search` |\n| 3 | Paper Search | GET | Free | `/api/paper/search` |\n| 4 | Paper Search Pro | GET | ¥0.01 | `/api/paper/search/pro` |\n| 5 | Patent Search | POST | Free | `/api/patent/search` |\n| 6 | Org Search | POST | Free | `/api/organization/search` |\n| 7 | Venue Search | POST | Free | `/api/venue/search` |\n| 8 | Scholar Details | GET | ¥1.00 | `/api/person/detail` |\n| 9 | Scholar Projects | GET | ¥1.50 | `/api/project/person/v3/open` |\n| 10 | Scholar Papers | GET | ¥1.50 | `/api/person/paper/relation` |\n| 11 | Scholar Patents | GET | ¥1.50 | `/api/person/patent/relation` |\n| 12 | Scholar Portrait | GET | ¥0.50 | `/api/person/figure` |\n| 13 | Paper Info | POST | Free | `/api/paper/info` |\n| 14 | Paper Details | GET | ¥0.01 | `/api/paper/detail` |\n| 15 | Paper Citations | GET | ¥0.10 | `/api/paper/relation` |\n| 16 | Patent Info | GET | Free | `/api/patent/info` |\n| 17 | Patent Details | GET | ¥0.01 | `/api/patent/detail` |\n| 18 | Org Details | POST | ¥0.01 | `/api/organization/detail` |\n| 19 | Org Patents | GET | ¥0.10 | `/api/organization/patent/relation` |\n| 20 | Org Scholars | GET | ¥0.50 | `/api/organization/person/relation` |\n| 21 | Org Papers | GET | ¥0.10 | `/api/organization/paper/relation` |\n| 22 | Venue Details | POST | ¥0.20 | `/api/venue/detail` |\n| 23 | Venue Papers | POST | ¥0.10 | `/api/venue/paper/relation` |\n| 24 | Org Disambiguation | POST | ¥0.01 | `/api/organization/na` |\n| 25 | Org Disambiguation Pro | POST | ¥0.05 | `/api/organization/na/pro` |\n| 26 | Paper Batch Query | GET | ¥0.10 | `/api/paper/list/citation/by/keywords` |\n| 27 | Paper Details by Year+Venue | GET | ¥0.20 | `/api/paper/platform/allpubs/more/detail/by/ts/org/venue` |\n\n---\n\n## References\n\n- Full API parameter documentation: read `references/api-catalog.md`\n- Optional Python client: `scripts/aminer_client.py`\n- Test cases: `evals/evals.json`\n- Official documentation: https://open.aminer.cn/open/docs\n- Console: https://open.aminer.cn/open/board?tab=control\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7c22dqbrjkrkvqgr7w0w88x182468m\",\n  \"slug\": \"aminer-open-academic\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1774422032779\n}\n\nFile v1.1.0:references/api-catalog.md\n\n# AMiner Open Platform API Complete Reference\n\n**Base URL**: `https://datacenter.aminer.cn/gateway/open_platform`  \n**Authentication**: All endpoints should default to `Authorization: ${AMINER_API_KEY}` and include `X-Platform: openclaw` in the request headers.  \n**Token**: Log in to the [Console](https://open.aminer.cn/open/board?tab=control) to generate one, then export it as `AMINER_API_KEY`.\n\n---\n\n## Table of Contents\n\n- [Paper APIs (8)](#paper-apis)\n- [Scholar APIs (6)](#scholar-apis)\n- [Institution APIs (7)](#institution-apis)\n- [Journal APIs (3)](#journal-apis)\n- [Patent APIs (3)](#patent-apis)\n\n---\n\n## Paper APIs\n\n### 1. Paper Search\n\n- **URL**: `GET /api/paper/search`\n- **Price**: Free\n- **Description**: Search by paper title; returns low-cost screening fields such as paper ID, title, DOI, venue, first author, citation bucket, and year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number (current online definition says it starts at 1) |\n| size | number | No | Items per page, maximum 20 |\n| title | string | Yes | Paper title |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Paper title (Chinese) |\n| doi | DOI |\n| first_author | First author |\n| n_citation_bucket | Citation bucket: `0`, `1-10`, `11-50`, `51-200`, `200-1000`, `1000-5000`, `5000+` |\n| venue_name | Venue title |\n| year | Publication year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 2. Paper Search Pro\n\n- **URL**: `GET /api/paper/search/pro`\n- **Price**: ¥0.01/call\n- **Description**: Multi-condition search; supports filtering by keyword, abstract, author, institution, and journal.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | No | Page number (starts at 0) |\n| size | number | No | Items per page |\n| title | string | No | Title keyword |\n| keyword | string | No | Keyword |\n| abstract | string | No | Abstract keyword |\n| author | string | No | Author name |\n| org | string | No | Institution name |\n| venue | string | No | Journal name |\n| order | string | No | Sort field: `year` (descending by year) or `n_citation` (descending by citations); omit for composite ranking |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search/pro?title=transformer&author=Vaswani&order=n_citation&page=0&size=5' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 3. Paper QA Search\n\n- **URL**: `POST /api/paper/qa/search`\n- **Price**: ¥0.05/call\n- **Description**: AI-powered intelligent Q&A search; supports natural language queries and structured keyword search.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| use_topic | boolean | Yes | Whether to use combined keyword search. When `true`, use topic fields; when `false`, use title/query. |\n| topic_high | string | No | Valid when use_topic=true; keywords that must match (AND logic). Nested array format: `[[\"termA\",\"termB\"],[\"termC\"]]` — outer AND, inner OR. |\n| topic_middle | string | No | Strongly boosted terms; same format as topic_high. |\n| topic_low | string | No | Weakly boosted terms; same format as topic_high. |\n| title | []string | No | Title query when use_topic=false. |\n| doi | string | No | Exact DOI query. |\n| year | []number | No | Year filter array. |\n| sci_flag | boolean | No | Return SCI papers only. |\n| n_citation_flag | boolean | No | Boost papers with high citation counts. |\n| size | number | No | Maximum number of results to return. |\n| offset | number | No | Offset. |\n| force_citation_sort | boolean | No | Sort entirely by citation count. |\n| force_year_sort | boolean | No | Sort entirely by year. |\n| author_terms | []string | No | Author name query; OR relationship within array; include multiple variants. |\n| org_terms | []string | No | Institution name query; OR relationship within array. |\n| author_id | []string | No | Author entity ID filter; accepts single ID or ID list. OR relationship with author_terms when both are provided. |\n| org_id | []string | No | Institution entity ID filter; accepts single ID or ID list. OR relationship with org_terms when both are provided. |\n| venue_ids | []string | No | Conference/journal ID list filter. |\n| query | string | No | Raw natural language question (slower); system auto-extracts keywords. Takes precedence over topic_high when both are provided. |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| data | Paper ID list |\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| Total / total | Total count |\n\n**curl Example (natural language Q&A):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"use_topic\": false, \"query\": \"deep learning protein structure prediction\", \"size\": 10, \"sci_flag\": true}'\n```\n\n**curl Example (structured keywords):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\n    \"use_topic\": true,\n    \"topic_high\": \"[[\\\\\"transformer\\\\\",\\\\\"self-attention\\\\\"],[\\\\\"protein folding\\\\\"]]\",\n    \"topic_middle\": \"[[\\\"AlphaFold\\\"]]\",\n    \"sci_flag\": true,\n    \"force_citation_sort\": true,\n    \"size\": 10\n  }'\n```\n\n---\n\n### 4. Paper Info\n\n- **URL**: `POST /api/paper/info`\n- **Price**: Free\n- **Description**: Batch-retrieve lightweight paper cards by paper ID, including abstract slice, year, venue ID, author list, and author count.\n\n> **Mandatory Parameter Constraints (High Priority)**\n> 1. `paper_info` only supports the batch parameter `ids` (array); it does not support a single `paper_id`.\n> 2. `paper_detail` only supports the single-paper parameter `id` (string); in the client `raw` function wrapper, the corresponding parameter name is `paper_id`.\n> 3. Never pass `ids` to `paper_detail`; doing so will trigger a parameter error (e.g., `unexpected keyword argument 'ids'`).\n> 4. If many results are matched and the user has not specified a count, default to querying only the top 10 details to avoid unnecessary costs.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| ids | []string | Yes | Paper ID array, maximum 100 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| abstract_slice | Partial abstract |\n| authors | Author list (includes `name` / `name_zh`) |\n| author_count | Total author count |\n| issue | Volume number |\n| raw | Journal name |\n| venue | Journal info object |\n| venue_id | Venue ID |\n| year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/info' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"ids\": [\"53e9ab9bb7602d97023e53b2\", \"53e9a98eb7602d9703e42e5a\"]}'\n```\n\n**Usage Note:**\n\n`paper_info` is a batch endpoint. Always pass `ids` as an array, even when querying only one paper.\n\n---\n\n### 5. Paper Details\n\n- **URL**: `GET /api/paper/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve full paper details by paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| abstract | Abstract |\n| abstract_zh | Abstract (Chinese) |\n| authors | Author list (name/name_zh/org/org_zh) |\n| doi | DOI |\n| issn | ISSN |\n| issue | Volume number |\n| volume | Issue number |\n| year | Year |\n| keywords | Keywords |\n| keywords_zh | Keywords (Chinese) |\n| raw | Journal name |\n| venue | Journal info object |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/detail?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n**Usage Note:**\n\n`paper_detail` is a single-paper endpoint. Pass one `id`; do not pass `ids`.\n\n---\n\n### 6. Paper Citations\n\n- **URL**: `GET /api/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of papers cited by a given paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title | Title |\n| cited | Basic info of papers cited by this paper |\n| n_citation | Number of times cited |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/relation?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 7. Paper Batch Query (Multi-keyword)\n\n- **URL**: `GET /api/paper/list/citation/by/keywords`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve paper keywords, abstracts, and other information via multiple keywords.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number |\n| size | number | Yes | Items per page |\n| keywords | string | Yes | Keyword array (JSON string format) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract / abstract_zh | Abstract (bilingual) |\n| keywords / keywords_zh | Keywords (bilingual) |\n| doi | DOI |\n| year | Year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/list/citation/by/keywords?page=0&size=10&keywords=%5B%22deep+learning%22%2C%22object+detection%22%5D' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 8. Paper Details by Year and Venue\n\n- **URL**: `GET /api/paper/platform/allpubs/more/detail/by/ts/org/venue`\n- **Price**: ¥0.20/call\n- **Description**: Retrieve paper titles, authors, DOIs, keywords, and other details by publication year and journal.\n\n> **Note**: `venue_id` and `year` must be provided together; providing only `year` returns `null`. Use the **Venue Search** API first to obtain the `venue_id`.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| year | number | Yes | Paper publication year |\n| venue_id | string | Yes | Journal ID (obtained via Venue Search; returns null if not provided) |\n\n**Response Fields (main):**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract | Abstract |\n| authors | Author array (name/org/email/homepage/orc_id/`_id`) |\n| doi | DOI |\n| issn | ISSN |\n| keywords / keywords_zh | Keywords (bilingual) |\n| year | Year |\n| venue | Journal info |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/platform/allpubs/more/detail/by/ts/org/venue?year=2023&venue_id=<VENUE_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Scholar APIs\n\n### 9. Scholar Search\n\n- **URL**: `POST /api/person/search`\n- **Price**: Free\n- **Description**: Search for scholar candidates by name and institution conditions; returns identity, institution, interests, and citation count.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| name | string | No | Scholar name |\n| org | string | No | Institution name |\n| org_id | []string | No | Institution entity ID array |\n| offset | number | No | Starting position (fixed at 0; pagination not supported) |\n| size | number | No | Number of results, maximum 10 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| name | Name |\n| name_zh | Name (Chinese) |\n| org | Institution (English) |\n| org_zh | Institution (Chinese) |\n| org_id | Institution ID |\n| interests | Research interests |\n| n_citation | Citation count |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"name\": \"Andrew Ng\", \"size\": 5}'\n```\n\n---\n\n### 10. Scholar Details\n\n- **URL**: `GET /api/person/detail`\n- **Price**: ¥1.00/call\n- **Description**: Retrieve complete personal information by scholar ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id / person_id | Scholar ID |\n| name / name_zh | Name (bilingual) |\n| bio / bio_zh | Personal bio (bilingual; not both present simultaneously) |\n| edu / edu_zh | Education history (bilingual) |\n| orgs / org_zhs | Institution list (English / Chinese) |\n| position / position_zh | Title (bilingual) |\n| domain | Research domain |\n| honor | Honors |\n| award | Awards |\n| year | Year |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/detail?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 11. Scholar Portrait\n\n- **URL**: `GET /api/person/figure`\n- **Price**: ¥0.50/call\n- **Description**: Retrieve research interests, domains, and structured work/education history.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| ai_interests | Research interest list |\n| ai_domain | Research domain list |\n| edus | Structured education history |\n| works | Structured work history |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/figure?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 12. Scholar Papers\n\n- **URL**: `GET /api/person/paper/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of papers published by a scholar (ID + title).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| author_id | Scholar ID |\n| id | Paper ID |\n| title | Paper title |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/paper/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 13. Scholar Patents\n\n- **URL**: `GET /api/person/patent/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of patents associated with a scholar.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| patent_id | Patent ID |\n| person_id | Scholar ID |\n| title | Patent title |\n| en | Title (English) |\n| zh | Title (Chinese) |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/patent/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 14. Scholar Projects\n\n- **URL**: `GET /api/project/person/v3/open`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve research projects a scholar has participated in (funding amount, dates, source).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | No | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Project ID |\n| titles | Project title |\n| country | Country |\n| project_source | Project source |\n| fund_amount | Funding amount |\n| fund_currency | Funding currency |\n| start_date | Start date |\n| end_date | End date |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/project/person/v3/open?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Institution APIs\n\n### 15. Org Search\n\n- **URL**: `POST /api/organization/search`\n- **Price**: Free\n- **Description**: Search for institution IDs and standard names by institution keyword; includes partial aliases for normalization.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| orgs | []string | No | Institution name array |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| aliases | Alias list (partial, usually top 3) |\n| org_id | Institution ID |\n| org_name | Institution name |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"orgs\": [\"Tsinghua University\"]}'\n```\n\n---\n\n### 16. Org Details\n\n- **URL**: `POST /api/organization/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve institution details by institution ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| ids | []string | Yes | Institution ID array |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Institution ID |\n| name / name_en / name_zh | Institution name (raw/English/Chinese) |\n| acronyms | Abbreviation |\n| aliases | Alias list |\n| details | Detailed institution description |\n| type | Institution type (university/enterprise, etc.) |\n| location | Geographic location |\n| language | Language |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/detail' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"ids\": [\"5f71b2091c455f439fe9a7d7\"]}'\n```\n\n---\n\n### 17. Org Scholars\n\n- **URL**: `GET /api/organization/person/relation`\n- **Price**: ¥0.50/call\n- **Description**: Retrieve the list of scholars affiliated with an institution (10 results per call).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org_id | string | No | Institution ID |\n| offset | number | No | Starting position (returns 10 results per call) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| name / name_zh | Scholar name (bilingual) |\n| org / org_zh | Institution (bilingual) |\n| org_id | Institution ID |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/person/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 18. Org Papers\n\n- **URL**: `GET /api/organization/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of papers published by scholars at an institution (10 results per call).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org_id | string | Yes | Institution ID |\n| offset | number | Yes | Starting position (returns 10 results per call) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/paper/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 19. Org Patents\n\n- **URL**: `GET /api/organization/patent/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of patent IDs owned by an institution; supports pagination with up to 10,000 results per call.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Institution ID |\n| page | number | No | Page number (starts at 1) |\n| page_size | number | No | Items per page; maximum 10,000 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/patent/relation?id=6233173d0a6eb145604733e2&page=1&page_size=100' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 20. Org Disambiguation\n\n- **URL**: `POST /api/organization/na`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve the standardized institution name from an institution string (including abbreviations/aliases).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org | string | Yes | Institution name (may include aliases/abbreviations) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| org_name | Normalized institution name |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/na' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"org\": \"MIT CSAIL\"}'\n```\n\n---\n\n### 21. Org Disambiguation Pro\n\n- **URL**: `POST /api/organization/na/pro`\n- **Price**: ¥0.05/call\n- **Description**: Extract the IDs of primary and secondary institutions from an institution string (recommended for workflows).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| org | string | Yes | Institution name |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| 一级 | Primary institution name |\n| 一级ID | Primary institution ID |\n| 二级 | Secondary institution name |\n| 二级ID | Secondary institution ID |\n| Total / total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/na/pro' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"org\": \"Department of Computer Science, Tsinghua University\"}'\n```\n\n---\n\n## Journal APIs\n\n### 22. Venue Search\n\n- **URL**: `POST /api/venue/search`\n- **Price**: Free\n- **Description**: Search for venue IDs and standard names by venue name; includes aliases and venue type.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| name | string | No | Journal name (supports fuzzy search) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Journal ID |\n| name_en | Journal name (English) |\n| name_zh | Journal name (Chinese) |\n| aliases | Alias list (partial, usually top 3) |\n| venue_type | Venue type: `journal` or `conference` |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"name\": \"tkde\"}'\n```\n\n---\n\n### 23. Venue Details\n\n- **URL**: `POST /api/venue/detail`\n- **Price**: ¥0.20/call\n- **Description**: Retrieve ISSN, abbreviation, type, and other details by journal ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Journal ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Journal ID |\n| name / name_en / name_zh | Name (raw/English/Chinese) |\n| issn | ISSN |\n| eissn | EISSN |\n| alias | Alias |\n| type | Journal type |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/detail' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"id\": \"<VENUE_ID>\"}'\n```\n\n---\n\n### 24. Venue Papers\n\n- **URL**: `POST /api/venue/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve a list of papers for a journal by journal ID (supports year filtering).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Journal ID |\n| offset | number | No | Starting position |\n| limit | number | No | Number of results to return |\n| year | number | No | Filter by year |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| year | Year |\n| offset | Current offset |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/venue/paper/relation' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"id\": \"<VENUE_ID>\", \"year\": 2023, \"offset\": 0, \"limit\": 20}'\n```\n\n---\n\n## Patent APIs\n\n### 25. Patent Search\n\n- **URL**: `POST /api/patent/search`\n- **Price**: Free\n- **Description**: Search for patents by title or keyword; returns lightweight trend fields such as first inventor, application year, and publication year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| query | string | Yes | Query field, such as patent title or keywords |\n| page | number | Yes | Page number |\n| size | number | Yes | Items per page |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title | Patent title (English) |\n| title_zh | Patent title (Chinese) |\n| inventor_name | First inventor name |\n| app_year | Application year |\n| pub_year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"page\":0,\"query\":\"Si02\",\"size\":20}'\n```\n\n---\n\n### 26. Patent Info\n\n- **URL**: `GET /api/patent/info`\n- **Price**: Free\n- **Description**: Retrieve a patent basic card by patent ID, including patent numbers, inventor, country, and basic year fields.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Patent ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title / en | Patent title (English) |\n| app_num | Application number |\n| pub_num | Publication number |\n| pub_kind | Publication type |\n| inventor | Inventor |\n| country | Country |\n| sequence | Sequence |\n| app_year | Application year |\n| pub_year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/info?id=<PATENT_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 27. Patent Details\n\n- **URL**: `GET /api/patent/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve full patent details by patent ID (including abstract, filing date, assignee, IPC classification, etc.).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Patent ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Patent ID |\n| title | Patent title |\n| abstract | Abstract |\n| app_date | Filing date |\n| app_num | Application number |\n| pub_date | Publication date |\n| pub_num | Publication number |\n| pub_kind | Publication type |\n| assignee | Assignee |\n| inventor | Inventor |\n| country | Country |\n| ipc | IPC classification code |\n| ipcr | IPCR classification code |\n| cpc | CPC classification code |\n| priority | Priority info |\n| description | Description |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/patent/detail?id=<PATENT_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Appendix: API Pricing Summary\n\n| Category | Free APIs | Paid APIs |\n|------|---------|---------|\n| Paper | Paper Search, Paper Info | Paper Search Pro(¥0.01), Paper Details(¥0.01), Paper Citations(¥0.10), Paper QA Search(¥0.05), Paper Batch Query(¥0.10), By Condition(¥0.20) |\n| Scholar | Scholar Search | Scholar Details(¥1.00), Scholar Portrait(¥0.50), Scholar Papers(¥1.50), Scholar Patents(¥1.50), Scholar Projects(¥1.50) |\n| Institution | Org Search | Org Details(¥0.01), Org Scholars(¥0.50), Org Papers(¥0.10), Org Patents(¥0.10), Org Disambiguation(¥0.01), Org Disambiguation Pro(¥0.05) |\n| Journal | Venue Search | Venue Details(¥0.20), Venue Papers(¥0.10) |\n| Patent | Patent Search, Patent Info | Patent Details(¥0.01) |\n\n---\n\n## Appendix: Common Error Codes\n\n| Code | Meaning | Recommended Action |\n|------|---------|-------------------|\n| 401 | Token invalid or expired | Re-generate token at [Console](https://open.aminer.cn/open/board?tab=control) |\n| 403 | Insufficient balance or permission denied | Top up account or check token scope |\n| 404 | Entity not found | Verify the ID is correct |\n| 429 | Rate limit exceeded | Wait a few seconds and retry |\n| 500 / 502 / 503 / 504 | Server error (transient) | Retry with exponential backoff (1s → 2s → 4s) |\n\n> For `4xx` errors (except 429), do not retry — fix the request parameters first.\n\n---\n\n## Appendix: Pagination Limits\n\n| API | Constraint |\n|-----|-----------|\n| `paper_search` | `size` max 20; `page` starts at 1 |\n| `paper_search_pro` | `page` starts at 0 |\n| `person_search` | `size` max 10; `offset` fixed at 0 (no pagination) |\n| `org_person_relation` | Fixed 10 results per call; use `offset` to paginate |\n| `org_paper_relation` | Fixed 10 results per call; use `offset` to paginate |\n| `org_patent_relation` | `page_size` max 10,000; `page` starts at 1 |\n| `venue_paper_relation` | Use `offset` + `limit` to paginate |\n| `paper_info` | `ids` array max 100 items |\n\nFile v1.1.0:evals/evals.json\n\n{\n  \"skill_name\": \"aminer-data-search\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"I'd like to understand Andrew Ng's complete academic profile, including his research interests, important papers he has published, any patents, and research projects he has participated in. Please use the AMiner API to look this up for me. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"The estimated cost (~¥6.00) exceeds the ¥5 threshold. Before executing, display the planned call chain and cost breakdown, and ask the user for confirmation. After the user confirms, run the scholar_profile workflow. After completion, output a cost summary.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Displayed the planned call chain with estimated cost BEFORE making paid API calls\",\n        \"Estimated total cost exceeds ¥5, so asked the user for confirmation before proceeding\",\n        \"After user confirmation, called Scholar Search, Scholar Details, Scholar Portrait, Scholar Papers, etc.\",\n        \"Output contains the selected.name field with value Andrew Ng\",\n        \"Output contains a cost summary showing each API called and total cost\"\n      ]\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Help me deep-dive into the paper 'Attention Is All You Need' — find it, retrieve its full details (abstract, authors, year), and then see what references it cites. My AMiner token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the paper_deep_dive workflow: search for the paper → retrieve details → retrieve citation relationships. Output the paper abstract, author list, DOI, and list of cited papers.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called a Paper Search API to locate the target paper\",\n        \"Called the Paper Details API (paper_detail) to retrieve the abstract\",\n        \"Called the Paper Citations API (paper_relation) to retrieve the citation list\",\n        \"Output contains the detail field with an abstract sub-field\",\n        \"Output contains the citations_count or citations_preview field\"\n      ]\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"I need to analyze MIT's research strength — I'd like to know which prominent scholars are affiliated with them, what papers they have published, and what patents they hold. Please use the AMiner API to compile a report for me. Token: <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the org_analysis workflow: use Org Disambiguation Pro to find MIT's institution ID, then fetch institution details, scholar list, and paper list in parallel, and compile into a report.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Org Disambiguation Pro API (org_disambiguate_pro) to obtain the institution ID\",\n        \"Called the Org Details API (org_detail) to retrieve MIT's description\",\n        \"Called the Org Scholars API (org_person_relation) to retrieve the scholar list\",\n        \"Called the Org Papers API (org_paper_relation) to retrieve the paper list\",\n        \"Output contains the org_id field\",\n        \"Output contains the scholars or papers field\"\n      ]\n    },\n    {\n      \"id\": 4,\n      \"prompt\": \"Help me look up Andrew Ng's publication trends\",\n      \"expected_output\": \"Detect that the user has not provided a token; immediately stop all subsequent API calls and guide the user to obtain a token from the AMiner Console.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Clearly inform the user that a token is currently missing and AMiner API calls cannot continue\",\n        \"No API calls were made\",\n        \"Provide the console link https://open.aminer.cn/open/board?tab=control\",\n        \"Prompt the user to continue after obtaining a token\"\n      ]\n    },\n    {\n      \"id\": 5,\n      \"prompt\": \"Help me look up Fei-Fei Li from Stanford University on AMiner and give me her 5 most-cited papers and her 5 most recent papers. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Prefer paper_qa_search combined with author_id/org_id filters. First return the 5 most-cited papers (force_citation_sort), then return the 5 most recent papers (force_year_sort).\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search) to confirm Fei-Fei Li's author_id\",\n        \"Called paper_qa_search with author_id and org_id filters\",\n        \"Executed two separate queries: one sorted by citation count and one sorted by year\",\n        \"Each result set returns at most 5 paper titles and paper IDs\"\n      ]\n    },\n    {\n      \"id\": 6,\n      \"prompt\": \"Help me check what papers were published in NeurIPS in 2023. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the venue_papers workflow: venue search to get venue_id, then venue_paper_relation with year=2023 to list papers.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Venue Search API (venue_search) to find NeurIPS venue_id\",\n        \"Called the Venue Papers API (venue_paper_relation) with year=2023\",\n        \"Output contains a list of paper titles and IDs\",\n        \"Each paper entity has an AMiner URL appended\"\n      ]\n    },\n    {\n      \"id\": 7,\n      \"prompt\": \"Search for patents related to quantum computing chips and show me the details of the top results. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run patent_search to find patents, then patent_detail for the top results. Output patent titles, inventors, IPC codes, and abstracts.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Patent Search API (patent_search) with query about quantum computing\",\n        \"Called the Patent Details API (patent_detail) for at least one result\",\n        \"Output contains patent titles and patent URLs\",\n        \"Output includes structured fields like IPC or assignee\"\n      ]\n    },\n    {\n      \"id\": 8,\n      \"prompt\": \"帮我查一下唐杰的学术信息，我的 token 是 <YOUR_TOKEN>\",\n      \"expected_output\": \"Handle Chinese input: search for the scholar by Chinese name, return profile information with AMiner URLs.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search) with a Chinese name\",\n        \"Successfully returned scholar results (name, org, interests)\",\n        \"Output contains the scholar's AMiner profile URL\",\n        \"Response is presented clearly despite Chinese input\"\n      ]\n    },\n    {\n      \"id\": 9,\n      \"prompt\": \"Find me all details about a scholar named XXXNOEXISTSCHOLAR on AMiner. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Handle empty results gracefully: inform the user that no matching scholar was found, suggest refining the query.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Scholar Search API (person_search)\",\n        \"Detected that no results were returned\",\n        \"Clearly informed the user that no matching scholar was found\",\n        \"Did NOT proceed to call paid detail APIs with invalid IDs\"\n      ]\n    },\n    {\n      \"id\": 10,\n      \"prompt\": \"Help me find all papers about deep learning and give me the full details for every single one. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Apply cost control: search returns many results, but only fetch details for the top 10 by default. Inform the user that results were limited to control costs.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called a paper search API and found many results\",\n        \"Did NOT call paper_detail for all results\",\n        \"Fetched details for at most 10 papers\",\n        \"Informed the user that results were limited and they can request more if needed\"\n      ]\n    },\n    {\n      \"id\": 11,\n      \"prompt\": \"Call the AMiner venue_search API directly for 'Nature' and show me the raw result. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Use the raw API call mode to invoke venue_search with name='Nature'. Return the raw JSON response including venue_id, standard name, aliases, and venue_type.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called venue_search API directly (raw mode or equivalent curl call)\",\n        \"Output includes the raw API response with venue_id and name fields\",\n        \"Output includes a venue URL for the result\",\n        \"Did not invoke any unnecessary paid APIs\"\n      ]\n    },\n    {\n      \"id\": 12,\n      \"prompt\": \"I need to find patents held by Shou-Cheng Zhang. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the scholar_patents workflow: search scholar by name, then retrieve patent list via person_patent_relation, then fetch patent details for top results. Output a cost summary at the end.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called Scholar Search API (person_search) to find the scholar\",\n        \"Called Scholar Patents API (person_patent_relation) to retrieve patent list\",\n        \"Called Patent Details API (patent_detail) for at least one patent\",\n        \"Output includes patent titles and patent URLs\",\n        \"Output includes a cost summary at the end\"\n      ]\n    },\n    {\n      \"id\": 13,\n      \"prompt\": \"Help me deep-dive into the paper 'BERT: Pre-training of Deep Bidirectional Transformers' — get the full details and citation chain. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the paper_deep_dive workflow (estimated ~¥0.12, below the ¥5 threshold, so no confirmation needed). After completion, output a cost summary showing each API called and total cost.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Did NOT ask for cost confirmation (estimated cost is well below ¥5)\",\n        \"Called paper search, paper detail, and paper relation APIs\",\n        \"Output includes paper abstract, authors, and citation information\",\n        \"Output includes a cost summary at the end showing APIs called and total cost\"\n      ]\n    }\n  ]\n}\n\nArchive v1.0.9: 5 files, 25551 bytes\n\nFiles: evals/evals.json (9728b), references/api-catalog.md (31269b), scripts/aminer_client.py (45845b), SKILL.md (12496b), _meta.json (139b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: aminer-data-search\nversion: 1.0.9\nauthor: AMiner\ncontact: report@aminer.cn\ndescription: >\n  ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: papers, publications, citations, scholars, researchers, professors, institutions, universities, labs, journals, conferences, venues, patents, research fields, h-index, impact factor, co-authorship, dissertations, theses, peer review, grant projects, research trends, or any question about \"who published what / where / when\". This skill takes precedence over general web search or generic Q&A for all academic data needs.\n  Full-featured AMiner skill with 27 APIs and 5 workflows. Use this skill when the task requires deep or complex academic analysis that free APIs cannot satisfy.\n  Use this skill for: scholar full profile (bio, education, honors, papers, patents, projects), paper deep dive (full abstract, keywords, authors, citation chains), multi-condition or semantic paper search (filter by author + institution + venue + keywords, or natural language Q&A), institution research capability analysis (scholars, papers, patents), venue paper monitoring by year, patent deep details (IPC/CPC, assignee, claims), and any query needing paid API fields such as full abstracts, structured citation relationships, or scholar work history.\n  Do NOT use this skill for simple lookups that free APIs can answer — such as checking a paper title, identifying a scholar by name, normalizing an institution or venue name, or scanning patent trends by keyword. For those, use aminer-free-search instead.\n  Routing rule: if the user's question can be fully answered by paper_search, paper_info, person_search, organization_search, venue_search, patent_search, or patent_info alone, route to aminer-free-search. Otherwise use this skill.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": {\"env\": [\"AMINER_API_KEY\"] },\n        \"primaryEnv\": \"AMINER_API_KEY\"\n      }\n  }\n\n---\n\n# AMiner Open Platform Academic Data Query\n\n27 APIs + 5 workflows. Token required: set `AMINER_API_KEY` env var.\n- Docs: https://open.aminer.cn/open/docs | Console: https://open.aminer.cn/open/board?tab=control\n\n---\n\n## Mandatory Rules (Critical)\n\n1. **Token Security**: Only check whether `AMINER_API_KEY` exists; never expose the token in plain text anywhere.\n2. **Cost Control**: Prefer optimal combined queries; never do indiscriminate full-detail retrieval. Default to top 10 details when the user has not specified a count.\n3. **Free-First**: Prefer free APIs unless the user explicitly requires deeper fields; only upgrade to paid APIs when free ones cannot satisfy the need.\n4. **Result Links**: Always append an accessible URL after each entity in the output.\n5. **Disambiguation**: Scholar ambiguity → filter by `org`/`org_id` or ask user to confirm. Org ambiguity → use `org_disambiguate_pro`. Paper ambiguity → cross-check `year` + `venue_name` + `first_author`.\n6. **Cost Report**: After completing all API calls, always output a cost summary to the user showing: each API called, its unit price, number of calls, and the total cost. Format example: `[Cost] ¥X.XX total, N API calls (api_a: ¥X.XX × N, api_b: Free × N)`.\n7. **High-Cost Confirmation (≥ ¥5)**: Before executing a workflow or call chain whose estimated total cost is ¥5.00 or more, **stop and ask the user for confirmation** first. Show the planned call chain, estimated cost per step, and the total. Only proceed after the user explicitly agrees. This applies to both predefined workflows (e.g., Scholar Profile ~¥6.00) and ad-hoc multi-step plans.\n\nEntity URL templates (mandatory):\n- Paper: `https://www.aminer.cn/pub/{paper_id}`\n- Scholar: `https://www.aminer.cn/profile/{scholar_id}`\n- Patent: `https://www.aminer.cn/patent/{patent_id}`\n- Journal: `https://www.aminer.cn/open/journal/detail/{journal_id}`\n\n---\n\n## Token Check (Required)\n\nCheck `AMINER_API_KEY` exists before any API call. Never expose token in plain text.\n\n```bash\n[ -z \"${AMINER_API_KEY+x}\" ] && echo \"AMINER_API_KEY missing\" || echo \"AMINER_API_KEY exists\"\n```\n\n- If `${AMINER_API_KEY}` exists: proceed. If not: check `--token` parameter. If neither: **stop**, guide user to [Console](https://open.aminer.cn/open/board?tab=control) to generate one.\n- If the user provides `AMINER_API_KEY` inline (e.g. \"My token is xxx\"), accept it for the current session, but recommend setting it as an environment variable for better security.\n- Default headers: `Authorization: ${AMINER_API_KEY}`, `X-Platform: openclaw`, `Content-Type: application/json;charset=utf-8` (POST).\n\n---\n\n## Call Guardrails\n\n1. Parameter names and types must match `references/api-catalog.md` exactly.\n2. `paper_info` is batch-only: `{\"ids\": [...]}`. `paper_detail` is single-paper only: one `id`. Never mix them.\n3. When multiple details are needed, filter with a low-cost API first, then fetch details for a small set.\n\n---\n\n## Paper Search API Selection Guide\n\nWhen the user says \"search for papers\", determine the goal first:\n\n| API | Focus | Use Case | Cost |\n|---|---|---|---|\n| `paper_search` | Title search → `paper_id` | Known paper title, locate target | Free |\n| `paper_search_pro` | Multi-condition search (author/org/venue/keyword) | Topic search, sort by citations or year | ¥0.01 |\n| `paper_qa_search` | Natural language Q&A / topic keyword search | Semantic search, structured keyword OR/AND | ¥0.05 |\n| `paper_list_by_keywords` | Multi-keyword batch retrieval | Batch thematic retrieval | ¥0.10 |\n| `paper_detail_by_condition` | Year + venue dimension | Journal annual monitoring | ¥0.20 |\n\nDefault routing:\n\n1. **Known title**: `paper_search -> paper_detail -> paper_relation`\n2. **Conditional filtering**: `paper_search_pro -> paper_detail`\n3. **Natural language Q&A**: `paper_qa_search` (fall back to `paper_search_pro` if no results)\n4. **Journal annual analysis**: `venue_search -> venue_paper_relation -> paper_detail_by_condition`\n\nKey `paper_qa_search` rules:\n- `query` and `topic_high/topic_middle/topic_low` are **mutually exclusive**; do not pass both.\n- `query` mode: pass a natural language string. `topic_*` mode: expand synonyms/English variants first.\n- Supports `sci_flag`, `force_citation_sort`, `force_year_sort`, `author_id`, `org_id`, `venue_ids` filters.\n\nFree-tier screening fields available:\n\n- `paper_search`: `venue_name`, `first_author`, `n_citation_bucket`, `year`\n- `paper_info`: `abstract_slice`, `year`, `venue_id`, `author_count`\n- `person_search`: `interests`, `n_citation`, `org/org_id`\n- `organization_search`: `aliases`\n- `venue_search`: `aliases`, `venue_type`\n- `patent_search`: `inventor_name`, `app_year`, `pub_year`\n- `patent_info`: `app_year`, `pub_year`\n\n---\n\n## Handling Out-of-Workflow Requests\n\nWhen the user's request falls outside the 5 workflows:\n\n1. Read `references/api-catalog.md` to confirm available APIs, parameters, and response fields.\n2. Design the shortest viable call chain: locate ID → supplement details → expand relationships.\n3. Do not give up because \"no existing workflow fits\"; actively compose APIs based on `api-catalog`.\n\n---\n\n## 5 Combined Workflows\n\n### Workflow 1: Scholar Profile (~¥6.00)\n\n**Use Case**: Complete academic profile — bio, research interests, papers, patents, projects.\n**Cost note**: Full execution exceeds the ¥5 threshold → **must ask for user confirmation before proceeding** (Rule 7). Show the planned steps and cost. Confirm which sub-modules are needed; skip patents/projects if not requested.\n\n**Call Chain:**\n```\nScholar search (name → person_id)\n    ↓\nParallel calls (pick as needed):\n  ├── Scholar details (bio/education/honors)         ¥1.00\n  ├── Scholar portrait (interests/work history)      ¥0.50\n  ├── Scholar papers (paper list)                    ¥1.50\n  ├── Scholar patents (patent list)                  ¥1.50\n  └── Scholar projects (funding info)                ¥1.50\n```\n\nFallback: if `paper_search` yields no results in sub-steps, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 2: Paper Deep Dive (~¥0.12)\n\n**Use Case**: Full paper information and citation chain from a title or keyword.\n\n**Call Chain:**\n```\nPaper search / Paper search pro (title/keyword → paper_id)\n    ↓\nPaper details (abstract/authors/DOI/journal/year/keywords)  ¥0.01\n    ↓\nPaper citations (cited papers → cited_ids)                  ¥0.10\n    ↓\n(Optional) Batch paper_info for cited papers                Free\n```\n\nFallback: if `paper_search` yields no results, fall back to `paper_search_pro`.\n\n---\n\n### Workflow 3: Org Analysis (~¥0.81)\n\n**Use Case**: Institution scholar size, paper output, patent count — for competitive research or partnership evaluation.\n\n**Call Chain:**\n```\nOrg disambiguation pro (raw string → org_id)  ¥0.05\n    ↓\nParallel calls:\n  ├── Org details (description/type)             ¥0.01\n  ├── Org scholars (scholar list, 10/call)       ¥0.50\n  ├── Org papers (paper list, 10/call)           ¥0.10\n  └── Org patents (patent IDs, up to 10,000)     ¥0.10\n```\n\n> If disambiguation pro returns no ID, fall back to `org_search` (free).\n\n---\n\n### Workflow 4: Venue Papers (~¥0.10 - ¥0.30)\n\n**Use Case**: Track journal papers by year; useful for submission research or trend analysis.\n\n**Call Chain:**\n```\nVenue search (name → venue_id)                          Free\n    ↓\n(Optional) Venue details (ISSN/type/abbreviation)       ¥0.20\n    ↓\nVenue papers (venue_id + year → paper_id list)          ¥0.10\n    ↓\n(Optional) Batch paper detail query\n```\n\n---\n\n### Workflow 5: Patent Analysis (~¥0.02)\n\n**Use Case**: Search patents in a technology domain, or retrieve a scholar's/institution's patent portfolio.\n\n**Call Chain (standalone search):**\n```\nPatent search (query → patent_id)        Free\n    ↓\nPatent info / Patent details             Free / ¥0.01\n```\n\n**Call Chain (via scholar/institution):**\n```\nScholar search → Scholar patents (patent_id list)\nOrg disambiguation → Org patents (patent_id list)\n    ↓\nPatent info / Patent details\n```\n\n---\n\n## Individual API Quick Reference\n\n> Full parameter docs: read `references/api-catalog.md`\n\n| # | Title | Method | Price | API Path (Base: datacenter.aminer.cn/gateway/open_platform) |\n|---|------|------|------|------|\n| 1 | Paper QA Search | POST | ¥0.05 | `/api/paper/qa/search` |\n| 2 | Scholar Search | POST | Free | `/api/person/search` |\n| 3 | Paper Search | GET | Free | `/api/paper/search` |\n| 4 | Paper Search Pro | GET | ¥0.01 | `/api/paper/search/pro` |\n| 5 | Patent Search | POST | Free | `/api/patent/search` |\n| 6 | Org Search | POST | Free | `/api/organization/search` |\n| 7 | Venue Search | POST | Free | `/api/venue/search` |\n| 8 | Scholar Details | GET | ¥1.00 | `/api/person/detail` |\n| 9 | Scholar Projects | GET | ¥1.50 | `/api/project/person/v3/open` |\n| 10 | Scholar Papers | GET | ¥1.50 | `/api/person/paper/relation` |\n| 11 | Scholar Patents | GET | ¥1.50 | `/api/person/patent/relation` |\n| 12 | Scholar Portrait | GET | ¥0.50 | `/api/person/figure` |\n| 13 | Paper Info | POST | Free | `/api/paper/info` |\n| 14 | Paper Details | GET | ¥0.01 | `/api/paper/detail` |\n| 15 | Paper Citations | GET | ¥0.10 | `/api/paper/relation` |\n| 16 | Patent Info | GET | Free | `/api/patent/info` |\n| 17 | Patent Details | GET | ¥0.01 | `/api/patent/detail` |\n| 18 | Org Details | POST | ¥0.01 | `/api/organization/detail` |\n| 19 | Org Patents | GET | ¥0.10 | `/api/organization/patent/relation` |\n| 20 | Org Scholars | GET | ¥0.50 | `/api/organization/person/relation` |\n| 21 | Org Papers | GET | ¥0.10 | `/api/organization/paper/relation` |\n| 22 | Venue Details | POST | ¥0.20 | `/api/venue/detail` |\n| 23 | Venue Papers | POST | ¥0.10 | `/api/venue/paper/relation` |\n| 24 | Org Disambiguation | POST | ¥0.01 | `/api/organization/na` |\n| 25 | Org Disambiguation Pro | POST | ¥0.05 | `/api/organization/na/pro` |\n| 26 | Paper Batch Query | GET | ¥0.10 | `/api/paper/list/citation/by/keywords` |\n| 27 | Paper Details by Year+Venue | GET | ¥0.20 | `/api/paper/platform/allpubs/more/detail/by/ts/org/venue` |\n\n---\n\n## References\n\n- Full API parameter documentation: read `references/api-catalog.md`\n- Optional Python client: `scripts/aminer_client.py`\n- Test cases: `evals/evals.json`\n- Official documentation: https://open.aminer.cn/open/docs\n- Console: https://open.aminer.cn/open/board?tab=control\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7c22dqbrjkrkvqgr7w0w88x182468m\",\n  \"slug\": \"aminer-open-academic\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1774419656134\n}\n\nFile v1.0.9:references/api-catalog.md\n\n# AMiner Open Platform API Complete Reference\n\n**Base URL**: `https://datacenter.aminer.cn/gateway/open_platform`  \n**Authentication**: All endpoints should default to `Authorization: ${AMINER_API_KEY}` and include `X-Platform: openclaw` in the request headers.  \n**Token**: Log in to the [Console](https://open.aminer.cn/open/board?tab=control) to generate one, then export it as `AMINER_API_KEY`.\n\n---\n\n## Table of Contents\n\n- [Paper APIs (8)](#paper-apis)\n- [Scholar APIs (6)](#scholar-apis)\n- [Institution APIs (7)](#institution-apis)\n- [Journal APIs (3)](#journal-apis)\n- [Patent APIs (3)](#patent-apis)\n\n---\n\n## Paper APIs\n\n### 1. Paper Search\n\n- **URL**: `GET /api/paper/search`\n- **Price**: Free\n- **Description**: Search by paper title; returns low-cost screening fields such as paper ID, title, DOI, venue, first author, citation bucket, and year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number (current online definition says it starts at 1) |\n| size | number | No | Items per page, maximum 20 |\n| title | string | Yes | Paper title |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Paper title (Chinese) |\n| doi | DOI |\n| first_author | First author |\n| n_citation_bucket | Citation bucket: `0`, `1-10`, `11-50`, `51-200`, `200-1000`, `1000-5000`, `5000+` |\n| venue_name | Venue title |\n| year | Publication year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 2. Paper Search Pro\n\n- **URL**: `GET /api/paper/search/pro`\n- **Price**: ¥0.01/call\n- **Description**: Multi-condition search; supports filtering by keyword, abstract, author, institution, and journal.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | No | Page number (starts at 0) |\n| size | number | No | Items per page |\n| title | string | No | Title keyword |\n| keyword | string | No | Keyword |\n| abstract | string | No | Abstract keyword |\n| author | string | No | Author name |\n| org | string | No | Institution name |\n| venue | string | No | Journal name |\n| order | string | No | Sort field: `year` (descending by year) or `n_citation` (descending by citations); omit for composite ranking |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search/pro?title=transformer&author=Vaswani&order=n_citation&page=0&size=5' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 3. Paper QA Search\n\n- **URL**: `POST /api/paper/qa/search`\n- **Price**: ¥0.05/call\n- **Description**: AI-powered intelligent Q&A search; supports natural language queries and structured keyword search.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| use_topic | boolean | Yes | Whether to use combined keyword search. When `true`, use topic fields; when `false`, use title/query. |\n| topic_high | string | No | Valid when use_topic=true; keywords that must match (AND logic). Nested array format: `[[\"termA\",\"termB\"],[\"termC\"]]` — outer AND, inner OR. |\n| topic_middle | string | No | Strongly boosted terms; same format as topic_high. |\n| topic_low | string | No | Weakly boosted terms; same format as topic_high. |\n| title | []string | No | Title query when use_topic=false. |\n| doi | string | No | Exact DOI query. |\n| year | []number | No | Year filter array. |\n| sci_flag | boolean | No | Return SCI papers only. |\n| n_citation_flag | boolean | No | Boost papers with high citation counts. |\n| size | number | No | Maximum number of results to return. |\n| offset | number | No | Offset. |\n| force_citation_sort | boolean | No | Sort entirely by citation count. |\n| force_year_sort | boolean | No | Sort entirely by year. |\n| author_terms | []string | No | Author name query; OR relationship within array; include multiple variants. |\n| org_terms | []string | No | Institution name query; OR relationship within array. |\n| author_id | []string | No | Author entity ID filter; accepts single ID or ID list. OR relationship with author_terms when both are provided. |\n| org_id | []string | No | Institution entity ID filter; accepts single ID or ID list. OR relationship with org_terms when both are provided. |\n| venue_ids | []string | No | Conference/journal ID list filter. |\n| query | string | No | Raw natural language question (slower); system auto-extracts keywords. Takes precedence over topic_high when both are provided. |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| data | Paper ID list |\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| Total / total | Total count |\n\n**curl Example (natural language Q&A):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"use_topic\": false, \"query\": \"deep learning protein structure prediction\", \"size\": 10, \"sci_flag\": true}'\n```\n\n**curl Example (structured keywords):**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/qa/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\n    \"use_topic\": true,\n    \"topic_high\": \"[[\\\\\"transformer\\\\\",\\\\\"self-attention\\\\\"],[\\\\\"protein folding\\\\\"]]\",\n    \"topic_middle\": \"[[\\\"AlphaFold\\\"]]\",\n    \"sci_flag\": true,\n    \"force_citation_sort\": true,\n    \"size\": 10\n  }'\n```\n\n---\n\n### 4. Paper Info\n\n- **URL**: `POST /api/paper/info`\n- **Price**: Free\n- **Description**: Batch-retrieve lightweight paper cards by paper ID, including abstract slice, year, venue ID, author list, and author count.\n\n> **Mandatory Parameter Constraints (High Priority)**\n> 1. `paper_info` only supports the batch parameter `ids` (array); it does not support a single `paper_id`.\n> 2. `paper_detail` only supports the single-paper parameter `id` (string); in the client `raw` function wrapper, the corresponding parameter name is `paper_id`.\n> 3. Never pass `ids` to `paper_detail`; doing so will trigger a parameter error (e.g., `unexpected keyword argument 'ids'`).\n> 4. If many results are matched and the user has not specified a count, default to querying only the top 10 details to avoid unnecessary costs.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| ids | []string | Yes | Paper ID array, maximum 100 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| abstract_slice | Partial abstract |\n| authors | Author list (includes `name` / `name_zh`) |\n| author_count | Total author count |\n| issue | Volume number |\n| raw | Journal name |\n| venue | Journal info object |\n| venue_id | Venue ID |\n| year | Publication year |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/info' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"ids\": [\"53e9ab9bb7602d97023e53b2\", \"53e9a98eb7602d9703e42e5a\"]}'\n```\n\n**Usage Note:**\n\n`paper_info` is a batch endpoint. Always pass `ids` as an array, even when querying only one paper.\n\n---\n\n### 5. Paper Details\n\n- **URL**: `GET /api/paper/detail`\n- **Price**: ¥0.01/call\n- **Description**: Retrieve full paper details by paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| abstract | Abstract |\n| abstract_zh | Abstract (Chinese) |\n| authors | Author list (name/name_zh/org/org_zh) |\n| doi | DOI |\n| issn | ISSN |\n| issue | Volume number |\n| volume | Issue number |\n| year | Year |\n| keywords | Keywords |\n| keywords_zh | Keywords (Chinese) |\n| raw | Journal name |\n| venue | Journal info object |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/detail?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n**Usage Note:**\n\n`paper_detail` is a single-paper endpoint. Pass one `id`; do not pass `ids`.\n\n---\n\n### 6. Paper Citations\n\n- **URL**: `GET /api/paper/relation`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve the list of papers cited by a given paper ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Paper ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title | Title |\n| cited | Basic info of papers cited by this paper |\n| n_citation | Number of times cited |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/relation?id=53e9ab9bb7602d97023e53b2' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 7. Paper Batch Query (Multi-keyword)\n\n- **URL**: `GET /api/paper/list/citation/by/keywords`\n- **Price**: ¥0.10/call\n- **Description**: Retrieve paper keywords, abstracts, and other information via multiple keywords.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number |\n| size | number | Yes | Items per page |\n| keywords | string | Yes | Keyword array (JSON string format) |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract / abstract_zh | Abstract (bilingual) |\n| keywords / keywords_zh | Keywords (bilingual) |\n| doi | DOI |\n| year | Year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/list/citation/by/keywords?page=0&size=10&keywords=%5B%22deep+learning%22%2C%22object+detection%22%5D' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 8. Paper Details by Year and Venue\n\n- **URL**: `GET /api/paper/platform/allpubs/more/detail/by/ts/org/venue`\n- **Price**: ¥0.20/call\n- **Description**: Retrieve paper titles, authors, DOIs, keywords, and other details by publication year and journal.\n\n> **Note**: `venue_id` and `year` must be provided together; providing only `year` returns `null`. Use the **Venue Search** API first to obtain the `venue_id`.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| year | number | Yes | Paper publication year |\n| venue_id | string | Yes | Journal ID (obtained via Venue Search; returns null if not provided) |\n\n**Response Fields (main):**\n\n| Field | Description |\n|--------|------|\n| _id | Paper ID |\n| title / title_zh | Title (bilingual) |\n| abstract | Abstract |\n| authors | Author array (name/org/email/homepage/orc_id/`_id`) |\n| doi | DOI |\n| issn | ISSN |\n| keywords / keywords_zh | Keywords (bilingual) |\n| year | Year |\n| venue | Journal info |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/platform/allpubs/more/detail/by/ts/org/venue?year=2023&venue_id=<VENUE_ID>' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Scholar APIs\n\n### 9. Scholar Search\n\n- **URL**: `POST /api/person/search`\n- **Price**: Free\n- **Description**: Search for scholar candidates by name and institution conditions; returns identity, institution, interests, and citation count.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| name | string | No | Scholar name |\n| org | string | No | Institution name |\n| org_id | []string | No | Institution entity ID array |\n| offset | number | No | Starting position (fixed at 0; pagination not supported) |\n| size | number | No | Number of results, maximum 10 |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| name | Name |\n| name_zh | Name (Chinese) |\n| org | Institution (English) |\n| org_zh | Institution (Chinese) |\n| org_id | Institution ID |\n| interests | Research interests |\n| n_citation | Citation count |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"name\": \"Andrew Ng\", \"size\": 5}'\n```\n\n---\n\n### 10. Scholar Details\n\n- **URL**: `GET /api/person/detail`\n- **Price**: ¥1.00/call\n- **Description**: Retrieve complete personal information by scholar ID.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id / person_id | Scholar ID |\n| name / name_zh | Name (bilingual) |\n| bio / bio_zh | Personal bio (bilingual; not both present simultaneously) |\n| edu / edu_zh | Education history (bilingual) |\n| orgs / org_zhs | Institution list (English / Chinese) |\n| position / position_zh | Title (bilingual) |\n| domain | Research domain |\n| honor | Honors |\n| award | Awards |\n| year | Year |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/detail?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 11. Scholar Portrait\n\n- **URL**: `GET /api/person/figure`\n- **Price**: ¥0.50/call\n- **Description**: Retrieve research interests, domains, and structured work/education history.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Scholar ID |\n| ai_interests | Research interest list |\n| ai_domain | Research domain list |\n| edus | Structured education history |\n| works | Structured work history |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/figure?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 12. Scholar Papers\n\n- **URL**: `GET /api/person/paper/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of papers published by a scholar (ID + title).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| author_id | Scholar ID |\n| id | Paper ID |\n| title | Paper title |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/paper/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 13. Scholar Patents\n\n- **URL**: `GET /api/person/patent/relation`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve a list of patents associated with a scholar.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | Yes | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| patent_id | Patent ID |\n| person_id | Scholar ID |\n| title | Patent title |\n| en | Title (English) |\n| zh | Title (Chinese) |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/person/patent/relation?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 14. Scholar Projects\n\n- **URL**: `GET /api/project/person/v3/open`\n- **Price**: ¥1.50/call\n- **Description**: Retrieve research projects a scholar has participated in (funding amount, dates, source).\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| id | string | No | Scholar ID |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Project ID |\n| titles | Project title |\n| country | Country |\n| project_source | Project source |\n| fund_amount | Funding amount |\n| fund_currency | Funding currency |\n| start_date | Start date |\n| end_date | End date |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/project/person/v3/open?id=53f3ae78dabfae4b34b0c75d' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n## Institution APIs\n\n### 15. Org Search\n\n- **URL**: `POST /api/organization/search`\n- **Price**: Free\n- **Description**: Search for institution IDs and standard names by institution keyword; includes partial aliases for normalization.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| orgs | []string | No | Institution name array |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| aliases | Alias list (partial, usually top 3) |\n| org_id | Institution ID |\n| org_name | Institution name |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X POST \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/organization/search' \\\n  -H 'Content-Type: application/json;charset=utf-8' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw' \\\n  -d '{\"orgs\": [\"Tsinghua University\"]}'\n```\n\n---\n\n### 16. Org De\n\nArchive v1.0.7: 5 files, 24505 bytes\n\nFiles: evals/evals.json (4493b), references/api-catalog.md (30677b), scripts/aminer_client.py (40462b), SKILL.md (20435b), _meta.json (139b)\n\nArchive v1.0.6: 5 files, 25217 bytes\n\nFiles: evals/evals.json (4032b), references/api-catalog.md (29275b), scripts/aminer_client.py (40186b), SKILL.md (18782b), _meta.json (139b)\n\nArchive v1.0.5: 5 files, 20759 bytes\n\nFiles: evals/evals.json (2777b), references/api-catalog.md (26882b), scripts/aminer_client.py (37910b), SKILL.md (12209b), _meta.json (139b)\n\nArchive v1.0.4: 5 files, 24699 bytes\n\nFiles: evals/evals.json (4032b), references/api-catalog.md (28366b), scripts/aminer_client.py (40152b), SKILL.md (17695b), _meta.json (139b)\n\nArchive v1.0.3: 5 files, 24694 bytes\n\nFiles: evals/evals.json (4032b), references/api-catalog.md (28366b), scripts/aminer_client.py (40150b), SKILL.md (17692b), _meta.json (139b)","readmeExcerpt":"Skill: aminer-data-search Owner: canxiangcc Summary: ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: pap... Tags: latest:1.1.1 Version history: v1.1.1 | 2026-03-25T07:05:20.862Z | user No user-visible changes; version bump only. v1.1.0 | 2026-03-25T07:00:32.779Z | user aminer-open-academic v1.1.0 - No code or con","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"[ -z \"${AMINER_API_KEY+x}\" ] && echo \"AMINER_API_KEY missing\" || echo \"AMINER_API_KEY exists\""},{"language":"text","snippet":"Scholar search (name → person_id)\n    ↓\nParallel calls (pick as needed):\n  ├── Scholar details (bio/education/honors)         ¥1.00\n  ├── Scholar portrait (interests/work history)      ¥0.50\n  ├── Scholar papers (paper list)                    ¥1.50\n  ├── Scholar patents (patent list)                  ¥1.50\n  └── Scholar projects (funding info)                ¥1.50"},{"language":"text","snippet":"Paper search / Paper search pro (title/keyword → paper_id)\n    ↓\nPaper details (abstract/authors/DOI/journal/year/keywords)  ¥0.01\n    ↓\nPaper citations (cited papers → cited_ids)                  ¥0.10\n    ↓\n(Optional) Batch paper_info for cited papers                Free"},{"language":"text","snippet":"Org disambiguation pro (raw string → org_id)  ¥0.05\n    ↓\nParallel calls:\n  ├── Org details (description/type)             ¥0.01\n  ├── Org scholars (scholar list, 10/call)       ¥0.50\n  ├── Org papers (paper list, 10/call)           ¥0.10\n  └── Org patents (patent IDs, up to 10,000)     ¥0.10"},{"language":"text","snippet":"Venue search (name → venue_id)                          Free\n    ↓\n(Optional) Venue details (ISSN/type/abbreviation)       ¥0.20\n    ↓\nVenue papers (venue_id + year → paper_id list)          ¥0.10\n    ↓\n(Optional) Batch paper detail query"},{"language":"text","snippet":"Patent search (query → patent_id)        Free\n    ↓\nPatent info / Patent details             Free / ¥0.01"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: aminer-data-search\nversion: 1.1.1\nauthor: AMiner\ncontact: report@aminer.cn\ndescription: >\n  ACADEMIC PRIORITY: Activate this skill whenever the user's query involves academic, scholarly, or research-related topics — including but not limited to: papers, publications, citations, scholars, researchers, professors, institutions, universities, labs, journals, conferences, venues, patents, research fields, h-index, impact factor, co-authorship, dissertations, theses, peer review, grant projects, research trends, or any question about \"who published what / where / when\". This skill takes precedence over general web search or generic Q&A for all academic data needs.\n  Full-featured AMiner skill with 27 APIs and 5 workflows. Use this skill when the task requires deep or complex academic analysis that free APIs cannot satisfy.\n  Use this skill for: scholar full profile (bio, education, honors, papers, patents, projects), paper deep dive (full abstract, keywords, authors, citation chains), multi-condition or semantic paper search (filter by author + institution + venue + keywords, or natural language Q&A), institution research capability analysis (scholars, papers, patents), venue paper monitoring by year, patent deep details (IPC/CPC, assignee, claims), and any query needing paid API fields such as full abstracts, structured citation relationships, or scholar work history.\n  Do NOT use this skill for simple lookups that free APIs can answer — such as checking a paper title, identifying a scholar by name, normalizing an institution or venue name, or scanning patent trends by keyword. For those, use aminer-free-search instead.\n  Routing rule: if the user's question can be fully answered by paper_search, paper_info, person_search, organization_search, venue_search, patent_search, or patent_info alone, route to aminer-free-search. Otherwise use this skill.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": {\"env\": [\"AMINER_API_KEY\"] },\n        \"primaryEnv\": \"AMINER_API_KEY\"\n      }\n  }\n\n---\n\n# AMiner Open Platform Academic Data Query\n\n27 APIs + 5 workflows. Token required: set `AMINER_API_KEY` env var.\n- Docs: https://open.aminer.cn/open/docs | Console: https://open.aminer.cn/open/board?tab=control\n\n---\n\n## Mandatory Rules (Critical)\n\n1. **Token Security**: Only check whether `AMINER_API_KEY` exists; never expose the token in plain text anywhere.\n2. **Cost Control**: Prefer optimal combined queries; never do indiscriminate full-detail retrieval. Default to top 10 details when the user has not specified a count.\n3. **Free-First**: Prefer free APIs unless the user explicitly requires deeper fields; only upgrade to paid APIs when free ones cannot satisfy the need.\n4. **Result Links**: Always append an accessible URL after each entity in the output.\n5. **Disambiguation**: Scholar ambiguity → filter by `org`/`org_id` or ask user to confirm. Org ambiguity → use `org_disambiguate_pro`. Paper ambiguity → cross-check `year` + `venue_name` + `first_aut"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7c22dqbrjkrkvqgr7w0w88x182468m\",\n  \"slug\": \"aminer-open-academic\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1774422320862\n}"},{"path":"references/api-catalog.md","content":"# AMiner Open Platform API Complete Reference\n\n**Base URL**: `https://datacenter.aminer.cn/gateway/open_platform`  \n**Authentication**: All endpoints should default to `Authorization: ${AMINER_API_KEY}` and include `X-Platform: openclaw` in the request headers.  \n**Token**: Log in to the [Console](https://open.aminer.cn/open/board?tab=control) to generate one, then export it as `AMINER_API_KEY`.\n\n---\n\n## Table of Contents\n\n- [Paper APIs (8)](#paper-apis)\n- [Scholar APIs (6)](#scholar-apis)\n- [Institution APIs (7)](#institution-apis)\n- [Journal APIs (3)](#journal-apis)\n- [Patent APIs (3)](#patent-apis)\n\n---\n\n## Paper APIs\n\n### 1. Paper Search\n\n- **URL**: `GET /api/paper/search`\n- **Price**: Free\n- **Description**: Search by paper title; returns low-cost screening fields such as paper ID, title, DOI, venue, first author, citation bucket, and year.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | Yes | Page number (current online definition says it starts at 1) |\n| size | number | No | Items per page, maximum 20 |\n| title | string | Yes | Paper title |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Paper title |\n| title_zh | Paper title (Chinese) |\n| doi | DOI |\n| first_author | First author |\n| n_citation_bucket | Citation bucket: `0`, `1-10`, `11-50`, `51-200`, `200-1000`, `1000-5000`, `5000+` |\n| venue_name | Venue title |\n| year | Publication year |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: openclaw'\n```\n\n---\n\n### 2. Paper Search Pro\n\n- **URL**: `GET /api/paper/search/pro`\n- **Price**: ¥0.01/call\n- **Description**: Multi-condition search; supports filtering by keyword, abstract, author, institution, and journal.\n\n**Request Parameters:**\n\n| Parameter | Type | Required | Description |\n|--------|------|------|------|\n| page | number | No | Page number (starts at 0) |\n| size | number | No | Items per page |\n| title | string | No | Title keyword |\n| keyword | string | No | Keyword |\n| abstract | string | No | Abstract keyword |\n| author | string | No | Author name |\n| org | string | No | Institution name |\n| venue | string | No | Journal name |\n| order | string | No | Sort field: `year` (descending by year) or `n_citation` (descending by citations); omit for composite ranking |\n\n**Response Fields:**\n\n| Field | Description |\n|--------|------|\n| id | Paper ID |\n| title | Title (English) |\n| title_zh | Title (Chinese) |\n| doi | DOI |\n| total | Total count |\n\n**curl Example:**\n```bash\ncurl -X GET \\\n  'https://datacenter.aminer.cn/gateway/open_platform/api/paper/search/pro?title=transformer&author=Vaswani&order=n_citation&page=0&size=5' \\\n  -H 'Authorization: ${AMINER_API_KEY}' \\\n  -H 'X-Platform: opencl"},{"path":"skill-card.md","content":"## Description:\n\nAMiner Data Search helps agents answer complex academic data requests by selecting AMiner APIs and workflows for scholars, papers, institutions, venues, and patents.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[canxiangcc](https://clawhub.ai/user/canxiangcc)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and research-focused agents use this skill to compose AMiner Open Platform calls for complex scholarly search, paper deep dives, scholar profiles, institution analysis, venue monitoring, and patent lookups.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can use paid AMiner API credits.\n\nMitigation: Review planned call chains before execution, require explicit confirmation for high-cost workflows, and prefer free AMiner APIs or the free AMiner skill for simple lookups.\n\nRisk: Academic queries, scholar names, organization names, venue names, and patent searches may be sent to AMiner.\n\nMitigation: Avoid submitting sensitive or confidential research queries unless AMiner use is approved for that data.\n\nRisk: The bundled client does not enforce the skill's promised high-cost confirmation by itself.\n\nMitigation: Have the agent or reviewer manually enforce cost confirmation and inspect cost summaries before running expensive workflows.\n\nRisk: AMINER_API_KEY is required for live API use.\n\nMitigation: Provide the token through an environment variable or secret manager and avoid pasting credentials into chat or command-line arguments.\n\n## Reference(s):\n\n- [AMiner Open Platform API Catalog](artifact/references/api-catalog.md)\n- [AMiner Open Platform Documentation](https://open.aminer.cn/open/docs)\n- [AMiner API Console](https://open.aminer.cn/open/board?tab=control)\n- [ClawHub Skill Page](https://clawhub.ai/canxiangcc/skills/aminer-open-academic)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with API call plans, shell commands, JSON snippets, academic result summaries, entity links, and cost reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires AMINER_API_KEY for live AMiner calls; cost-aware workflows should report API usage and total estimated or incurred cost.]\n\n## Skill Version(s):\n\n1.1.1 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"evals/evals.json","content":"{\n  \"skill_name\": \"aminer-data-search\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"I'd like to understand Andrew Ng's complete academic profile, including his research interests, important papers he has published, any patents, and research projects he has participated in. Please use the AMiner API to look this up for me. My token is <YOUR_TOKEN>\",\n      \"expected_output\": \"The estimated cost (~¥6.00) exceeds the ¥5 threshold. Before executing, display the planned call chain and cost breakdown, and ask the user for confirmation. After the user confirms, run the scholar_profile workflow. After completion, output a cost summary.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Displayed the planned call chain with estimated cost BEFORE making paid API calls\",\n        \"Estimated total cost exceeds ¥5, so asked the user for confirmation before proceeding\",\n        \"After user confirmation, called Scholar Search, Scholar Details, Scholar Portrait, Scholar Papers, etc.\",\n        \"Output contains the selected.name field with value Andrew Ng\",\n        \"Output contains a cost summary showing each API called and total cost\"\n      ]\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Help me deep-dive into the paper 'Attention Is All You Need' — find it, retrieve its full details (abstract, authors, year), and then see what references it cites. My AMiner token is <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the paper_deep_dive workflow: search for the paper → retrieve details → retrieve citation relationships. Output the paper abstract, author list, DOI, and list of cited papers.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called a Paper Search API to locate the target paper\",\n        \"Called the Paper Details API (paper_detail) to retrieve the abstract\",\n        \"Called the Paper Citations API (paper_relation) to retrieve the citation list\",\n        \"Output contains the detail field with an abstract sub-field\",\n        \"Output contains the citations_count or citations_preview field\"\n      ]\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"I need to analyze MIT's research strength — I'd like to know which prominent scholars are affiliated with them, what papers they have published, and what patents they hold. Please use the AMiner API to compile a report for me. Token: <YOUR_TOKEN>\",\n      \"expected_output\": \"Run the org_analysis workflow: use Org Disambiguation Pro to find MIT's institution ID, then fetch institution details, scholar list, and paper list in parallel, and compile into a report.\",\n      \"files\": [],\n      \"expectations\": [\n        \"Called the Org Disambiguation Pro API (org_disambiguate_pro) to obtain the institution ID\",\n        \"Called the Org Details API (org_detail) to retrieve MIT's description\",\n        \"Called the Org Scholars API (org_person_relation) to retrieve the scholar list\",\n        \"Called the Org Papers API (org_paper_relation) to retrieve the paper list\",\n        \"Output contains the org_id field\",\n        \"Outpu"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2220,"uniquenessScore":38,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T10:10:30.941Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:18:59.268Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}