Getting Started
March 16, 2026 · View on GitHub
Complete installation and first-run guide for Sibyl Research System.
Fastest path: Open the cloned repo in Claude Code and say "Read docs/setup-guide.md and help me set up Sibyl". Claude will automatically check your environment and configure everything, only asking for info it can't detect. See setup-guide.md for the full checklist Claude follows.
Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.12+ | Used for orchestrator and experiments |
| Claude Code CLI | Latest | Core runtime for all agents |
| Node.js | 18+ | Required for npm-based MCP servers |
| Git | Any | Version control for workspaces |
| GPU Server | SSH accessible | For experiment execution |
| tmux | Any | Strongly recommended — persistent sessions + Sentinel auto-recovery |
tmux enables the Sentinel watchdog to automatically restart Claude Code if it crashes or goes idle during long experiments. Install:
brew install tmux(macOS) /apt install tmux(Linux). Always run Sibyl inside a tmux session:tmux new -s sibyl.
API Keys
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY | Yes | Claude API key, required by Claude Code CLI |
OPENAI_API_KEY | If codex_enabled: true | OpenAI API key for Codex cross-review |
Environment Variable
Agent team features require:
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Add this to your ~/.zshrc or ~/.bashrc for persistence.
Installation
Option 1: Automated Setup
git clone https://github.com/Sibyl-Research-Team/sibyl-research-system.git
cd sibyl-research-system
chmod +x setup.sh && ./setup.sh
setup.sh will:
- Find Python 3.12+ and create a virtual environment (
.venv/) - Install Sibyl into the repo venv (
pip install -e .) - Install required MCP servers (arXiv)
- Interactively configure SSH MCP server (GPU server host, user, SSH key)
- Create a manual MCP JSON config only when no existing MCP JSON config is present
- Create
config.yamlwith GPU server settings - Add or update
export SIBYL_ROOT="..."in your shell rc file (~/.zshrc/~/.bashrc) - Check for required environment variables (
ANTHROPIC_API_KEY,CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS)
Option 2: Manual Setup
git clone https://github.com/Sibyl-Research-Team/sibyl-research-system.git
cd sibyl-research-system
# Create Python virtual environment
python3.12 -m venv .venv
.venv/bin/pip install -e .
MCP Server Setup
Sibyl relies on several MCP servers. setup.sh configures the required ones automatically when possible. For manual setup, prefer claude mcp add --scope local ... so the configuration stays repo-scoped by default. See MCP Servers for full installation and configuration instructions.
Required (configured by setup.sh):
- SSH MCP — remote GPU execution (
@fangjunjie/ssh-mcp-server) - arXiv MCP — literature search (
pip install arxiv-mcp-server)
Recommended:
- Google Scholar MCP — academic search (used by 10+ agents):
git clone https://github.com/JackKuo666/Google-Scholar-MCP-Server.git ~/.local/share/mcp-servers/Google-Scholar-MCP-Server .venv/bin/pip install -r ~/.local/share/mcp-servers/Google-Scholar-MCP-Server/requirements.txt claude mcp add --scope local google-scholar -- .venv/bin/python3 ~/.local/share/mcp-servers/Google-Scholar-MCP-Server/google_scholar_server.py - Codex MCP — GPT-5.4 independent cross-review (enable with
codex_enabled: trueafter installation)
Optional:
- Lark/Feishu MCP — cloud document sync
- bioRxiv MCP — biology preprints (
.venv/bin/pip install biorxiv-mcp-server) - Playwright MCP — web browsing
GPU Server Setup
setup.sh handles SSH MCP configuration interactively. For server-side setup (conda environments, GPU polling, shared resources), see SSH & GPU Setup.
Load Plugin
Sibyl is provided as a Claude Code Plugin. Always run inside tmux for persistent sessions:
# `setup.sh` normally writes this for you; set it manually only if you skipped setup.sh
export SIBYL_ROOT=/path/to/sibyl-research-system
# Repo root: setup / init / status / migrate / evolve
cd "$SIBYL_ROOT"
tmux new -s sibyl-admin
claude --plugin-dir "$SIBYL_ROOT/plugin" --dangerously-skip-permissions
# Workspace root: actual project execution (recommended)
cd "$SIBYL_ROOT/workspaces/my-project"
tmux new -s sibyl-my-project
claude --plugin-dir "$SIBYL_ROOT/plugin" --dangerously-skip-permissions
Replace /path/to/sibyl-research-system with your actual local path.
For active research runs, start Claude from the target workspace root workspaces/<project>/, not from the repo root and not from workspaces/<project>/current. This loads the workspace-specific CLAUDE.md, project memory, Ralph prompt, and .claude/ runtime links directly.
For multi-project parallel execution, use one tmux session/window/pane per project and launch one Claude instance inside each workspace root. Do not reuse the same Claude pane/session across projects.
--dangerously-skip-permissionsis strongly recommended for Sibyl to function as designed. Without it, Claude Code will prompt for permission on every tool call — file reads, SSH commands, MCP calls, agent spawns — making autonomous multi-stage research impractical (hundreds of manual approvals per iteration).⚠️ Security trade-off: This flag grants Claude Code unrestricted access to execute commands, read/write files, and call MCP tools without confirmation. Only use it on machines dedicated to research, and consider running inside a container or VM. Do not use on systems with sensitive credentials or data outside the project scope.
Verify plugin loaded: After starting Claude Code, type /sibyl-research:status — if the plugin is loaded, it will execute the status command.
First Research Project
Need a realistic end-to-end smoke test first? Use the fixed tiny demo in ../demos/remote_parallel_smoke/README.md. It scaffolds a project that exercises remote SSH execution, GPU polling, experiment monitoring, parallel tasks, and the writing/LaTeX chain against pre-existing remote checkpoints.
1. Initialize
/sibyl-research:init
This interactive command will:
- Ask for your research topic
- Generate a
spec.mdrequirements file - Create a workspace under
workspaces/<project>/
2. Configure
Create a root-level config file for machine-level defaults (git-ignored):
cp config.example.yaml config.yaml
Edit the key fields:
ssh_server: "default" # Use "default" when ssh-mcp-server was added with --host/--username directly
# ssh_server: "my-gpu-server" # Use your SSH host alias only if the MCP setup resolves one
remote_base: "/home/you/sibyl" # Base directory on GPU server
max_gpus: 4 # Max GPUs to use
language: zh # Default control-plane language; paper writing still stays English
codex_enabled: false # Opt in only after Codex MCP + OPENAI_API_KEY are configured
You can also create project-specific overrides in workspaces/<project>/config.yaml — these take priority over root config. See Configuration Reference for all options.
3. Start Research
/sibyl-research:start spec.md
This enters the autonomous research loop. The system will:
- Search literature (arXiv + Web)
- Generate and debate ideas (6-agent team)
- Plan and execute experiments (GPU-parallel)
- Analyze results (6-agent debate)
- Write and review paper (multi-agent)
- Iterate until quality gate passes
4. Monitor Progress
/sibyl-research:status # View all projects
/sibyl-research:debug <project> # Single-step mode
All Plugin Commands
See Plugin Commands Reference for the complete list of 12 commands.
Next Steps
- Configuration Reference — All 35+ config options
- MCP Servers — Install and configure MCP dependencies
- SSH & GPU Setup — GPU server configuration
- Codex Integration — GPT-5.4 cross-review setup
- Feishu/Lark Setup — Cloud document sync
- Architecture — System internals for contributors