Bohrium SciencePedia

Other

Browse and search Bohrium SciencePedia (encyclopedia) via open.bohrium.com. Use when: user asks about finding scientific topics, reading encyclopedia-style entries, browsing by major/level/field hierarchy, or looking up a specific concept's article. NOT for: paper search (use bohrium-paper-search), knowledge base management (use bohrium-knowledge-base).

Install

openclaw skills install bohrium-wiki

SKILL: Bohrium SciencePedia

Overview

Access Bohrium SciencePedia through the /v1/literature-sage/wiki_v2/* endpoints on open.bohrium.com — a hierarchical encyclopedia of scientific topics organized as majorlevelfieldtopic.

Use when:

  • Getting a quick definition of a scientific term (more focused than web-search — encyclopedia-style entries)
  • Browsing by discipline (e.g., all subfields under materials science)
  • Retrieving the full article of a topic (intro / applications / background sections)

Don't use for:

  • Paper search → bohrium-paper-search
  • Managing your own knowledge base → bohrium-knowledge-base

No CLI support — HTTP API only.

Auth configuration

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

Common template

import os, requests

AK = os.environ["ACCESS_KEY"]
BASE = "https://open.bohrium.com/openapi/v1/literature-sage/wiki_v2"
H = {"accessKey": AK, "Content-Type": "application/json"}

# Optional global defaults
DEFAULTS = {"language": "en-US", "style": "Feynman"}
# language: "en-US" / "zh-CN"
# style: "Feynman" for accessible tone, or others

Actions overview

ActionMethodPurpose
infoGETBasic SciencePedia info
major_levelsPOSTList all majors and their levels
get_wiki_indexPOSTFetch index for a given nodeId / fieldId
get_level_wiki_indexPOSTList nodes filtered by node_types
search_index_namePOSTKeyword search of index entries
level_fieldsPOSTList fields under a set of level nodes
articlePOSTFetch the article body of a node / entry

1. Info — info

r = requests.get(f"{BASE}/info", headers={"accessKey": AK})
print(r.json())

2. Majors & levels — major_levels

r = requests.post(f"{BASE}/major_levels", headers=H, json={**DEFAULTS})
for m in r.json().get("majors", []):
    levels = ", ".join(l["name"] for l in m.get("levels", []))
    print(f"- {m['name']} [{m['node_id']}]  levels: {levels}")

3. Search entries — search_index_name

r = requests.post(f"{BASE}/search_index_name", headers=H, json={
    "name": "graphene",
    "node_types": ["field"],   # Filter: major / level / field / topic
    "style": "Feynman",
})
for i, n in enumerate(r.json().get("wiki_indices", []), 1):
    print(f"[{i}] [{n['node_type']}] {n['node_name']}  id={n['node_id']}")

4. All nodes under a level — get_level_wiki_index

r = requests.post(f"{BASE}/get_level_wiki_index", headers=H, json={
    "node_types": ["major", "level"],
    **DEFAULTS,
})
for n in r.json().get("wiki_indices", [])[:50]:
    print(f"[{n['node_type']}] {n['node_name']}  ({n['node_id']})")

5. Index for a given node — get_wiki_index

r = requests.post(f"{BASE}/get_wiki_index", headers=H, json={
    "node_id": "NODE_ID_HERE",
    # or "field_id": "FIELD_ID_HERE"
    **DEFAULTS,
})
print(r.json())

6. Bulk list fields under level — level_fields

r = requests.post(f"{BASE}/level_fields", headers=H, json={
    "node_ids": ["LEVEL_NODE_ID1", "LEVEL_NODE_ID2"],
    "page_num": 1, "page_size": 10,
    **DEFAULTS,
})
for row in r.json().get("items", []):
    major = row.get("major", {}).get("name")
    level = row.get("level", {}).get("name")
    field = row.get("field", {}).get("name")
    print(f"- {major}/{level}/{field}  topics={row.get('topic_count')}")

7. Article body — article

r = requests.post(f"{BASE}/article", headers=H, json={
    "node_id": "NODE_ID",         # or "entry_id": "ENTRY_ID"
    **DEFAULTS,
})
doc = r.json().get("document", {})
print(f"# {doc.get('article_name')}")
print(doc.get("main_content", "")[:2000])

Common fields: document.article_name / document.main_content / document.applications / document.seo_title.


curl example

AK="YOUR_ACCESS_KEY"
BASE="https://open.bohrium.com/openapi/v1/literature-sage/wiki_v2"

# Search entries by keyword
curl -s -X POST "$BASE/search_index_name" \
  -H "accessKey: $AK" -H "Content-Type: application/json" \
  -d '{"name":"graphene","node_types":["field"],"style":"Feynman"}' \
  | jq '.wiki_indices[] | {node_name, node_type, node_id}'

Troubleshooting

SymptomCauseFix
No matches for "..."Keyword not in indexTry synonyms; expand node_types to ["field","topic","major","level"]
Empty articleWrong nodeId/entryId or no bodyFirst call search_index_name to obtain the correct node_id
All-English (or all-Chinese) resultsWrong languageSet "language": "en-US" or "zh-CN"

Pairs well with

  • wiki for a baseline explanation of a concept → paper-search to go deep
  • wiki to browse the discipline tree (major_levels) → pick a field → scholar to find leading researchers