loading…
Search for a command to run...
loading…
For AI agents and humans: Discover researchers, publications, datasets, and code repositories across a federated network of researcher digital twins. Compute S-
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.
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
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:
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 │
└──────────────┘ └─────────────┘ └──────────────┘ └────────────┘
| 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 |
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 |
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
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
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
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 |
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
| 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 |
Contributions welcome! See the project board for tracked issues.
MIT License. See LICENSE.
Empowering researchers and AI agents to discover, collaborate, and innovate together.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"researchtwin": {
"command": "npx",
"args": []
}
}
}