← Back to Skills Marketplace
sorrymaker0624

Bohrium Paper & Patent Search

by Sorrymaker0624 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
51
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install bohrium-paper-search
Description
Search academic papers and patents via open.bohrium.com RAG engine. Use when: user asks about searching/finding academic papers, literature review, patent se...
README (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
Capability Tags
requires-sensitive-credentials
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bohrium-paper-search
  3. After installation, invoke the skill by name or use /bohrium-paper-search
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug bohrium-paper-search
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 51 downloads so far.

How do I install Bohrium Paper & Patent Search?

Run "/install bohrium-paper-search" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bohrium Paper & Patent Search free?

Yes, Bohrium Paper & Patent Search is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Bohrium Paper & Patent Search support?

Bohrium Paper & Patent Search is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bohrium Paper & Patent Search?

It is built and maintained by Sorrymaker0624 (@sorrymaker0624); the current version is v1.0.0.

💬 Comments