Skip to main content
Glama

SciHost — 科学方向探索宿主系统

面向材料科学文献调研与可证伪假设生成的持续运行系统。输入文献语料,输出可证的科研发现研究方向含完整溯源链的发现报告

本项目为比赛提交包,自包含、零外部服务依赖、离线可运行(无需任何 API Key)。

核心能力

  • 科学文献采集与隐性配对:从论文语料发现跨领域隐性关联

  • CSP 知识抽取:自动抽取 组分-结构-性能 三元组

  • 可证伪假设生成:生成含数值预测的假设(如"预测 X 材料带隙为 Y eV")

  • 数字孪生仿真试错:内置 ResearchTwin 虚拟实验环境,算法算子交叉验证 + 材料物理约束检查

  • 材料性能找全(内置 DSR-MO 算法):将已知材料性能数据映射为连续性能景观,用内置多模态优化算法一次性找全所有性能最优的候选材料,并为数值预测假设对标打分

  • 验证复现与发现认证:扰动重跑 + 交叉验证 → 认证为科学发现

  • 文献溯源链:每条发现可追溯到 假设 → 配对 → 论文 → CSP

  • EWC 持续学习:保护已验证知识,校准算子权重

Related MCP server: BRAHM

内置核心算法:DSR-MO

本系统内置了 DSR-MO(小生境 / 群体智能方向的多模态优化算法),作为宿主系统中的一个研究算子,随项目一并提供。

  • 算法定位:面向多模态优化的单目标 niching 算法,能够在一个连续函数空间内同时定位出所有等高的性能峰("先占地盘、后精耕细作":maximin 选择铺开占位保覆盖,Nelder-Mead 局部精修保精度,报告期密度过滤去冗余)。

  • 本项目中的应用场景:数字孪生中的「材料性能找全」算子。把已知材料成分-结构-性能(CSP)数据构造成连续性能景观,DSR-MO 在该景观上一次找全所有性能极值的候选材料,作为可证伪假设的对照基准与打分依据。

  • 算法源码仓库https://github.com/aceris-sola/DSR-MO (评审可对照查看算法完整实现)

  • 移植说明:为便于离线运行,算法以纯 numpy 实现并嵌入本包(sci_host/dsr_mo/),不依赖 MATLAB/Octave。这是同一算法在本系统的实际应用形态。

快速开始

# 1. 安装依赖
pip install -r requirements.txt

# 2. 离线演示(默认,几轮快速跑)
python run.py

# 3. 材料科学完整流水线演示(推荐先跑这个,看完整效果)
python demo.py

# 4. 作为 MCP 服务使用(stdio 模式,供 Claude Desktop / Cursor / IDE 调用)
python run.py --mcp

# 5. 作为 MCP 服务使用(HTTP 模式,远程访问)
python run.py --mcp --http 8080

启用 Sciverse 联网检索(真实文献 + 后端联网审查)

默认离线即用(内置语料,无需任何 Key)。需要检索真实文献或做后端联网审查时,配置一个 Sciverse API Key 即可,采集会自动走 https://api.sciverse.space/agentic-search(4.65 亿学术元数据)。

Key 填在哪(二选一):

  • 推荐:复制 .env.example.env,在 SCIVERSE_API_TOKEN= 后填真实 token(项目启动自动读取,.env 已被 git 忽略)

  • 或用环境变量:export SCIVERSE_API_TOKEN=sci_你的token

联网审查三步走:

python run.py --mcp          # ① 启动 MCP 服务
② 调用 sci_create_sciverse_host 创建联网宿主(联网开关)
③ 依次调用 sci_stream_crawl → pair → hypothesize → trial → verify,
   每步读取真实中间结果,用 sci_stream_feedback 实时把关

完整步骤、可复制的提示词见 USAGE.md 第 5 节。

评审验证清单

验证项

命令

预期

离线演示

python run.py

跑出 论文采集/配对/假设/试错 数据

材料完整演示

python demo.py

输出 CSP 三元组、认证发现、溯源报告

MCP 服务

python run.py --mcp --http 8080

启动 MCP 服务,暴露 sci_* 工具

测试套件

python -m pytest tests/ -q

核心修复测试通过

作为 MCP 服务接入

MCP 客户端配置(claude_desktop_config.json / VS Code / Cursor):

{
  "mcpServers": {
    "sci-host": {
      "command": "python",
      "args": ["/绝对路径/sci-host-mcp-competition/run.py", "--mcp"]
    }
  }
}

工具命名空间为 sci_*,例如:

  • sci_create_host / sci_create_materials_host — 创建宿主实例

  • sci_step / sci_run_cycles — 运行探索循环

  • sci_get_directions / sci_get_discoveries — 获取方向与发现

  • sci_get_csp_knowledge / sci_get_discovery_report — 材料科学专属

  • sci_generate_competition_report — 生成参赛 Markdown 报告

目录结构

sci-host-mcp-competition/
├── run.py                 # 统一入口(离线演示 + MCP 服务)
├── demo.py                # 材料科学完整离线演示
├── requirements.txt       # 最小依赖
├── README.md
├── sci_host/              # 宿主系统核心包(自包含)
│   ├── mcp_server.py      # MCP 服务入口
│   ├── research_twin.py   # 内置数字孪生虚拟实验环境
│   ├── twin_adapter.py    # 算法算子适配器
│   ├── dsr_mo/            # 内置 DSR-MO 多模态优化算法(含材料性能景观与找全算子)
│   ├── research_quality.py
│   ├── core/ ... materials/ ... trial/ ... 等子模块
├── tests/                 # 核心修复测试套件
└── demo/competition-demo.html  # 可视化演示页面

运行环境

  • Python ≥ 3.9

  • 仅依赖:numpy, requests, mcp[cli], pydantic

  • 离线模式使用内置语料,不访问网络,评审无需联网

Related MCP Connectors

Related MCP Servers