Phase 0 - Foundation: - Restructure into npm workspace monorepo (packages/core, api, scraper) - PostgreSQL 17 + TimescaleDB schema (15 tables incl. hypertables) - Docker Compose for local dev (PostgreSQL on 5433 + Qdrant) - Express 5 API on port 3200 with 6 routes - Seed script to migrate 159 transceivers + 42 standards from npm package - Erik server setup script + PM2 ecosystem config Phase 1 - Scraper Engine: - Crawlee + Playwright framework with pg-boss scheduler - FS.com scraper (PlaywrightCrawler, anti-bot workaround) - Optcore.net scraper (WP REST API enumeration + PlaywrightCrawler) - Uses /wp-json/wp/v2/product to get 2000+ product URLs - Playwright renders individual product pages for price extraction - Cisco TMG Matrix scraper (compatibility data) - News RSS aggregator (optics.org, SPIE, Network World, Nature Photonics) - Keyword relevance scoring for transceiver/fiber topics - xml2js with malformed XML sanitization - SHA-256 content hashing for change detection (skip unchanged records) - pg-boss v10 with explicit queue creation before scheduling
52 KiB
Transceiver Intelligence Platform (TIP)
Das massivste Transceiver & Switch Database Projekt der Welt
Version: 1.0 — 2026-03-27 Author: Rene Fichtmueller / Context X Repository: github.com/renefichtmueller/transceiver-db Integration: EO Global Pulse (Flexoptix)
1. VISION
Eine lebendige Intelligence-Plattform die alles vereint:
- 159+ Transceiver (bestehende npm DB) als Seed-Daten
- Echtzeit-Preisüberwachung aller Wettbewerber weltweit
- Lagerbestände live von FS.com bis chinesischen OEMs
- Digitalisierte Handbücher aller 400+ Switch-Hersteller per MCP durchsuchbar
- Hype Cycle Engine basierend auf Norton-Bass Multigenerational Diffusion Model
- FAQ/Troubleshooting Knowledge Base aus gescannten Vendor-FAQs
- Automatische Blog-Generierung aus Marktdaten und Trends
- Freitext-Suche für Sales ("Kunde hat Cisco Nexus 93180, braucht 10km Transceiver")
- Template-Matching (FlexBox Coding + Switch-Konfiguration)
- News-Aggregation von OFC, ECOC, CIOE, Photonics West
- Fabrik-Monitoring aller Transceiver-Hersteller weltweit
Kein statisches Nachschlagewerk — eine sich selbst aktualisierende Competitive Intelligence Engine.
2. ARCHITEKTUR
2.1 System-Übersicht
┌─────────────────────────────────────────────────────────────────────────┐
│ CLOUDFLARE EDGE LAYER │
│ │
│ Workers R2 Storage KV Cache Queues │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ │
│ │ API GW │ │ PDFs │ │ Hot │ │ Scrape │ │
│ │ MCP Srv │ │ Manuals │ │ Product │ │ Jobs │ │
│ │ FAQ Chat│ │ Images │ │ Cache │ │ OCR Pipe │ │
│ │ Blog API│ │ Exports │ │ Prices │ │ Alerts │ │
│ └─────────┘ └──────────┘ └─────────┘ └──────────┘ │
│ │ │ │ │ │
└─────────┼──────────────┼──────────────────┼───────────────┼─────────────┘
│ Cloudflare Tunnel │ │
┌─────────▼──────────────▼──────────────────▼───────────────▼─────────────┐
│ ERIK SERVER (.82) — Core Engine │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ PostgreSQL 17 + TimescaleDB + pgvector │ │
│ │ │ │
│ │ CORE TABLES: │ │
│ │ vendors · transceivers · switches · compatibility · │ │
│ │ documents · knowledge_base · standards · form_factors · │ │
│ │ templates · factories · news_articles · blog_drafts │ │
│ │ │ │
│ │ TIME-SERIES (Hypertables): │ │
│ │ price_observations · stock_observations · market_metrics │ │
│ │ │ │
│ │ FULL-TEXT SEARCH: │ │
│ │ tsvector auf allen durchsuchbaren Feldern │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ Qdrant (Docker, Port 6333) — Vector Search Engine │ │
│ │ │ │
│ │ Collections: │ │
│ │ product_embeddings · datasheet_chunks · faq_embeddings · │ │
│ │ manual_chunks · troubleshooting_embeddings · news_embeddings │ │
│ │ │ │
│ │ Payload Filtering: vendor, form_factor, speed, category, reach │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ Scraper Orchestrator (Node.js + Crawlee + Playwright, PM2) │ │
│ │ │ │
│ │ Job Scheduler: pg-boss (PostgreSQL-backed) │ │
│ │ Echtzeit: Preise + Stock (5-15 Min Intervall) │ │
│ │ Täglich: News, Messen, Blog-Feeds │ │
│ │ Wöchentlich: Handbücher, Datasheets, FAQs │ │
│ │ Monatlich: Factory-Updates, Vendor-Websites │ │
│ │ Change Detection: SHA-256 Content Hashing │ │
│ │ Adaptive Scheduling: Häufige Änderungen → kürzere Intervalle │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ Hype Cycle Engine (TypeScript) │ │
│ │ │ │
│ │ Norton-Bass Multigenerational Diffusion Model │ │
│ │ + Media Sentiment Analysis │ │
│ │ + Phase Classification (5 Phasen) │ │
│ │ = Automatische Hype Cycle Berechnung pro Technologie │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ OCR Pipeline: Docling → Chunk → Embed → Store │ │
│ │ Embeddings: Ollama nomic-embed-text auf .213 (zero cost) │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────┐
│ MAC STUDIO (.213) — AI Layer │
│ Ollama: nomic-embed-text (Embeddings), qwen2.5:14b (Blog/FAQ) │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────┐
│ EO GLOBAL PULSE — Frontend │
│ Transceiver LLM Chat · Sales Advisor · Hype Cycle Dashboard │
│ Compatibility Checker · Price Comparison · Template Finder │
└─────────────────────────────────────────────────────────────────────────┘
2.2 Warum diese Architektur
| Anforderung | Komponente | Begründung |
|---|---|---|
| Relationale Daten | PostgreSQL 17 | Bewährt, Team kennt es, FK-Constraints, ACID |
| Zeitreihen (Preise/Stock) | TimescaleDB Extension | Hypertable-Kompression (20x), Continuous Aggregates für Trends |
| Vektor-Suche mit Filtern | Qdrant | Payload-Filtering: "Zeige Transceiver WHERE vendor=Cisco AND form_factor=QSFP28 ORDER BY similarity" — pgvector kann das nicht effizient |
| Dokument-Storage | Cloudflare R2 | S3-kompatibel, keine Egress-Kosten, global verfügbar |
| Hot-Cache | Cloudflare KV | Sub-ms Reads für häufig abgefragte Produkte |
| API Layer | Cloudflare Workers | Global Edge, MCP-Server-Host, Multi-Tenant Routing |
| Scraping | Crawlee + Playwright auf Erik | Crawlee (18k+ Stars) — Request-Queuing, Auto-Retry, Anti-Bot, Session-Management out of the box |
| OCR | Docling v2.81 (bereits installiert) | Beste OSS-Option für technische PDFs mit Tabellen |
| Embeddings | Ollama nomic-embed-text auf .213 | 768 Dimensionen, 8192 Token Context, zero API-Kosten |
| Blog-Generierung | Ollama qwen2.5:14b auf .213 | Lokale LLM-Generierung, keine API-Kosten |
2.3 Kosten (monatlich)
| Komponente | Hosting | Kosten |
|---|---|---|
| PostgreSQL + TimescaleDB + Qdrant | Erik (.82, existiert) | 0 EUR |
| Cloudflare Workers (API) | Workers Paid Plan | ~5 EUR |
| Cloudflare R2 (~100GB PDFs/Manuals) | R2 Storage | ~1.50 EUR |
| Cloudflare KV (Hot Cache) | KV Namespace | ~0.50 EUR |
| Residential Proxies (Scraping) | Bright Data / Geonode | 50-100 EUR |
| Ollama Embeddings + LLM | Mac Studio .213 (existiert) | 0 EUR (Strom) |
| Gesamt | ~55-105 EUR/Monat |
3. DATENBANK-SCHEMA
3.1 Core Tables (PostgreSQL)
-- ============================================================
-- VENDORS (Hersteller, Distributoren, Reseller, OEMs)
-- ============================================================
CREATE TABLE vendors (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL UNIQUE,
slug TEXT NOT NULL UNIQUE, -- URL-safe identifier
type TEXT NOT NULL, -- manufacturer|distributor|oem|reseller|compatible
headquarters TEXT,
country TEXT,
website TEXT,
shop_url TEXT, -- Webshop URL für Scraping
api_available BOOLEAN DEFAULT FALSE,
api_endpoint TEXT,
logo_r2_key TEXT,
founded_year INTEGER,
revenue_usd BIGINT, -- Letzte bekannte Jahresumsatz
employee_count INTEGER,
market_position TEXT, -- "Top 3 Global", "Regional Leader", etc.
specialties TEXT[], -- ["400G", "Coherent", "CWDM"]
scrape_config JSONB, -- Scraper-spezifische Config (Selektoren, etc.)
last_scraped TIMESTAMPTZ,
is_competitor BOOLEAN DEFAULT FALSE, -- Wettbewerber von Flexoptix
is_factory BOOLEAN DEFAULT FALSE, -- Eigene Fertigung
factory_locations TEXT[], -- ["Shenzhen", "Thailand", "Vietnam"]
certifications TEXT[], -- ["ISO 9001", "RoHS", "TAA"]
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- TRANSCEIVERS (Haupttabelle — erweitert bestehende npm DB)
-- ============================================================
CREATE TABLE transceivers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
vendor_id UUID REFERENCES vendors(id),
part_number TEXT NOT NULL,
standard TEXT, -- IEEE/MSA Referenz
form_factor TEXT NOT NULL, -- SFP, SFP+, QSFP28, QSFP-DD, OSFP...
speed_gbps NUMERIC NOT NULL,
speed_label TEXT, -- "100G", "400G", "800G"
lanes INTEGER,
lane_rate_gbps NUMERIC,
modulation TEXT, -- NRZ, PAM4, Coherent
reach_meters INTEGER NOT NULL,
reach_label TEXT, -- "SR", "LR", "ER", "ZR"
fiber_type TEXT, -- SMF, MMF, Copper
wavelengths TEXT, -- "850nm", "1310nm", "CWDM4"
connector TEXT, -- LC, SC, MPO-12, MPO-16, CS, SN
power_consumption_w NUMERIC,
temp_range TEXT, -- COM (-0/70°C), IND (-40/85°C)
category TEXT, -- DataCenter, Metro, LongHaul, DCI, CWDM, DWDM...
dom_support BOOLEAN DEFAULT TRUE,
digital_diagnostics TEXT, -- DDM, CMIS, SFF-8472, SFF-8636
-- CWDM/DWDM spezifisch
wdm_type TEXT, -- CWDM, DWDM, null für non-WDM
channel_count INTEGER, -- Anzahl Wellenlängen
channel_spacing_ghz NUMERIC, -- 100GHz, 50GHz für DWDM
tunable BOOLEAN DEFAULT FALSE,
itu_grid TEXT, -- ITU-T G.694.1/G.694.2
-- Coherent spezifisch
coherent BOOLEAN DEFAULT FALSE,
baud_rate_gbaud NUMERIC,
fec_type TEXT, -- oFEC, cFEC, KP4, RS-FEC
dsp_vendor TEXT, -- Broadcom, Marvell, Inphi
-- Lifecycle & Markt
year_introduced INTEGER,
year_mainstream INTEGER, -- Wann Massenmarkt erreicht
year_peak INTEGER, -- Peak-Shipments
year_decline INTEGER, -- Beginn Rückgang
market_status TEXT, -- Mainstream, Growth, Emerging, Legacy, EOL
hype_cycle_phase TEXT, -- InnovationTrigger, Peak, Trough, Slope, Plateau
generation TEXT, -- "Gen1", "Gen2", "Next-Gen"
-- Pricing
price_tier TEXT, -- Budget, Standard, Premium
msrp_usd NUMERIC, -- Listenpreis
street_price_usd NUMERIC, -- Aktueller Marktpreis (von Scraper)
-- Technische Details
operating_case_temp TEXT,
max_link_length TEXT,
optical_budget_db NUMERIC,
tx_power_min_dbm NUMERIC,
tx_power_max_dbm NUMERIC,
rx_sensitivity_dbm NUMERIC,
extinction_ratio_db NUMERIC,
-- Meta
datasheet_r2_key TEXT, -- PDF in R2
image_r2_key TEXT,
tags TEXT[],
notes TEXT,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
UNIQUE(vendor_id, part_number)
);
-- ============================================================
-- SWITCHES (Alle Netzwerk-Switches aller Hersteller)
-- ============================================================
CREATE TABLE switches (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
vendor_id UUID REFERENCES vendors(id),
model TEXT NOT NULL,
series TEXT, -- "Nexus 9000", "QFX5000", "7280R3"
category TEXT, -- DataCenter, Campus, Edge, Core, SP
layer TEXT, -- L2, L3, L2/L3
managed BOOLEAN DEFAULT TRUE,
-- Port-Konfiguration
ports_config JSONB, -- {"48x10G SFP+": 48, "6x100G QSFP28": 6}
total_ports INTEGER,
uplink_speed_gbps NUMERIC,
max_speed_gbps NUMERIC, -- Höchste Port-Geschwindigkeit
-- Leistungsdaten
switching_capacity_tbps NUMERIC,
forwarding_rate_mpps NUMERIC,
latency_ns NUMERIC,
buffer_mb NUMERIC,
-- ASIC Info
asic_vendor TEXT, -- Broadcom, Marvell, Cisco, NVIDIA
asic_model TEXT, -- Tomahawk 4, Jericho2, Silicon One
asic_generation TEXT,
-- Features
poe_support TEXT, -- None, PoE, PoE+, PoE++, UPoE
stacking_support BOOLEAN DEFAULT FALSE,
vxlan_support BOOLEAN DEFAULT FALSE,
evpn_support BOOLEAN DEFAULT FALSE,
bgp_support BOOLEAN DEFAULT FALSE,
mpls_support BOOLEAN DEFAULT FALSE,
openconfig_support BOOLEAN DEFAULT FALSE,
sonic_compatible BOOLEAN DEFAULT FALSE,
macsec_support BOOLEAN DEFAULT FALSE,
-- Lifecycle
release_date DATE,
eos_date DATE, -- End of Sale
eol_date DATE, -- End of Life
last_support_date DATE,
lifecycle_status TEXT, -- Active, EoS Announced, EoL, Legacy
successor_model TEXT,
-- Physisch
rack_units NUMERIC,
max_power_w NUMERIC,
typical_power_w NUMERIC,
weight_kg NUMERIC,
airflow TEXT, -- F2B, B2F
-- Pricing
msrp_usd NUMERIC,
street_price_usd NUMERIC,
-- Dokumentation
manual_r2_key TEXT, -- Digitalisiertes Handbuch in R2
datasheet_r2_key TEXT,
config_guide_r2_key TEXT,
compatibility_list_url TEXT, -- Vendor Compatibility Matrix URL
-- Meta
tags TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
UNIQUE(vendor_id, model)
);
-- ============================================================
-- COMPATIBILITY (Switch ↔ Transceiver Kompatibilität)
-- ============================================================
CREATE TABLE compatibility (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
switch_id UUID REFERENCES switches(id),
transceiver_id UUID REFERENCES transceivers(id),
verified_by TEXT, -- "Flexoptix Lab", "Vendor Matrix", "Community"
verification_date DATE,
verification_method TEXT, -- "tested", "vendor_matrix", "datasheet", "community"
status TEXT DEFAULT 'compatible', -- compatible, incompatible, partial, unknown
notes TEXT,
firmware_min TEXT, -- Minimum Firmware für Kompatibilität
known_issues TEXT,
source_url TEXT, -- Link zur Quelle
created_at TIMESTAMPTZ DEFAULT NOW(),
UNIQUE(switch_id, transceiver_id)
);
-- ============================================================
-- TEMPLATES (FlexBox Coding + Switch-Konfiguration)
-- ============================================================
CREATE TABLE templates (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
type TEXT NOT NULL, -- flexbox_coding | switch_config
name TEXT NOT NULL,
description TEXT,
switch_vendor TEXT, -- Für welchen Switch-Hersteller
switch_series TEXT, -- Für welche Switch-Serie
transceiver_type TEXT, -- Für welchen Transceiver-Typ
speed_gbps NUMERIC,
technology TEXT, -- CWDM, DWDM, SR, LR, ZR
template_content TEXT NOT NULL, -- Der eigentliche Template-Code/Config
variables JSONB, -- Platzhalter-Variablen
tags TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- DOCUMENTS (PDFs, Handbücher, Datasheets in R2)
-- ============================================================
CREATE TABLE documents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
entity_type TEXT NOT NULL, -- transceiver | switch | vendor | standard
entity_id UUID,
doc_type TEXT NOT NULL, -- manual | datasheet | config_guide | compatibility_list | faq | whitepaper
title TEXT,
filename TEXT,
r2_key TEXT NOT NULL, -- Pfad in R2
source_url TEXT, -- Original-Download-URL
file_size_bytes BIGINT,
page_count INTEGER,
ocr_status TEXT DEFAULT 'pending', -- pending | processing | completed | failed
ocr_text TEXT, -- Extrahierter Volltext
language TEXT DEFAULT 'en',
content_hash TEXT, -- SHA-256 für Change Detection
last_checked TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- KNOWLEDGE BASE (FAQs, Troubleshooting, Best Practices)
-- ============================================================
CREATE TABLE knowledge_base (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
category TEXT NOT NULL, -- troubleshooting | faq | best_practice | known_issue | compatibility_tip
subcategory TEXT, -- optical_power | link_flap | temperature | firmware | interop
question TEXT NOT NULL,
answer TEXT NOT NULL,
source_vendor TEXT, -- Von welchem Vendor-FAQ gescannt
source_url TEXT,
applies_to_form_factors TEXT[], -- ["QSFP28", "QSFP-DD"]
applies_to_speeds TEXT[], -- ["100G", "400G"]
applies_to_vendors TEXT[], -- ["Cisco", "Juniper"]
severity TEXT, -- critical | high | medium | low | info
resolution_steps JSONB, -- Strukturierte Lösungsschritte
last_verified TIMESTAMPTZ,
helpful_count INTEGER DEFAULT 0, -- Upvotes von Nutzern
tags TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- STANDARDS (IEEE, OIF, MSA — erweitert bestehende npm DB)
-- ============================================================
CREATE TABLE standards (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL UNIQUE, -- "IEEE 802.3bs", "OIF 400ZR"
body TEXT, -- IEEE, OIF, MSA
type TEXT, -- ieee_amendment | oif_ia | msa | de_facto
speed_gbps NUMERIC,
lanes INTEGER,
lane_rate_gbps NUMERIC,
modulation TEXT,
fiber_type TEXT,
wavelength TEXT,
max_reach_meters INTEGER,
fec_required BOOLEAN,
form_factors TEXT[],
year_draft INTEGER,
year_ratified INTEGER,
year_revised INTEGER,
status TEXT, -- draft | ratified | revised | superseded
superseded_by TEXT,
member_count INTEGER, -- Für MSAs
notes TEXT,
url TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- FACTORIES (Fertigungsstätten weltweit)
-- ============================================================
CREATE TABLE factories (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
vendor_id UUID REFERENCES vendors(id),
name TEXT NOT NULL,
country TEXT NOT NULL,
city TEXT,
factory_type TEXT, -- manufacturing | assembly | r_and_d | headquarters
products TEXT[], -- ["SFP+", "QSFP28", "Coherent"]
capacity_units_month INTEGER, -- Geschätzte Monatskapazität
employee_count INTEGER,
certifications TEXT[],
expansion_planned BOOLEAN DEFAULT FALSE,
expansion_details TEXT,
source_url TEXT,
last_verified TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- NEWS (Aggregierte Nachrichten von Messen, Trade Press)
-- ============================================================
CREATE TABLE news_articles (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
source TEXT NOT NULL, -- "Lightwave", "Light Reading", "OFC 2026"
source_url TEXT NOT NULL UNIQUE,
published_at TIMESTAMPTZ,
author TEXT,
summary TEXT,
full_text TEXT,
category TEXT, -- product_launch | market_report | standard | m_and_a | factory | event
event TEXT, -- OFC, ECOC, CIOE, Photonics West
mentioned_vendors TEXT[],
mentioned_products TEXT[],
mentioned_standards TEXT[],
sentiment_score NUMERIC, -- -1.0 bis +1.0
relevance_score NUMERIC, -- 0-100
content_hash TEXT,
tags TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- ============================================================
-- BLOG DRAFTS (Auto-generierte Entwürfe)
-- ============================================================
CREATE TABLE blog_drafts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
topic TEXT, -- hype_cycle | price_trend | new_product | comparison | tutorial
target_audience TEXT, -- sales | technical | customer | seo
outline JSONB,
draft_content TEXT,
data_sources JSONB, -- Welche DB-Queries haben den Draft gefüttert
status TEXT DEFAULT 'draft', -- draft | review | approved | published
generated_by TEXT, -- "hype_cycle_engine" | "price_alert" | "news_digest"
word_count INTEGER,
seo_keywords TEXT[],
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
3.2 TimescaleDB Hypertables (Echtzeit-Zeitreihen)
-- ============================================================
-- PRICE OBSERVATIONS (Echtzeit-Preise aller Wettbewerber)
-- ============================================================
CREATE TABLE price_observations (
time TIMESTAMPTZ NOT NULL,
transceiver_id UUID NOT NULL,
source_vendor_id UUID NOT NULL, -- Von welchem Shop/Vendor
price NUMERIC NOT NULL,
currency TEXT DEFAULT 'USD',
stock_level TEXT, -- "in_stock", "low_stock", "out_of_stock", "on_request"
quantity_available INTEGER,
lead_time_days INTEGER,
min_order_qty INTEGER,
url TEXT, -- Direkt-Link zum Produkt
content_hash TEXT -- Change Detection
);
SELECT create_hypertable('price_observations', 'time',
chunk_time_interval => INTERVAL '1 day');
-- Continuous Aggregate für tägliche Durchschnitte
CREATE MATERIALIZED VIEW price_daily
WITH (timescaledb.continuous) AS
SELECT
time_bucket('1 day', time) AS bucket,
transceiver_id,
source_vendor_id,
AVG(price) AS avg_price,
MIN(price) AS min_price,
MAX(price) AS max_price,
last(stock_level, time) AS latest_stock,
COUNT(*) AS observation_count
FROM price_observations
GROUP BY bucket, transceiver_id, source_vendor_id;
-- Retention Policy: Rohdaten 90 Tage, Aggregates 5 Jahre
SELECT add_retention_policy('price_observations', INTERVAL '90 days');
-- ============================================================
-- MARKET METRICS (Hype Cycle Input-Daten)
-- ============================================================
CREATE TABLE market_metrics (
time TIMESTAMPTZ NOT NULL,
technology TEXT NOT NULL, -- "800G OSFP", "400G QSFP-DD", "CPO"
metric_type TEXT NOT NULL, -- vendor_count | shipment_share | asp_decline_rate | media_hype_index | patent_filings
value NUMERIC NOT NULL,
source TEXT, -- "LightCounting", "Crehan Research", "Google Trends"
notes TEXT
);
SELECT create_hypertable('market_metrics', 'time',
chunk_time_interval => INTERVAL '30 days');
3.3 Qdrant Vector Collections
Collection: product_embeddings
- vector: 768 dim (nomic-embed-text)
- payload: {product_id, vendor, form_factor, speed_gbps, category, fiber_type, reach_label}
- Use: Freitext-Suche ("10km Transceiver für Cisco Nexus")
Collection: datasheet_chunks
- vector: 768 dim
- payload: {document_id, entity_type, entity_id, page, section, chunk_text_preview}
- Use: "Was ist der Tx-Power Range des QSFP-DD 400G LR4?"
Collection: manual_chunks
- vector: 768 dim
- payload: {document_id, switch_vendor, switch_model, section, topic}
- Use: "Wie konfiguriere ich DWDM auf Juniper MX?"
Collection: faq_embeddings
- vector: 768 dim
- payload: {kb_id, category, subcategory, question_preview, severity}
- Use: "Transceiver zeigt niedrige Rx Power, was tun?"
Collection: news_embeddings
- vector: 768 dim
- payload: {article_id, source, published_at, category, event}
- Use: "Was wurde auf der OFC 2026 über 1.6T vorgestellt?"
4. DATENQUELLEN & CRAWLER-STRATEGIE
4.1 Echtzeit-Preise & Stock (5-15 Min Intervalle)
| Quelle | Typ | Methode | Preise | Stock | Besonderheiten |
|---|---|---|---|---|---|
| FS.com | Reseller | Web Scraping (Crawlee/Playwright) | Öffentlich | Öffentlich | Größter Wettbewerber, transparenteste Preise |
| Optcore | Reseller | Web Scraping | Öffentlich (ab $5.50) | Öffentlich | Sehr transparente Preisgestaltung |
| QSFPTEK | Reseller | Web Scraping | Öffentlich | Öffentlich | Chinesischer Reseller |
| 10Gtek | Reseller/Mfr | Web Scraping | Öffentlich | Öffentlich | Eigene Fertigung in China |
| Edgeium | Reseller | Web Scraping (Optics Finder) | Öffentlich | Öffentlich | Optics Finder Tool durchsuchbar |
| Hummingbird Networks | Reseller | Web Scraping | Öffentlich | Öffentlich | US-Reseller |
| EDGE Optical | Reseller | Web Scraping | Öffentlich | Öffentlich | |
| ProLabs | Compatible | Web Scraping | Quote-based | Begrenzt | Legrand-Tochter |
| Champion ONE | Compatible | Web Scraping | Quote-based | Begrenzt | Legrand-Tochter |
| Smartoptics | Reseller | Web Scraping | Quote-based | Auf Anfrage | Fokus DWDM |
| NADDOD | Reseller | Web Scraping | Öffentlich | Öffentlich | Chinesischer Reseller |
| Solid Optics | Compatible | Web Scraping | Öffentlich | Begrenzt | |
| AddOn Networks | Compatible | Web Scraping | Öffentlich | Begrenzt | |
| Worldwide Supply | Refurbished | Web Scraping | Quote-based | Auf Anfrage | Refurbished OEM-Optics |
| Nexar/Octopart API | Aggregator | GraphQL API | Ja (317 Distributoren) | Ja | Einzige echte API, aber optische Module evtl. begrenzt |
4.2 OEM-Kompatibilitätstools (Wöchentlich)
| Quelle | URL / Tool | Methode |
|---|---|---|
| Cisco TMG Matrix | tmgmatrix.cisco.com | Web Scraping — durchsuchbar nach Device/Transceiver/Speed/Reach |
| Juniper HCT | apps.juniper.net/hct | Web Scraping — durchsuchbar nach Produkt/Kategorie |
| Arista | arista.com (PDF Guides) | PDF Download → Docling OCR |
| HPE/Aruba | support.hpe.com | Web Scraping — QuickSpecs Portal |
| Dell | dell.com/support | Web Scraping |
| Nokia | Behind Customer Portal | Begrenzt — öffentliche Specs scrapen |
| Extreme Networks | extremenetworks.com | Web Scraping |
| Huawei | support.huawei.com | Web Scraping — Compatibility Matrix |
4.3 Transceiver-Hersteller weltweit (Monatlich)
Top-Tier (Revenue > $500M):
| Hersteller | Land | Methode | Fokus |
|---|---|---|---|
| InnoLight | China | Website + Press Releases | #1 weltweit, $3.3B Revenue, 114% Wachstum |
| Coherent (II-VI/Finisar) | USA | Investor Relations + Website | Kohärente Optik, VCSEL |
| Lumentum | USA/Thailand | Investor Relations + Website | Laser, 3D-Sensing, AI DC |
| Eoptolink | China | Website | #3 weltweit, $1.2B, 175% Wachstum |
| Broadcom (ex-Avago) | USA | Website | Embedded Optics, ASIC |
| Cisco (Acacia) | USA | Website + TMG Matrix | Kohärente Optik nach Acacia-Übernahme |
| Zhongji Innolight | China | Website | Cloud-fokussiert |
Mid-Tier ($50M - $500M):
| Hersteller | Land | Methode |
|---|---|---|
| Source Photonics | China | Website |
| Accelink | China | Website |
| HGGenuine | China | Website — einziger vertikal integrierter chinesischer Hersteller |
| Gigalight | China | Website |
| ATOP Technology | China/Malaysia | Website |
| Wolontek | China | Website |
| ETU-Link | China | Website |
| Skylane Optics | Belgien | Website |
| Smartoptics | Norwegen | Website |
| EFFECT Photonics | Niederlande | Website — Silicon Photonics |
| Sicoya/Marvell | Deutschland/USA | Website — Silicon Photonics |
SE-Asien Fabriken (Vierteljährlich):
| Land | Fabriken | Output |
|---|---|---|
| Thailand | Lumentum (6000+ MA), Fabrinet, InnoLight/Terahop, Eoptolink | >800k units/Monat |
| Vietnam | Coherent (Primary non-China Hub) | >400k units/Monat |
| Malaysia | Coherent (R&D), ATOP (Manufacturing) | >300k units/Monat |
4.4 News & Messen (Täglich)
| Quelle | Typ | Methode | Update |
|---|---|---|---|
| Lightwave | Trade Press | RSS + Scraping | Täglich |
| Light Reading | Trade Press | RSS + Scraping | Täglich |
| Fibre Systems | Trade Press | RSS + Scraping | Täglich |
| Laser Focus World | Trade Press | RSS + Scraping | Täglich |
| optics.org | Trade Press | RSS + Scraping | Täglich |
| Data Center Dynamics | Trade Press | RSS + Scraping | Täglich |
| SDxCentral | Trade Press | RSS + Scraping | Täglich |
| OFC | Leitmesse | Post-Event Scraping | Jährlich (März) |
| ECOC | Leitmesse | Post-Event Scraping | Jährlich (September) |
| CIOE | Leitmesse (China) | Post-Event Scraping | Jährlich (September) |
| Photonics West | Leitmesse | Post-Event Scraping | Jährlich (Januar) |
| Google Trends | Hype Tracking | API | Wöchentlich |
4.5 FAQ/Troubleshooting-Quellen (Wöchentlich)
| Quelle | URL | Content |
|---|---|---|
| FS.com Knowledge Center | community.fs.com | Troubleshooting Guides, Best Practices |
| FS.com Transceiver Manual | resource.fs.com (PDF) | 1G/10G/25G/40G/100G Troubleshooting, DDM |
| FluxLight Blog | blog.fluxlight.com | Transceiver Troubleshooting |
| Cisco Support Forums | community.cisco.com | Transceiver-Probleme, Kompatibilität |
| Juniper Knowledge Base | kb.juniper.net | Transceiver Issues |
| Arista Docs | arista.com/docs | Optics Support |
| Wolontek Guides | wolontek.com | OTDR Testing, Power Meter Guides |
| Reddit r/networking | reddit.com/r/networking | Community-Wissen, Erfahrungsberichte |
| NetworkEngineering SE | networkengineering.stackexchange.com | Q&A |
4.6 Change Detection Strategie
Für JEDEN Scrape-Zyklus:
1. HTTP Request mit If-None-Match / If-Modified-Since Headers
2. Wenn 304 Not Modified → Skip (kein Bandwidth-Kosten)
3. Wenn 200 → Extrahiere Preis/Stock → SHA-256 Hash berechnen
4. Hash vergleichen mit gespeichertem Hash
5. Wenn Hash geändert → Write to TimescaleDB + Trigger Alert
6. Wenn Hash unverändert → Nur last_checked Timestamp updaten
Adaptive Scheduling:
- Produkte mit häufigen Änderungen → 5 Min Intervall
- Produkte stabil seit 7+ Tagen → 30 Min Intervall
- Produkte stabil seit 30+ Tagen → 2 Std Intervall
→ Reduziert DB-Writes um 80-90%
5. HYPE CYCLE ENGINE
5.1 Mathematisches Modell: Norton-Bass Multigenerational Diffusion
Das Norton-Bass Model (1987, Management Science) ist die quantitative Basis, weil es sukzessive Generationen (1G → 10G → 40G → 100G → 400G → 800G → 1.6T) nativ modelliert.
Kern-Gleichung:
S(t) = L / (1 + e^(-k(t - t0)))
Wobei:
- L = Marktpotenzial (Total Addressable Port Shipments)
- k = Wachstumsrate
- t0 = Inflection Point
- S(t) = Kumulative Adoption zum Zeitpunkt t
Bass Diffusion Parameter:
f(t) / [1 - F(t)] = p + q * F(t)
p = Innovationskoeffizient (~0.03 für Netzwerk-Hardware)
q = Imitationskoeffizient (~0.3-0.5)
m = Gesamtmarktpotenzial
5.2 Phase Classification Engine
Composite Score Formel:
Phase_Score = 0.30 × Normalize(PortShipment_share)
+ 0.20 × Normalize(ASP_decline_rate)
+ 0.15 × Normalize(Standards_maturity)
+ 0.15 × Normalize(InteropValidation_level)
+ 0.10 × Normalize(VendorCount_trajectory)
+ 0.10 × Normalize(MediaSentiment_score)
Phase-Determination (Pseudocode):
function determinePhase(technology: string): HypeCyclePhase {
const shipmentShare = getPortShipmentShare(technology);
const aspDecline = getASPDeclineRate(technology);
const vendorTrend = getVendorCountTrend(technology);
const standardsStatus = getStandardsStatus(technology);
const mediaHype = getMediaHypeIndex(technology);
const interopLevel = getInteropLevel(technology);
if (shipmentShare < 0.01 && standardsStatus === 'draft')
return 'INNOVATION_TRIGGER';
if (shipmentShare < 0.05 && mediaHype > 70 && vendorTrend === 'increasing')
return 'PEAK_OF_INFLATED_EXPECTATIONS';
if (aspDecline > 30 && vendorTrend === 'decreasing' && mediaHype < 40)
return 'TROUGH_OF_DISILLUSIONMENT';
if (shipmentShare >= 0.05 && shipmentShare <= 0.30
&& aspDecline >= 10 && aspDecline <= 25
&& vendorTrend === 'stable')
return 'SLOPE_OF_ENLIGHTENMENT';
if (shipmentShare > 0.30 && aspDecline < 10)
return 'PLATEAU_OF_PRODUCTIVITY';
return calculateNearestPhase(compositeScore);
}
5.3 Aktuelle Hype Cycle Positionen (März 2026)
| Technologie | Phase | Evidenz |
|---|---|---|
| 10G SFP+ | Plateau (Declining) | Commodity, sinkende Shipments, wird verdrängt |
| 40G QSFP+ | Late Plateau / Legacy | Kaum noch neue Deployments |
| 100G QSFP28 | Plateau of Productivity | >30% Marktanteil, Commodity-Preise |
| 400G QSFP-DD | Slope → Plateau Übergang | Breite Adoption, ~33% Revenue mit 800G |
| 800G OSFP/QSFP-DD800 | Peak → Slope Übergang | Explosives Wachstum (3x in Q2'25), AI-getrieben |
| 1.6T | Innovation Trigger | Standards in Entwicklung, erste OFC-Demos |
| CPO (Co-Packaged Optics) | Peak of Inflated Expectations | Viel Presse, wenige Deployments |
| LPO (Linear Pluggable Optics) | Slope of Enlightenment | Erste Produktions-Deployments 2025-26 |
| 400ZR Coherent | Plateau of Productivity | Erfolgreichste kohärente Technologie |
| 800ZR Coherent | Innovation Trigger → Peak | OIF IA veröffentlicht Okt 2024 |
6. MCP SERVER — TOOL DEFINITIONS
Der MCP Server macht die gesamte Plattform für LLMs (EO Global Pulse, FAQ Chat) zugänglich:
// Tool Definitions für den MCP Server
tools: [
{
name: "search_transceivers",
description: "Suche Transceiver nach Freitext, Specs oder Kompatibilität",
parameters: {
query: "string — Freitext ('10km für Cisco Nexus')",
form_factor: "optional — SFP+, QSFP28, etc.",
speed_gbps: "optional — 10, 100, 400, 800",
reach_label: "optional — SR, LR, ER, ZR",
fiber_type: "optional — SMF, MMF",
wdm_type: "optional — CWDM, DWDM",
vendor: "optional — Vendor-Filter",
max_results: "optional — Default 10"
}
},
{
name: "check_compatibility",
description: "Prüfe Kompatibilität: Switch + Transceiver",
parameters: {
switch_model: "string — z.B. 'Cisco Nexus 93180YC-FX3'",
transceiver_query: "optional — Transceiver Part Number oder Beschreibung",
speed_gbps: "optional",
reach: "optional"
}
},
{
name: "get_pricing",
description: "Aktuelle Preise + Verfügbarkeit über alle Quellen",
parameters: {
part_number: "string",
vendor: "optional — nur bestimmten Vendor zeigen",
include_history: "optional — Preis-History über Zeit"
}
},
{
name: "compare_prices",
description: "Preisvergleich: Flexoptix vs. Wettbewerber",
parameters: {
transceiver_query: "string",
competitors: "optional — Liste spezifischer Wettbewerber"
}
},
{
name: "get_hype_cycle",
description: "Hype Cycle Status für Technologie/Produkt",
parameters: {
technology: "string — z.B. '800G OSFP', 'CPO', '400ZR'",
include_forecast: "optional — Norton-Bass Prognose"
}
},
{
name: "search_knowledge_base",
description: "Troubleshooting, FAQs, Best Practices durchsuchen",
parameters: {
query: "string — z.B. 'niedrige Rx Power bei QSFP28'",
category: "optional — troubleshooting, faq, best_practice",
severity: "optional — critical, high, medium, low"
}
},
{
name: "search_manuals",
description: "Switch-Handbücher und Konfig-Anleitungen durchsuchen",
parameters: {
query: "string — z.B. 'DWDM Konfiguration Juniper MX'",
vendor: "optional",
doc_type: "optional — manual, config_guide, compatibility_list"
}
},
{
name: "get_templates",
description: "FlexBox Coding Templates oder Switch-Konfig-Templates finden",
parameters: {
type: "flexbox_coding | switch_config",
switch_vendor: "optional",
transceiver_type: "optional",
technology: "optional — CWDM, DWDM, SR, LR"
}
},
{
name: "suggest_alternatives",
description: "Alternative Transceiver vorschlagen (ähnliche Specs, anderer Vendor/Preis)",
parameters: {
part_number: "string",
optimize_for: "optional — price, availability, performance"
}
},
{
name: "get_competitor_stock",
description: "Live-Lagerbestand eines Wettbewerbers",
parameters: {
competitor: "string — z.B. 'FS.com'",
product_query: "optional — Filter",
out_of_stock_only: "optional — nur fehlende Produkte (Sales-Chance!)"
}
},
{
name: "get_market_news",
description: "Aktuelle News und Messe-Berichte",
parameters: {
query: "optional",
event: "optional — OFC, ECOC, CIOE",
days_back: "optional — Default 30"
}
},
{
name: "generate_blog_draft",
description: "Blog-Entwurf aus Marktdaten generieren",
parameters: {
topic: "hype_cycle | price_trend | new_product | comparison | tutorial",
technology: "optional — z.B. '800G'",
target_audience: "sales | technical | customer | seo"
}
}
]
7. ANWENDUNGSFÄLLE
7.1 Sales Advisor (Freitext-Suche)
User: "Kunde hat Cisco Nexus 93180YC-FX3 und braucht einen Transceiver für 10km Singlemode"
System:
- Vector-Suche in
product_embeddings→ Top-5 passende Transceiver compatibilityCheck → Verifiziert für diesen Switchprice_observations→ Aktueller Preis bei Flexoptix + Wettbewerberknowledge_base→ Bekannte Issues mit diesem Switch/Transceiver
Antwort: "Für den Nexus 93180YC-FX3 empfehle ich den 10G-SFP-LR (10km, SMF, LC). Verifiziert kompatibel. Unser Preis: 39 EUR. FS.com: $12.50. Hinweis: Firmware 10.2(3) oder höher erforderlich."
7.2 Hype Cycle Dashboard
- Interaktive Visualisierung aller Technologien auf der Gartner-Kurve
- Norton-Bass Prognose: Wann erreicht 800G den Plateau? → ~2029
- Klickbar: Details pro Technologie (Vendor Count, ASP Trend, Shipment Share)
- Export als Blog-Post oder Präsentation
7.3 Competitor Alert System
Trigger: FS.com Out-of-Stock bei 100G QSFP28 LR4 Alert: "FS.com hat 100G-QSFP28-LR4 nicht auf Lager (seit 2 Stunden). Lead Time: 14 Tage. → Sales-Chance: 47 Kunden haben dieses Produkt in den letzten 90 Tagen bei FS.com gekauft."
7.4 Blog-Generierung
Input: generate_blog_draft(topic="hype_cycle", technology="800G")
System:
- Holt aktuelle Hype Cycle Daten aus
market_metrics - Holt Preis-Trends aus
price_observations - Holt News aus
news_articles - Generiert Draft via Ollama qwen2.5:14b auf .213
- Speichert in
blog_draftszur Review
7.5 Template Finder
User: "Welchen FlexBox Code brauche ich für einen CWDM 10G auf Juniper EX4300?"
System:
templatesWHERE type='flexbox_coding' AND switch_vendor='Juniper' AND technology='CWDM'compatibilityCheck → Verifiziertknowledge_base→ Best Practices für CWDM auf Juniper
8. IMPLEMENTIERUNGS-ROADMAP
Phase 0: Foundation (Woche 1-2)
- PostgreSQL 17 + TimescaleDB auf Erik (.82) installieren
- Qdrant Docker Container auf Erik starten
- Schema deployen (alle Core Tables + Hypertables)
- Bestehende npm DB (159 Transceiver) als Seed-Daten importieren
- Basis-API (Node.js/Express/PM2) mit CRUD-Endpoints
- Cloudflare Tunnel einrichten (transceiver-db.context-x.org)
Phase 1: Data Ingestion (Woche 3-5)
- Crawlee Scraper Framework auf Erik einrichten
- Erster Scraper: FS.com (Preise + Stock + Produkte)
- Scraper 2-5: Optcore, QSFPTEK, 10Gtek, Edgeium
- Cisco TMG Matrix Scraper
- Juniper HCT Scraper
- Change Detection mit Content Hashing
- pg-boss Job Scheduler konfigurieren
- Adaptive Scheduling implementieren
Phase 2: Intelligence Layer (Woche 6-8)
- OCR Pipeline: Docling → Chunk → Embed → Qdrant
- Erste Transceiver-Datasheets verarbeiten (Top 50)
- Erste Switch-Handbücher verarbeiten (Cisco, Juniper, Arista)
- Vector Search Endpoints mit Payload Filtering
- Full-Text Search via PostgreSQL tsvector
- Knowledge Base: FAQ-Scraping starten (FS.com, Cisco, FluxLight)
- MCP Server (Basis-Tools)
Phase 3: Hype Cycle Engine (Woche 9-10)
- Norton-Bass Model implementieren
- Historische Daten laden (Port Shipments, ASP, Vendor Count)
- Phase Classification Engine
- Media Sentiment Tracking (Google Trends + News)
- Hype Cycle Visualisierung
- Erste Prognosen generieren
Phase 4: Scale Crawlers (Woche 11-14)
- Alle 60+ identifizierten Quellen anbinden
- Chinesische Hersteller-Websites (InnoLight, Eoptolink, HGGenuine...)
- SE-Asien Factory Monitoring
- News Aggregation (Lightwave, Light Reading, optics.org...)
- Messe-Coverage (OFC, ECOC Archive)
- Proxy-Rotation einrichten (Bright Data / Geonode)
- Alert System implementieren
Phase 5: Customer-Facing (Woche 15-18)
- Cloudflare Workers API Gateway
- FAQ Chatbot (RAG über Knowledge Base)
- EO Global Pulse Integration
- Sales Advisor Tool
- Template Finder
- Price Comparison Dashboard
- Blog Draft Generator
- Multi-Tenant Access Control
Phase 6: Domination (Woche 19+)
- Alle 400+ Switch-Hersteller (Flexoptix Vendor Page) als Daten
- Alle Datasheets aller Transceiver verarbeitet
- Alle Switch-Handbücher digitalisiert
- Vollständige Kompatibilitätsmatrix
- Automatische Blog-Veröffentlichung
- API für externe Partner
- Mobile App (EO Global Pulse)
9. KRITISCHE ERFOLGSFAKTOREN
9.1 Rechtliche Aspekte Scraping
robots.txtimmer respektieren- Rate-Limiting: Max 1-2 Requests/Sekunde pro Domain
- Legitimer User-Agent
- Kein Scraping hinter Authentication (ohne Account)
- Aggressiv cachen — keine unveränderten Seiten erneut abfragen
- Offizielle APIs bevorzugen wo verfügbar (Nexar/Octopart, Mouser, DigiKey)
9.2 Datenqualität
- Jeder Datenpunkt braucht
source_urlundlast_verified - Automatische Anomalie-Detection bei Preissprüngen (>50% Änderung → Review)
- Community-Verifizierung für Kompatibilität
- Regelmäßige Stichproben durch Flexoptix-Team
9.3 Markt-Chance
Es gibt KEINEN Octopart/FindChips-Äquivalent für optische Transceiver-Module. Kein Preisvergleichs-Aggregator. Keine öffentliche API die mehrere Optical-Transceiver-Vendor abdeckt.
TIP könnte dieses Vakuum füllen.
10. BESTEHENDE DATEN-INTEGRATION
Das aktuelle npm Package transceiver-db (159 Transceiver, 39 Standards, 16 Form Factors) wird als Seed-Daten importiert:
// Migration: npm DB → PostgreSQL
import { getAllTransceivers, getAllStandards } from 'transceiver-db';
const transceivers = getAllTransceivers();
const standards = getAllStandards();
// Insert into PostgreSQL with vendor_id mapping
for (const t of transceivers) {
await db.query(`
INSERT INTO transceivers (part_number, standard, form_factor, speed_gbps, ...)
VALUES ($1, $2, $3, $4, ...)
`, [t.id, t.standard, t.formFactor, t.speedGbps, ...]);
}
Das npm Package bleibt als Open-Source Lightweight-Version auf GitHub bestehen. TIP wird die Enterprise Intelligence Layer darüber.
ZUSAMMENFASSUNG
| Dimension | Scope |
|---|---|
| Transceiver | Alle Generationen (1G SFP → 1.6T), CWDM, DWDM, Coherent, AOC, DAC, Breakout |
| Switches | 400+ Hersteller, alle Serien, Specs, Lifecycle, ASIC Info |
| Kompatibilität | Switch ↔ Transceiver Matrix, verifiziert + Community |
| Preise | Echtzeit von 60+ Quellen weltweit |
| Stock | Live-Lagerbestände aller Wettbewerber |
| Handbücher | Auto-Crawl, OCR, MCP-durchsuchbar |
| Datasheets | Alle technischen Specs aller Transceiver |
| FAQs | Gescannt von allen Vendor-Portalen |
| Templates | FlexBox Coding + Switch-Konfiguration |
| Hype Cycle | Norton-Bass basiert, automatisch aktualisiert |
| News | OFC, ECOC, CIOE, Photonics West, Trade Press |
| Fabriken | Alle Fertigungsstätten weltweit |
| Blog | Auto-generiert aus Marktdaten |
| Alerts | Out-of-Stock, Preisänderungen, neue Produkte |
Es gibt nichts Vergleichbares auf dem Markt. Das wird das Referenzwerk der Optical Networking Industrie.