Skip to content

ZigaoWang/wikid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wikid

A question-driven public encyclopedia where content is built through user curiosity. Instead of manual editing, the site grows whenever someone asks a question.

How It Works

  1. Ask - User enters a topic or question
  2. Research - AI researches using real web sources (Tavily API)
  3. Create - Individual entity pages are created first, then the answer page with backlinks
  4. Link - Pages are automatically connected in a knowledge graph

Architecture

┌──────────────────┐     ┌──────────────────┐     ┌─────────────┐
│  Next.js (SSG)   │────▶│     Go API       │────▶│  PostgreSQL │
│  - Tailwind      │     │  - Research      │     │             │
│  - TanStack Q    │     │  - Tavily Search │     └─────────────┘
└──────────────────┘     │  - Web Scraper   │
                         └──────────────────┘

Setup

Prerequisites

  • Go 1.22+
  • Node.js 18+
  • PostgreSQL 14+

Backend

cd api

# Copy env and add your keys
cp .env.example .env

# Create database and run migrations
createdb wikid
make migrate

# Run server
make dev

Frontend

cd web
npm install
npm run dev

Environment Variables

API (api/.env):

  • DATABASE_URL - PostgreSQL connection string
  • OPENAI_API_KEY - OpenAI-compatible API key
  • OPENAI_BASE_URL - API base URL (optional)
  • OPENAI_MODEL - Model to use (default: gpt-4.1)
  • TAVILY_API_KEY - Tavily search API key

Frontend (web/.env.local):

Features

  • STORM-style research - Creates entity pages before answering questions
  • Real citations - All facts backed by web sources
  • Knowledge graph - Visual network of connected articles
  • Auto-expansion - Background worker expands related topics
  • Text search - Find articles by keyword

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages