# ============================================================ # NSCT — Neutral Search Crawler Tool # ============================================================ **NSCT** ist ein vollständig lokal betreibbares, containerisiertes Recherche- und Analyse-System. Es durchsucht Webquellen, extrahiert Inhalte, vergleicht Behauptungen (Claims) aus verschiedenen Quellen und erzeugt einen neutralen, quellengestützten Bericht. **NSCT steht für:** Neutral Search Crawler Tool. ## Architektur-Übersicht ``` ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │ User / CLI │───▶│ NSCT API │───▶│ FastAPI / │ │ │ │ (FastAPI) │ │ uvicorn │ └─────────────┘ └──────────────┘ └───────────────┘ │ ┌────────────┼─────────────┐ ▼ ▼ ▼ ┌───────────┐ ┌─────────┐ ┌──────────┐ │ LLM │ │ Vision │ │ Audio │ │ Provider │ │ Model │ │ Model │ └───────────┘ └─────────┘ └──────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────┐ │ PostgreSQL (evidence store) │ └─────────────────────────────────────┘ ▲ │ ┌──────────────┐ │ SearXNG │ (optional search backend) └──────────────┘ ``` ## Quick Start ### Docker Compose ```bash # 1. Kopiere die Beispiel-Env cp .env.example .env # 2. Trage deine Endpunkte ein (LLM, Vision, Audio, PostgreSQL) # 3. Starte alles docker compose up --build # 4. Prüfe den Health-Check curl http://localhost:8080/health ``` Die API ist danach unter `http://localhost:8080` erreichbar. `/docs` zeigt die auto-generierte Swagger-Dokumentation (nur bei `NSCT_DEBUG=true`). ## Projektstruktur ``` nsct/ ├── src/nsct/ │ ├── api/ # FastAPI-Routen │ ├── models/ # Pydantic-Schemata │ ├── providers/ # Abstrakte Provider-Interfaces │ ├── security/ # SSRF-Schutz, URL-Validierung │ └── storage/ # SQLAlchemy Models + Engine ├── tests/ # pytest-Tests ├── docker-compose.yml ├── Dockerfile ├── pyproject.toml ├── README.md ├── ARCHITECTURE.md ├── SECURITY.md ├── METHODOLOGY.md ├── API.md ├── DEPLOYMENT.md └── .env.example ``` ## Status **Stage 0** — Repository und Architekturgrundlage. Stage 0 enthält: - Vollständige Projektstruktur mit allen Konfigurationsdateien - Pydantic v2 Datenmodelle - SQLAlchemy 2.0 Persistenzmodelle - Sicherheitshards (SSRF-Schutz, IP-Blocklist) - Provider-Interfaces (abstrakte Basisklassen) - Health-, Ready- und Provider-Endpunkte - Strukturiertes Logging - Docker-Konfiguration für PostgreSQL, SearXNG und NSCT Die eigentliche Evidence-Pipeline (Search, Fetch, Extract, Claim, Compare, Report) wird in späteren Stages implementiert. ## Lizenz MIT