← 返回 Skills 市场
sorrymaker0624

Bohrium Paper & Patent Search

作者 Sorrymaker0624 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
51
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install bohrium-paper-search
功能描述
Search academic papers and patents via open.bohrium.com RAG engine. Use when: user asks about searching/finding academic papers, literature review, patent se...
使用说明 (SKILL.md)

SKILL: Bohrium Paper & Patent Search

Overview

Search academic papers and patents using the Bohrium RAG search engine. Combines keyword matching with semantic understanding, supporting natural language queries, date range filtering, JCR zone/database filtering, and AI reranking.

Supported Search Types:

Type Endpoint Corpus
English papers /paper/rag/pass/keyword English academic papers (title, abstract, corpus, figures)
Patents /paper/rag/pass/patent Global patents (with classification, assignee filtering)

Use cases: Literature review, technical survey, method comparison, trend analysis.

No CLI support — all operations use the HTTP API.

Authentication

ACCESS_KEY is read from the OpenClaw config ~/.openclaw/openclaw.json:

"bohrium-paper-search": {
  "enabled": true,
  "apiKey": "YOUR_ACCESS_KEY",
  "env": {
    "ACCESS_KEY": "YOUR_ACCESS_KEY"
  }
}

OpenClaw automatically injects env.ACCESS_KEY into the runtime.

Common Code Template

import os, requests

AK = os.environ.get("ACCESS_KEY", "")
BASE = "https://open.bohrium.com/openapi/v1/paper"
HEADERS_JSON = {"accessKey": AK, "Content-Type": "application/json"}

English Paper Search

Basic Search

r = requests.post(f"{BASE}/rag/pass/keyword", headers=HEADERS_JSON, json={
    "words": ["deep learning", "molecular dynamics"],
    "question": "How to use deep learning for molecular dynamics simulation?",
    "startTime": "",
    "endTime": "",
    "pageSize": 10
})
data = r.json()
print(f"Found {len(data['data'])} papers")
for p in data["data"]:
    print(f"  [{p['doi']}] {p['enName']}")
    print(f"    Journal: {p.get('publicationEnName', '')}, IF: {p.get('impactFactor', 0)}")
    print(f"    Date: {p['coverDateStart']}, Citations: {p['citationNums']}")

Advanced Search (Date Range + JCR Zone + Database + Type)

r = requests.post(f"{BASE}/rag/pass/keyword", headers=HEADERS_JSON, json={
    "words": ["deep learning", "protein structure"],
    "question": "deep learning protein structure prediction",
    "type": 5,                          # Search version (see below)
    "startTime": "2024-01-01",          # Start date YYYY-MM-DD
    "endTime": "2025-01-01",            # End date
    "jcrZones": ["Q1", "Q2"],           # JCR zone filter
    "includeDbs": ["SCI"],              # Database filter
    "areaIds": [],                      # Area IDs (optional)
    "publicationIds": [],               # Publication IDs (optional)
    "pageSize": 20
})

Request Parameters

Parameter Type Required Description
words string[] Yes Keyword list; recommend 3-8 English terms
question string Yes Natural language research question
type integer No Search version: 0=basic, 1=enhanced, 2=pro, 3=pro2.0, 4=image, 5=title+abstract+corpus+image+target
startTime string No Start date YYYY-MM-DD, empty string for no limit
endTime string No End date YYYY-MM-DD
jcrZones string[] No JCR zone filter, e.g. ["Q1","Q2"]
includeDbs string[] No Database filter, e.g. ["SCI","SSCI"]
areaIds string[] No Area IDs
publicationIds number[] No Publication IDs
subjectIds number[] No Subject IDs
pageSize integer Yes Result count, 1-100, default 50

Response Fields

Field Description
code 0=success
message Status message
data[] Paper list
data[].doi DOI
data[].paperId Paper ID
data[].enName English title
data[].zhName Chinese title
data[].enAbstract English abstract
data[].zhAbstract Chinese abstract
data[].authors Author list
data[].coverDateStart Publication date
data[].publicationEnName Journal name
data[].publicationCover Journal cover URL
data[].impactFactor Impact factor
data[].citationNums Citation count
data[].popularity Popularity score
data[].pieces Related corpus snippet
data[].figures[] Related figures (figureId, imageUrl, enExplain)
data[].languageType 0=English

Patent Search

r = requests.post(f"{BASE}/rag/pass/patent", headers=HEADERS_JSON, json={
    "keyword": "neural network training optimization",
    "page": 1,
    "pageSize": 10
})
data = r.json()
for p in data:
    print(f"  Patent: {p}")

Note: Patent search API uses simple parameters. Advanced parameters like rerank, type, words, question are not supported (will cause backend errors).

Patent Request Parameters

Parameter Type Required Description
keyword string Yes Search keyword
page integer Yes Page number
pageSize integer Yes Results per page

Patent Response Fields

Returns array format with patent information objects.


Search Tips

Keyword Selection

# GOOD: 3-8 professional terms
words = ["molecular dynamics", "force field", "deep potential", "neural network"]

# BAD: Too generic
words = ["science", "research"]

Combine question for Better Relevance

words is for exact keyword matching, question is for semantic understanding. Best results come from combining both (for paper search only):

{
    "words": ["GNN", "molecular property", "prediction"],
    "question": "How do graph neural networks predict molecular properties?",
    "pageSize": 20
}

Filter for High-Quality Journals

{
    "words": ["..."],
    "question": "...",
    "jcrZones": ["Q1"],          # Q1 journals only
    "includeDbs": ["SCI"],       # SCI-indexed only
    "startTime": "2023-01-01",   # Recent 2 years
    "endTime": "2025-12-31"
}

curl Examples

AK="YOUR_ACCESS_KEY"
BASE="https://open.bohrium.com/openapi/v1/paper"

# English paper search
curl -s -X POST "$BASE/rag/pass/keyword" \
  -H "Content-Type: application/json" \
  -H "accessKey: $AK" \
  -d '{"words":["deep learning","protein"],"question":"deep learning protein structure prediction","type":5,"startTime":"2024-01-01","endTime":"2025-01-01","jcrZones":["Q1"],"pageSize":5}'

# Patent search
curl -s -X POST "$BASE/rag/pass/patent" \
  -H "Content-Type: application/json" \
  -H "accessKey: $AK" \
  -d '{"words":["neural network"],"question":"neural network training","type":3,"rerank":1,"pageSize":5}'

Troubleshooting

Problem Cause Solution
code is non-zero Request parameter error Check message field for details
401 Unauthorized Invalid accessKey Verify ACCESS_KEY is correct
Irrelevant results Keywords too generic or vague question Use 3-8 professional terms + clear question
Empty results Date range too narrow or filters too strict Widen startTime/endTime or remove jcrZones
Response has multiple JSON lines Normal behavior (streaming) Parse first line only: `json.loads(response.text.split('\
')[0])`
Patent pieces empty Some patents lack corpus indexing Normal; use abstracts for content instead
能力标签
requires-sensitive-credentials
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bohrium-paper-search
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bohrium-paper-search 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug bohrium-paper-search
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Bohrium Paper & Patent Search 是什么?

Search academic papers and patents via open.bohrium.com RAG engine. Use when: user asks about searching/finding academic papers, literature review, patent se... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 51 次。

如何安装 Bohrium Paper & Patent Search?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bohrium-paper-search」即可一键安装,无需额外配置。

Bohrium Paper & Patent Search 是免费的吗?

是的,Bohrium Paper & Patent Search 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Bohrium Paper & Patent Search 支持哪些平台?

Bohrium Paper & Patent Search 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Bohrium Paper & Patent Search?

由 Sorrymaker0624(@sorrymaker0624)开发并维护,当前版本 v1.0.0。

💬 留言讨论