Skip to content

PeppaPigw/Kaleidoscope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kaleidoscope

Kaleidoscope

Academic Paper Intelligence Platform with Epistemic Analysis Engine

πŸ‡¨πŸ‡³ δΈ­ζ–‡ζ–‡ζ‘£ Β |Β  πŸ‡¬πŸ‡§ English

Python 3.12 Nuxt 3 FastAPI 2075+ Tools MCP Compatible KNCL v1.0 License


Overview

Kaleidoscope is a full-stack research platform for discovering, ingesting, reading, and analyzing academic papers. It combines a Markdown-first storage approach with a powerful Epistemic Analysis Engine β€” over 2,075 specialized AI tools that detect cognitive biases, logical fallacies, rhetorical distortions, and reasoning failures in academic claims.

Key Features

  • πŸ“‘ ArXiv Ingestion β€” Batch-fetch papers across categories, auto-convert to Markdown
  • πŸ“– Markdown Reader β€” Read papers in-browser with table of contents, font controls, and section navigation
  • πŸ“Š Analytics Dashboard β€” Library insights: timeline, categories, top authors, keyword cloud, citation network
  • πŸ” Multi-modal Search β€” Keyword, semantic, and claim-first search across your library
  • 🧠 Epistemic Analysis Engine β€” 2,075+ AI-powered tools for deep reasoning analysis
  • πŸ€– Autonomous Research Agent β€” Multi-step research workflows with tool orchestration
  • πŸ”Œ MCP Server β€” Model Context Protocol integration for external AI agent access
  • πŸ“¦ Python SDK β€” Programmatic access to all platform capabilities
  • 🌐 Bilingual UI β€” Full English/Chinese internationalization
  • πŸ”— Original Links β€” One-click access to arXiv abstract, PDF, and ar5iv HTML

Epistemic Analysis Engine

The core differentiator β€” a comprehensive taxonomy of 2,075+ detection tools organized across domains:

Domain Examples Count
Cognitive Biases Anchoring, availability heuristic, confirmation bias, Dunning-Kruger 200+
Logical Fallacies Ad hominem, straw man, false dilemma, slippery slope 150+
Causal Reasoning Post hoc, reverse causation, spurious correlation, single cause 100+
Epistemic Scale Ecological fallacy, composition/division, scope neglect 80+
Social Dynamics Groupthink, pluralistic ignorance, reputation cascade, conformity 100+
Institutional Citation cartel, credentialism, regulatory capture, peer review theater 80+
Communication Sealioning, tone policing, jargon gatekeeping, strategic ambiguity 80+
Narrative Origin myth, survivorship bias, teleological thinking, hindsight 80+
Decision Making Premature closure, analysis paralysis, commitment escalation 80+
Methodology P-hacking, Texas sharpshooter, streetlight effect, reification 80+
Temporal Presentism, shifting baseline, recency illusion, end-of-history 60+
Emotion Affect infusion, moral outrage substitution, empathy gap 60+
Power & Identity Epistemic injustice, manufactured consent, tribal epistemology 100+
Technology Algorithm opacity, filter bubble, automation bias, digital amnesia 60+
Meta-cognition Blind spot bias, illusion of explanatory depth, calibration neglect 60+
+ more Ecology, virtue, attention, measurement, collective… 600+

Each tool accepts domain-specific parameters and returns structured JSON with detection results, severity ratings, and actionable recommendations.


Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Frontend (Nuxt 3)                       β”‚
β”‚   Vue 3 Β· TypeScript Β· Lucide Icons Β· GSAP Animations       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚ REST API
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Backend (FastAPI)                          β”‚
β”‚   SQLAlchemy Β· Celery Β· Pydantic Β· Structlog                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Agent Layer                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Tool         β”‚  β”‚ Research     β”‚  β”‚ MCP Server       β”‚   β”‚
β”‚  β”‚ Dispatcher   β”‚  β”‚ Runtime      β”‚  β”‚ (2075+ tools)    β”‚   β”‚
β”‚  β”‚ (2075 tools) β”‚  β”‚ (autonomous) β”‚  β”‚                  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ PostgreSQL  β”‚   Redis   β”‚ Meilisearchβ”‚    Qdrant            β”‚
β”‚  (primary)  β”‚  (cache)  β”‚ (fulltext) β”‚  (embeddings)        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Neo4j (graph)  Β·  MinIO (objects)  Β·  GROBID (PDF)         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Project Structure

Kaleidoscope/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/v1/             # REST endpoints (20+ routers)
β”‚   β”‚   β”œβ”€β”€ clients/            # External API clients (arXiv, MinerU, OpenAlex, LLM)
β”‚   β”‚   β”œβ”€β”€ models/             # SQLAlchemy ORM models
β”‚   β”‚   β”œβ”€β”€ schemas/            # Pydantic request/response schemas
β”‚   β”‚   β”œβ”€β”€ services/           # 2075+ epistemic analysis services
β”‚   β”‚   β”‚   β”œβ”€β”€ agent/          # Tool dispatcher & agent orchestration
β”‚   β”‚   β”‚   β”œβ”€β”€ extraction/     # QA engine, summarizer
β”‚   β”‚   β”‚   β”œβ”€β”€ search/         # Vector & hybrid search
β”‚   β”‚   β”‚   β”œβ”€β”€ graph/          # Citation graph analysis
β”‚   β”‚   β”‚   └── *.py            # Individual detection services
β”‚   β”‚   β”œβ”€β”€ mcp_server.py       # MCP protocol server (all tools exposed)
β”‚   β”‚   β”œβ”€β”€ tasks/              # Celery async tasks
β”‚   β”‚   β”œβ”€β”€ graph_db/           # Neo4j driver & queries
β”‚   β”‚   └── utils/              # Shared utilities
β”‚   β”œβ”€β”€ kaleidoscope_sdk/       # Python SDK client
β”‚   β”œβ”€β”€ alembic/                # Database migrations
β”‚   β”œβ”€β”€ docker/                 # Docker Compose for infrastructure
β”‚   └── pyproject.toml          # Python dependencies & tooling
β”‚
β”œβ”€β”€ frontend/                   # Nuxt 3 frontend
β”‚   β”œβ”€β”€ components/             # Vue components
β”‚   β”œβ”€β”€ pages/                  # File-based routing
β”‚   β”œβ”€β”€ composables/            # Shared logic
β”‚   β”œβ”€β”€ i18n/                   # en-US / zh-CN translations
β”‚   └── nuxt.config.ts
β”‚
└── docker-compose.yml          # Full-stack orchestration

Quick Start

Prerequisites

  • Docker & Docker Compose
  • Node.js 20+ / pnpm
  • Python 3.12+ / uv (or pip)

1. Infrastructure

cd backend/docker
docker compose up -d   # PostgreSQL, Redis, Qdrant, Meilisearch, Neo4j, MinIO

2. Backend

cd backend
cp .env.example .env   # Configure API keys and DB URLs
uv sync                # Install dependencies
alembic upgrade head   # Run migrations
uvicorn app.main:app --reload --port 8000

3. Frontend

cd frontend
pnpm install
pnpm dev               # http://localhost:3000

4. MCP Server (for AI agent integration)

cd backend
python -m app.mcp_server   # Exposes 2075+ tools via MCP protocol

SDK Usage

from kaleidoscope_sdk import KaleidoscopeClient

client = KaleidoscopeClient(base_url="http://localhost:8000")

# Detect confirmation bias in a claim
result = await client.call_tool(
    "confirmation_bias_detect",
    claim="Studies consistently show X",
    evidence_pattern="Only favorable studies cited",
    domain="medicine"
)

# Run autonomous research
run = await client.research(
    query="What is the evidence for X?",
    depth="deep"
)

API Endpoints

Module Prefix Description
Papers /papers CRUD, batch import, Markdown conversion
Collections /collections Paper organization
Search /search Multi-modal search
Agent /agent Autonomous research agent
Intelligence /intelligence AI-powered insights
OpenAlex /openalex External search + citation graph builder
Knowledge /knowledge Note graph
Feeds /feeds RSS management

Interactive docs available at http://localhost:8000/docs when backend is running.


Tech Stack

Layer Technology
Frontend Nuxt 3, Vue 3, TypeScript, Lucide Icons, GSAP
Backend FastAPI, SQLAlchemy 2, Celery, Pydantic v2
Database PostgreSQL 16, Redis 7
Search Meilisearch, Qdrant (vector)
Graph Neo4j 5
Storage MinIO (S3-compatible)
PDF Parser GROBID, MinerU API
AI/LLM Configurable endpoint (OpenAI-compatible)
Protocol MCP (Model Context Protocol)

Contributing

  1. Fork the repo
  2. Create your feature branch (git checkout -b feat/amazing-feature)
  3. Commit with conventional commits (feat:, fix:, docs:)
  4. Push and create a Pull Request

License

This project is licensed under the Kaleidoscope Non-Commercial License (KNCL) v1.0. Commercial use requires separate written permission or a commercial license. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors