ResearchTwin

ResearchTwin

For AI agents and humans: Discover researchers, publications, datasets, and code repositories across a federated network of researcher digital twins. Compute S-Index impact metrics combining citation data from Semantic Scholar and Google Scholar with code and dataset quality scores from GitHub and Figshare.

Category
访问服务器

README

ResearchTwin: Federated Agentic Web of Research Knowledge

License Live Platform S-Index Spec Project Board

ResearchTwin is an open-source, federated platform that transforms a researcher's publications, datasets, and code repositories into a conversational Digital Twin. Built on a Bimodal Glial-Neural Optimization (BGNO) architecture, it enables dual-discovery where both humans and AI agents collaborate to accelerate scientific discovery.

Live at researchtwin.net | Join the Network


Project Vision

The exponential growth of scientific outputs has created a "discovery bottleneck." Traditional static PDFs and siloed repositories limit knowledge synthesis and reuse. ResearchTwin addresses this by:

  • Integrating multi-modal research artifacts from Semantic Scholar, Google Scholar, GitHub, and Figshare
  • Computing a real-time S-Index metric (Quality × Impact × Collaboration) across all output types
  • Providing a conversational chatbot interface for interactive research exploration
  • Exposing an Inter-Agentic Discovery API with Schema.org types for machine-to-machine research discovery
  • Enabling a federated, Discord-like architecture supporting local nodes, hubs, and hosted edges

Architecture Overview

BGNO (Bimodal Glial-Neural Optimization)

Data Sources          Glial Layer          Neural Layer         Interface
┌──────────────┐    ┌─────────────┐    ┌──────────────┐    ┌────────────┐
│Semantic Scholar│───▶│             │    │              │    │  Web Chat  │
│Google Scholar │───▶│  SQLite     │───▶│  RAG with    │───▶│  Discord   │
│GitHub API     │───▶│  Cache +    │    │  Claude API  │    │  Agent API │
│Figshare API   │───▶│  Rate Limit │    │              │    │  Embed     │
└──────────────┘    └─────────────┘    └──────────────┘    └────────────┘
  • Connector Layer: Pulls papers (S2+GS with deduplication), repos (GitHub), datasets (Figshare), and ORCID metadata
  • Glial Layer: SQLite caching with 24h TTL, rate limiting, S2+GS title-similarity merge (0.85 threshold)
  • Neural Layer: RAG with Claude — context assembly, prompt engineering, conversational synthesis
  • Interface Layer: D3.js knowledge graph, chat widget, Discord bot, REST API

Federated Network Tiers

Tier Name Description Status
Tier 1 Local Nodes Researchers run python run_node.py locally Live
Tier 2 Hubs Lab aggregators federating multiple nodes Planned
Tier 3 Hosted Edges Cloud-hosted at researchtwin.net Live

Inter-Agentic Discovery API

Machine-readable endpoints with Schema.org @type annotations:

Endpoint Schema.org Type Purpose
GET /api/researcher/{slug}/profile Person Researcher profile with HATEOAS links
GET /api/researcher/{slug}/papers ItemList of ScholarlyArticle Papers with citations
GET /api/researcher/{slug}/datasets ItemList of Dataset Datasets with QIC scores
GET /api/researcher/{slug}/repos ItemList of SoftwareSourceCode Repos with QIC scores
GET /api/discover?q=keyword&type=paper SearchResultSet Cross-researcher search

Getting Started

Hosted (Tier 3) — Zero Setup

  1. Visit researchtwin.net/join.html
  2. Register with your name, email, and research identifiers
  3. Your Digital Twin is live immediately

Local Node (Tier 1) — Full Control

git clone https://github.com/martinfrasch/researchtwin.git
cd researchtwin
pip install -r backend/requirements.txt
cp node_config.json.example node_config.json
# Edit node_config.json with your details
python run_node.py --config node_config.json

Docker Deployment

cp .env.example .env  # Add your API keys
docker-compose up -d --build

Required API keys: ANTHROPIC_API_KEY (for Claude RAG) Optional: S2_API_KEY, GITHUB_TOKEN, DISCORD_BOT_TOKEN, SMTP credentials


Repository Structure

researchtwin/
├── backend/
│   ├── main.py              # FastAPI endpoints (REST + Discovery API)
│   ├── researchers.py        # SQLite researcher CRUD + token management
│   ├── database.py           # SQLite schema, WAL mode, migrations
│   ├── models.py             # Pydantic models for all endpoints
│   ├── rag.py                # RAG context assembly for Claude
│   ├── qic_index.py          # S-Index / QIC computation engine
│   ├── email_service.py      # SMTP service for profile update codes
│   ├── connectors/           # Data source connectors
│   │   ├── semantic_scholar.py
│   │   ├── scholarly_lib.py  # Google Scholar via scholarly
│   │   ├── github_connector.py
│   │   └── figshare.py
│   └── discord_bot/          # Discord bot with /research and /sindex
├── frontend/
│   ├── index.html            # Main dashboard with D3.js knowledge graph
│   ├── join.html             # Self-registration page
│   ├── update.html           # Email-verified profile updates
│   ├── privacy.html          # Privacy policy
│   └── widget-loader.js      # Embeddable chat widget
├── run_node.py               # Tier 1 local node launcher
├── node_config.json.example  # Local node configuration template
├── docker-compose.yml        # Docker orchestration
├── nginx/                    # Nginx reverse proxy + SSL
└── whitepaper.tex            # LaTeX manuscript

Ecosystem

This repository is part of the ResearchTwin Ecosystem project:

Repository Description
researchtwin Federated platform (this repo)
s-index S-Index formal specification and reference implementation

Embeddable S-Index Widget

Show your S-Index on your lab website, Google Sites page, or personal homepage:

<iframe
  src="https://researchtwin.net/embed.html?slug=YOUR-SLUG"
  width="440" height="180"
  style="border:none; border-radius:12px;"
  loading="lazy">
</iframe>

Replace YOUR-SLUG with your researcher slug (e.g. martin-frasch).

Google Sites: Edit page > Insert > Embed > "By URL" tab > paste https://researchtwin.net/embed.html?slug=YOUR-SLUG

WordPress: Add a Custom HTML block and paste the iframe code.

The widget displays the researcher's name, S-Index score, h-index, citation count, and paper count. Data updates automatically from live API sources.

See it in action | Full embed instructions


Documentation

Document Description
API Reference Full REST API documentation with schemas and examples
Self-Hosting Guide Tier 1 Local Node setup and configuration
Hub Federation Guide Tier 2 Hub architecture and setup (planned)
Security Policy Vulnerability reporting and security best practices

Contributing

Contributions welcome! See the project board for tracked issues.

  • New connectors (ORCID enrichment, PubMed, OpenAlex)
  • Affiliation-based geographic mapping
  • MCP server for inter-agentic discovery
  • UI/UX improvements
  • Bug fixes and optimizations

License

MIT License. See LICENSE.


Contact


Empowering researchers and AI agents to discover, collaborate, and innovate together.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选