Skip to content

Oli51467/starfish

Repository files navigation

Starfish Logo

Starfish · 中文English

Typing Subtitle

⚡ Project Overview

Starfish is designed to turn research exploration from a one-off tool into a continuously evolving system. Through autonomous multi-agent collaboration, it can proactively retrieve evidence, generate insights, and iteratively refine strategies after each execution cycle. It is ready to use out of the box, yet not a static pipeline: it grows with evolving agent skills, toolsets, and memory bases. Compared with traditional human-in-the-loop workflows, Starfish follows a more human-on-the-loop paradigm, where researchers steer direction and judgment boundaries while AI co-evolves as a long-term research partner.

✨ Features

  • Multi-Agent: One orchestrator coordinates specialized agents to solve complex research tasks collaboratively.
  • Subagent: Heterogeneous subagents can compete and negotiate, with dynamic selection by quality, cost, and latency.
  • Workflow: Retrieval, checkpointing, graph building, and lineage analysis are connected into an observable and replayable flow.
  • Knowledge Graph: Automatically extracts papers, concepts, and relations into a structured research graph.
  • Lineage Tree: Expands from a key paper to ancestors and descendants for tracing scientific evolution.

🖼️ System Snapshot

Landing Page
Homepage with bilingual entry and research input.
Workflow Panel
Workflow panel with paper retrieval and progress logs.
Knowledge Graph
Knowledge graph canvas for entities and relations.
Lineage Tree
Lineage tree view for ancestry and descendants.

📦 Installation

Quick Start

docker compose up -d --build

After startup:

  • Frontend: http://localhost:17327
  • Backend: http://localhost:14032

🔑 Configuration

Use backend/.env for backend settings and frontend/.env.local for frontend settings (optional).

# LLM
API_KEY=your_api_key
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-5.3-codex
EMBEDDING_MODEL=text-embedding-v3

# Data Layer
POSTGRES_DSN=postgresql://starfish:starfish@localhost:5432/starfish
NEO4J_URI=bolt://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=starfish
REDIS_URL=redis://localhost:6379/0

# Auth
GOOGLE_CLIENT_ID=
GITHUB_OAUTH_CLIENT_ID=
GITHUB_OAUTH_CLIENT_SECRET=
GITHUB_OAUTH_REDIRECT_URI=http://localhost:17327/auth/github/callback
SESSION_SECRET=change-this-session-secret

# Service
CORS_ORIGINS=http://localhost:17327,http://127.0.0.1:17327
# frontend/.env.local
VITE_API_BASE_URL=http://localhost:14032
VITE_GOOGLE_CLIENT_ID=

For GitHub OAuth, ensure the callback URL configured in your GitHub OAuth App exactly matches GITHUB_OAUTH_REDIRECT_URI.

Optional retrieval enhancers: SEMANTIC_SCHOLAR_API_KEY, OPENALEX_MAILTO, SCITE_API_KEY, GITHUB_TOKEN.

About

Science Research Engine · 从一个研究领域向多触角延展,集检索、建图、自主探索的科研工作引擎

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors