[{"data":1,"prerenderedAt":482},["ShallowReactive",2],{"projects-de-was-ist-mcp\u002F":3,"projects-job-de-was-ist-mcp\u002F":6,"all-projects-pages-de":137},{"id":4,"title":5,"audience":6,"body":7,"carouselItems":105,"client":6,"companyName":6,"date":6,"description":111,"end_date":6,"eventDate":6,"eventDuration":6,"eventName":6,"extension":112,"highlightWord":6,"icon":6,"images":6,"job":6,"kind":113,"label":6,"launch_date":114,"link":115,"logo":116,"mainTitle":6,"meta":117,"navigation":118,"order":97,"path":119,"podcastId":6,"related":120,"repo":6,"role":122,"seo":123,"series":6,"start_date":124,"stats":6,"status":125,"stem":126,"subtitle":127,"tags":6,"techs":128,"titleHighlight":129,"updates":130,"videoId":6,"views":6,"watchTime":6,"__hash__":136},"projects\u002Fprojects\u002Fde\u002Fwas-ist-mcp.md","was-ist-mcp.ch",null,{"type":8,"value":9,"toc":95},"minimark",[10,17,22,26,30,33,36,39,42,45,49,77,81,88,92],[11,12],"image-carousel",{":height":13,":items":14,":label":15,":width":16},"375","carouselItems","title","600",[18,19,21],"h3",{"id":20},"ausgangslage","Ausgangslage",[23,24,25],"p",{},"Seit Ende 2024 taucht das Model Context Protocol (MCP) in fast jeder Ankündigung\nvon KI-Anbietern auf. Erklärt wird es aber fast nur für Entwicklerinnen und\nEntwickler: mit Begriffen wie Server, Client, JSON-RPC und Tool Calling. Wer\nwissen will, was MCP für die eigene Arbeit mit ChatGPT oder Claude bedeutet,\nfindet auf Deutsch kaum eine Antwort. In Vorträgen und Kundengesprächen habe ich\nimmer wieder gemerkt, dass genau diese Erklärung fehlt.",[18,27,29],{"id":28},"die-lücke-man-muss-mcp-nicht-kennen-aber-ohne-geht-es-nicht","Die Lücke: Man muss MCP nicht kennen, aber ohne geht es nicht",[23,31,32],{},"MCP ist Infrastruktur. Im Idealfall müsste niemand das Wort je hören, so wie\nniemand die USB-C-Spezifikation kennen muss, um ein Ladekabel einzustecken. Für\nEndnutzerinnen und Endnutzer ist MCP darum auf den ersten Blick kein Thema.",[23,34,35],{},"In der Praxis sieht es anders aus. Der grösste Teil dessen, was über MCP\nmöglich ist, steht heute nur offen, wer weiss, was ein MCP-Server ist, wo man\nseine Adresse findet und wo man sie einträgt. In Claude heisst das Ganze\n«Konnektor», in ChatGPT muss man für eine eigene Verbindung zuerst den\nEntwicklermodus einschalten. Wer den Begriff nicht kennt, sucht gar nicht erst\ndanach und bleibt bei dem, was die KI von Haus aus kann.",[23,37,38],{},"Ausnahmen gibt es: Plugins in Claude und Apps in ChatGPT lassen sich mit einem\nKlick hinzufügen, ohne dass man MCP verstehen muss. Nur arbeiten sie ein Stück\nweit gegen die Idee von MCP. Sie sind an den Katalog und die Regeln eines\nAnbieters gebunden und lassen sich nicht ohne Weiteres in eine andere KI\nmitnehmen. Gerade diese Austauschbarkeit ist aber das Versprechen des\nProtokolls: ein Stecker, der überall passt.",[23,40,41],{},"was-ist-mcp.ch setzt genau in dieser Lücke an. Die Seite erklärt, was eine\nVerbindung ist, was sie darf, worauf man achten muss und wie man sie in der\neigenen KI einrichtet. Sie geht aber auch weiter und zeigt, wie MCP\nfunktioniert und wie sich eine KI damit verhält, in einfacher Sprache und ohne\ntechnische Details.",[23,43,44],{},"Am Anfang standen dafür Zielgruppe, Erzählbogen und Tonalität, erst danach\nTexte, Illustrationen und Code: sachlich statt Hype, auf den ersten Seiten\nkein Fachbegriff, dafür feste Analogien wie USB-C und Twint.",[18,46,48],{"id":47},"was-ich-gebaut-habe","Was ich gebaut habe",[50,51,52,60,66],"ul",{},[53,54,55,59],"li",{},[56,57,58],"strong",{},"Die Website",": eine Übersichtsseite und Vertiefungen für Privatpersonen,\nUnternehmen, Sicherheit, Funktionsweise, Grenzen und eine Übersicht\nverfügbarer MCP-Server, dazu ein FAQ und Anleitungen für Claude, ChatGPT und\nGemini. Nuxt 4 mit Nuxt Content, alle Texte in Markdown, statisch auf GitHub\nPages, Hell- und Dunkelmodus, cookielose Statistik.",[53,61,62,65],{},[56,63,64],{},"Ein eigener MCP-Server",": Die Seite erklärt nicht nur MCP, sie bietet selbst\neinen MCP-Server an. Wer die Adresse in Claude, ChatGPT oder Cursor einträgt,\nkann die Inhalte der Seite direkt aus der KI heraus durchsuchen. Der Server ist\nin Python mit FastMCP gebaut, sucht hybrid (BM25 und Vektorsuche mit Milvus\nLite) und folgt einer Clean Architecture, deren Schichtgrenzen im Build geprüft\nwerden. Zwei der zehn Werkzeuge verlangen ein Demo-Login über ein\nOAuth-Anmeldefenster, damit man auch sieht, wie Autorisierung bei MCP aussieht.",[53,67,68,71,72,76],{},[56,69,70],{},"Auffindbarkeit",": strukturierte Daten, ",[73,74,75],"code",{},"llms.txt"," für KI-Crawler und eine\nSEO-Strategie auf Basis echter Suchdaten.",[18,78,80],{"id":79},"zeitlicher-ablauf","Zeitlicher Ablauf",[23,82,83,84,87],{},"Begonnen habe ich Ende März 2026 in meiner Freizeit. Ab Ende April stand eine\nPlatzhalterseite online, am ",[56,85,86],{},"7. September 2026"," ging die vollständige Website\nlive. Der MCP-Server folgte am 23. September. Seither überarbeite ich die Seite\nlaufend anhand von Rückmeldungen von Leserinnen und Lesern.",[18,89,91],{"id":90},"was-ich-gelernt-habe","Was ich gelernt habe",[23,93,94],{},"Für Menschen ohne Technik-Hintergrund zu schreiben war schwieriger als jede\ntechnische Komponente. Jede Formulierung, die für mich selbstverständlich war,\nmusste ich an der Zielgruppe prüfen. Und beim MCP-Server hat sich bestätigt, was\nich auch in Kundenprojekten empfehle: Wenige, klar beschriebene Werkzeuge machen\neine KI zuverlässiger als viele. Deshalb hat der Server genau zehn, und dabei\nbleibt es.",{"title":96,"searchDepth":97,"depth":97,"links":98},"",2,[99,101,102,103,104],{"id":20,"depth":100,"text":21},3,{"id":28,"depth":100,"text":29},{"id":47,"depth":100,"text":48},{"id":79,"depth":100,"text":80},{"id":90,"depth":100,"text":91},[106,107,108,109,110],"\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fscreen_landing_1200x750.png","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fscreen_wie-funktioniert_1200x750.png","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fscreen_unternehmen_1200x750.png","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fscreen_server_1200x750.png","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fscreen_ausprobieren_1200x750.png","Eine unabhängige, deutschsprachige Website, die das Model Context Protocol ohne Fachjargon erklärt, samt eigenem MCP-Server, den Leserinnen und Leser direkt mit Claude oder ChatGPT verbinden können. In der Freizeit konzipiert, geschrieben, gestaltet und entwickelt.","md","private","2026-09-07","https:\u002F\u002Fwas-ist-mcp.ch","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fwas_ist_mcp.png",{},true,"\u002Fprojects\u002Fde\u002Fwas-ist-mcp",[121],"\u002Fblogs\u002Fde\u002Fmodel-context-protocol-mcp-der-standard-der-ki-mit-ihren-business-daten-verbindet","Konzept, Inhalt, Design, Entwicklung, Betrieb",{"title":5,"description":111},"2026-03-24","live","projects\u002Fde\u002Fwas-ist-mcp","MCP verständlich erklärt, für Menschen ohne Technik-Hintergrund","Nuxt, Nuxt Content, UnoCSS, Python, FastMCP, Milvus Lite, BM25, Docker, GitHub Actions",".ch",[131],{"date":132,"title":133,"description":134,"image":135},"2026-09-23","Eigener MCP-Server ist live","Die Inhalte von was-ist-mcp.ch lassen sich jetzt direkt aus Claude, ChatGPT oder Cursor durchsuchen, inklusive Demo-Login über OAuth.","\u002Fimages\u002Fprojects\u002Fwas-ist-mcp\u002Fuse-mcp.png","LmKgy7erWBH2TBjnlJ7HIgmCVZ_a7x-sho0GW275dU4",[138,232,321,420],{"id":139,"title":140,"audience":6,"body":141,"carouselItems":216,"client":6,"companyName":6,"date":6,"description":220,"end_date":6,"eventDate":6,"eventDuration":6,"eventName":6,"extension":112,"highlightWord":6,"icon":6,"images":6,"job":6,"kind":113,"label":6,"launch_date":6,"link":221,"logo":222,"mainTitle":6,"meta":223,"navigation":118,"order":100,"path":224,"podcastId":6,"related":6,"repo":6,"role":225,"seo":226,"series":6,"start_date":227,"stats":6,"status":125,"stem":228,"subtitle":229,"tags":6,"techs":230,"titleHighlight":129,"updates":6,"videoId":6,"views":6,"watchTime":6,"__hash__":231},"projects\u002Fprojects\u002Fde\u002Fmy-website.md","marius-hoegger.ch",{"type":8,"value":142,"toc":210},[143,145,147,150,153,156,160,163,202,204],[11,144],{":height":13,":items":14,":label":15,":width":16},[18,146,21],{"id":20},[23,148,149],{},"Vorträge, Webinare, Podcast-Folgen und Blogbeiträge lagen verteilt auf\nYouTube, Spotify, LinkedIn und Veranstaltungsseiten. Ich wollte einen Ort, an\ndem alles zusammenkommt und der zeigt, wie ich über KI denke und was ich baue.",[18,151,58],{"id":152},"die-website",[23,154,155],{},"Technisch ist die Seite bewusst einfach: Nuxt mit Nuxt Content, alle Inhalte\nals Markdown-Dateien, statisch gebaut und auf GitHub Pages ausgeliefert. Jeder\nMerge auf den Hauptzweig wird automatisch veröffentlicht. Das gestalterische\nLeitmotiv ist das Sechseck, vom Bildraster auf der Startseite bis zur\nZeitleiste aller Beiträge. Seit Mai 2026 gibt es die Seite auch auf Englisch.",[18,157,159],{"id":158},"ki-im-arbeitsablauf","KI im Arbeitsablauf",[23,161,162],{},"Interessanter als die Seite selbst ist, wie sie gepflegt wird. Ich arbeite mit\nClaude Code direkt im Repository, und das Repository ist darauf eingerichtet:",[50,164,165,175,181,187,196],{},[53,166,167,170,171,174],{},[56,168,169],{},"Projektwissen für den Agenten",": Eine ",[73,172,173],{},"CLAUDE.md"," beschreibt Aufbau,\nKonventionen und Regeln der Seite, damit jede Sitzung vom gleichen Stand\nausgeht und nicht erst den Code erkunden muss.",[53,176,177,180],{},[56,178,179],{},"Übersetzung als Subagent",": Deutsch ist die Quelle. Ein eigener\nÜbersetzungs-Agent spiegelt jede Datei in den englischen Ordner, übernimmt\nFrontmatter, Bildpfade und eingebettete Komponenten unverändert und hält die\nSprachdateien der Oberfläche synchron. Ton und Regeln stehen in der\nAgent-Definition, nicht in meinem Kopf.",[53,182,183,186],{},[56,184,185],{},"Skills für wiederkehrende Texte",": Für LinkedIn gibt es Skills, die das\nProfil und die Stationen direkt aus den Inhalten der Website schreiben. Die\nWebsite ist damit die einzige Quelle, aus der alles andere entsteht.",[53,188,189,192,193,195],{},[56,190,191],{},"Für KI lesbar",": Die Seite liefert ein ",[73,194,75],{},", das beim Build aus\ndenselben Inhalten erzeugt wird wie die Seiten selbst. Neue Beiträge\nerscheinen dort automatisch, ohne dass jemand die Datei anfasst.",[53,197,198,201],{},[56,199,200],{},"Ein Feed, der sich selbst füllt",": Vorträge, Podcast-Folgen, Blogbeiträge\nund Projekt-Updates landen aus ihren eigenen Sammlungen in einer gemeinsamen\nZeitleiste. Ein neues Projekt mit Startdatum erzeugt seinen Eintrag unter\n«Neuigkeiten» von selbst.",[18,203,91],{"id":90},[23,205,206,207,209],{},"Eine KI arbeitet in einem Repository so gut, wie das Repository es ihr erlaubt.\nSeit die Regeln in ",[73,208,173],{},", Agenten und Skills stehen, statt in jeder\nSitzung neu erklärt zu werden, sind die Ergebnisse gleichmässiger und ich\nprüfe mehr, als ich schreibe. Das ist dieselbe Erfahrung, die ich auch in\nKundenprojekten weitergebe.",{"title":96,"searchDepth":97,"depth":97,"links":211},[212,213,214,215],{"id":20,"depth":100,"text":21},{"id":152,"depth":100,"text":58},{"id":158,"depth":100,"text":159},{"id":90,"depth":100,"text":91},[217,218,219],"\u002Fimages\u002Fprojects\u002Fmy-website\u002Fscreen_home_1200x750.png","\u002Fimages\u002Fprojects\u002Fmy-website\u002Fscreen_timeline_1200x750.png","\u002Fimages\u002Fprojects\u002Fmy-website\u002Fscreen_llms_1200x750.png","Die Website, auf der Sie gerade sind: Vorträge, Podcast, Projekte und beruflicher Werdegang auf Deutsch und Englisch. Technisch eine statische Nuxt-Seite, spannend ist der Arbeitsablauf dahinter: Übersetzung, Texte und Auffindbarkeit laufen über eigene Agenten und Skills in Claude Code.","https:\u002F\u002Fmarius-hoegger.ch","\u002Fimages\u002Fprojects\u002Fmy-website\u002Fmy_website.png",{},"\u002Fprojects\u002Fde\u002Fmy-website","Konzept, Design, Entwicklung, Inhalt",{"title":140,"description":220},"2024-06-06","projects\u002Fde\u002Fmy-website","Meine persönliche Website, gepflegt mit KI-Agenten","Nuxt, Nuxt Content, Tailwind CSS, Nuxt i18n, Claude Code, GitHub Actions, GitHub Pages","eUKQ7SNM1apMU2DpouFnB53PCcjvCellxvSDosP6iQ4",{"id":233,"title":234,"audience":6,"body":235,"carouselItems":304,"client":6,"companyName":6,"date":6,"description":308,"end_date":6,"eventDate":6,"eventDuration":6,"eventName":6,"extension":112,"highlightWord":6,"icon":6,"images":6,"job":6,"kind":113,"label":6,"launch_date":309,"link":310,"logo":311,"mainTitle":6,"meta":312,"navigation":118,"order":313,"path":314,"podcastId":6,"related":6,"repo":6,"role":315,"seo":316,"series":6,"start_date":309,"stats":6,"status":125,"stem":317,"subtitle":318,"tags":6,"techs":319,"titleHighlight":129,"updates":6,"videoId":6,"views":6,"watchTime":6,"__hash__":320},"projects\u002Fprojects\u002Fde\u002Fpapaircraft.md","papaircraft.ch",{"type":8,"value":236,"toc":297},[237,239,241,244,246,249,252,254,257,283,285,292,294],[11,238],{":height":13,":items":14,":label":15,":width":16},[18,240,21],{"id":20},[23,242,243],{},"Papierflieger begleiten mich seit der Kindheit, von der Maturaarbeit über die\nPhysik des Papierflugs bis zu vier Teilnahmen an Red Bull Paper Wings.\nDaraus ist eine Serie von Wandobjekten entstanden: immer dieselbe Silhouette,\njedes Mal aus anderen Materialien, von Leder und Zahnrädern über Filz und\nSonnenblumenkerne bis zu Schmetterlingen und Treibholz. Für diese Objekte\nfehlte ein Ort, an dem man sie ansehen, ausleihen oder kaufen kann.",[18,245,58],{"id":152},[23,247,248],{},"Eine Galerie, keine Verkaufsseite. Das Design ist bewusst zurückhaltend: weisser\nHintergrund wie die Wand, an der die Bilder hängen, neutrale Schrift, wenige\nElemente pro Bildschirm. Laut sind nur die Objekte. Jedes Objekt hat eine\neigene Seite mit Materialien, Techniken, Format und Gewicht, dazu ein dezentes\n«Angebot machen» statt eines Kaufknopfs. Eine Seite «Ausstellungen» richtet\nsich an Restaurants, Galerien und öffentliche Räume, die ein Objekt zeigen\nmöchten.",[23,250,251],{},"Technisch ist das eine statische Nuxt-Seite auf GitHub Pages: jedes Objekt eine\nMarkdown-Datei, Bilder optimiert über Nuxt Image, Deutsch und Englisch. Das\nKontaktformular nutzt dasselbe kleine Backend wie meine persönliche Website.",[18,253,159],{"id":158},[23,255,256],{},"Gebaut habe ich die Seite mit Claude Code, und auch hier steckt die Arbeit vor\nallem in den Leitplanken:",[50,258,259,268,274],{},[53,260,261,264,265,267],{},[56,262,263],{},"Vorgaben statt Nachbessern",": Vision, Zielgruppe, Ton und Designprinzipien\nstehen in ",[73,266,173],{}," und einem eigenen Design-Dokument. Neue Seiten und\nTexte entstehen gegen diese Vorgaben, nicht gegen mein Gedächtnis.",[53,269,270,273],{},[56,271,272],{},"Hooks als Stilprüfung",": Ein Hook blockiert jeden Schreibvorgang, der einen\nGedankenstrich mit Leerzeichen in die Inhalte bringen würde, weil er Texte\nschnell nach KI klingen lässt. Ein zweiter formatiert jede Markdown-Datei nach\ndem Bearbeiten automatisch. Die Regeln greifen, bevor ich überhaupt\nhinschauen muss.",[53,275,276,279,280,282],{},[56,277,278],{},"Auffindbarkeit in Phasen",": Aus einer Keyword-Recherche entstand ein\nPhasenplan, der Schritt für Schritt umgesetzt wurde: Sitemap mit\nSprachvarianten, ",[73,281,75],{}," für KI-Assistenten, Metadaten pro Seite,\nstrukturierte Daten, die jedes Objekt als Kunstwerk mit Material und Format\nbeschreiben, und Alt-Texte, die das Material nennen.",[18,284,80],{"id":79},[23,286,287,288,291],{},"Die Seite ging am ",[56,289,290],{},"3. Juni 2026"," live. Mitte Juni kamen die Seite\n«Ausstellungen» mit Kontaktformular und die Arbeit an der Auffindbarkeit dazu.\nSeither wächst die Galerie mit jedem neuen Objekt, das als einzelne\nMarkdown-Datei hinzukommt.",[18,293,91],{"id":90},[23,295,296],{},"Bei einer Kunst-Website ist die schwierigste Entscheidung, was man weglässt.\nUnd ein Hook, der eine Regel durchsetzt, ist zuverlässiger als dieselbe Regel\nin einem Prompt.",{"title":96,"searchDepth":97,"depth":97,"links":298},[299,300,301,302,303],{"id":20,"depth":100,"text":21},{"id":152,"depth":100,"text":58},{"id":158,"depth":100,"text":159},{"id":79,"depth":100,"text":80},{"id":90,"depth":100,"text":91},[305,306,307],"\u002Fimages\u002Fprojects\u002Fpapaircraft\u002Fscreen_gallery_1200x750.png","\u002Fimages\u002Fprojects\u002Fpapaircraft\u002Fscreen_piece_1200x750.png","\u002Fimages\u002Fprojects\u002Fpapaircraft\u002Fscreen_about_1200x750.png","Eine schlichte, zweisprachige Galerie für meine Wandobjekte: immer dieselbe Papierflieger-Silhouette, jedes Mal aus anderen Materialien. Gebaut als statische Nuxt-Seite, mit Claude Code und Hooks, die über Ton und Form der Texte wachen.","2026-06-03","https:\u002F\u002Fpapaircraft.ch","\u002Fimages\u002Fprojects\u002Fpapaircraft\u002Fpapaircraft.png",{},4,"\u002Fprojects\u002Fde\u002Fpapaircraft","Konzept, Design, Entwicklung, Inhalt, Kunst",{"title":234,"description":308},"projects\u002Fde\u002Fpapaircraft","Online-Galerie für meine Papierflieger-Kunst","Nuxt, Nuxt Content, Nuxt UI, Nuxt Image, Nuxt i18n, Schema.org, Claude Code, GitHub Pages","sSqXA7_wGupJfulJBHFwYS70O0JcspSbrX_v8Pf4pf8",{"id":322,"title":323,"audience":6,"body":324,"carouselItems":399,"client":6,"companyName":6,"date":6,"description":405,"end_date":6,"eventDate":6,"eventDuration":6,"eventName":6,"extension":112,"highlightWord":6,"icon":6,"images":6,"job":406,"kind":407,"label":6,"launch_date":6,"link":408,"logo":409,"mainTitle":6,"meta":410,"navigation":118,"order":411,"path":412,"podcastId":6,"related":6,"repo":6,"role":413,"seo":414,"series":6,"start_date":6,"stats":6,"status":125,"stem":415,"subtitle":416,"tags":6,"techs":417,"titleHighlight":418,"updates":6,"videoId":6,"views":6,"watchTime":6,"__hash__":419},"projects\u002Fprojects\u002Fde\u002Fswiss-ai-hub.md","Swiss AI Hub",{"type":8,"value":325,"toc":393},[326,328,330,333,337,340,343,347,350,388,390],[11,327],{":height":13,":items":14,":label":15,":width":16},[18,329,21],{"id":20},[23,331,332],{},"Schweizer Unternehmen, die KI ernsthaft einsetzen wollen, bauen immer wieder\ndenselben Stack: eine Vektordatenbank, eine Ingestion-Pipeline, ein LLM-Gateway,\neine Chat-Oberfläche. Der Prototyp ist schnell gebaut. Aufwendig wird der\nBetrieb: Login über alle Dienste, Kosten pro Abteilung, Schutz von\nPersonendaten, Nachvollziehbarkeit jeder Antwort und Updates von Dutzenden\nContainern. Dazu kommt, dass viele Daten die eigene Infrastruktur oder zumindest\ndie Schweiz nicht verlassen dürfen. Cloud-Plattformen von US-Anbietern fallen\ndamit oft weg.",[18,334,336],{"id":335},"die-plattform","Die Plattform",[23,338,339],{},"Der Swiss AI Hub erfindet diese Bausteine nicht neu, sondern verbindet bewährte\nOpen-Source-Projekte zu einem Stack, der sich mit einem einzigen Befehl\ninstallieren lässt: LiteLLM als Gateway zu lokalen und externen Modellen, Milvus\nund LlamaIndex für RAG, Dagster für die Datenpipelines, Keycloak für Login und\nMandanten, Langfuse und OpenTelemetry für Tracing. Agenten kommunizieren über\nein gemeinsames Event-Protokoll auf NATS JetStream und sind über API, MCP, Teams\nund Slack erreichbar. Auf Wunsch läuft alles komplett lokal, ohne dass Daten\ndas Haus verlassen.",[23,341,342],{},"Entwickelt wurde die Plattform im KI-Team von bbv, heute ist sie Open Source.",[18,344,346],{"id":345},"mein-beitrag","Mein Beitrag",[23,348,349],{},"Ich war Dev Lead und Solution Architect des Hubs, verantwortlich für\nDeployment und DevOps, und habe als Projektleiter die Kundenprojekte geführt,\ndie auf der Plattform aufbauen. Im heute öffentlichen Repository stehen über\n100 Commits von mir. Schwerpunkte waren:",[50,351,352,358,364,370,376,382],{},[53,353,354,357],{},[56,355,356],{},"Deployment und DevOps",": Ich habe verantwortet, wie der Hub gebaut,\nausgeliefert und betrieben wird: die Infrastruktur als Code für Azure, die\nDocker-Compose-Installation, versionierte GitHub-Releases als\ninstallierbares Paket und die CI\u002FCD-Pipelines, die alle Images bauen und\ntaggen.",[53,359,360,363],{},[56,361,362],{},"Kundenprojekte auf dem Hub",": Als Dev Lead und Projektleiter habe ich\nKundenprojekte von der Use-Case-Identifikation im Workshop über den\nProof of Concept bis zum MVP geführt, inklusive Architektur- und\nSicherheitskonzept. Was dort gebraucht wurde, floss direkt in die Plattform\nzurück.",[53,365,366,369],{},[56,367,368],{},"Agent-Runtime",": Agenten-Typen wie der Few-Shot-Agent, die agentenunabhängige\nVerwaltung von Gesprächsthreads und die Übergabe an Menschen (Human in the\nLoop), dazu Guards, die prüfen, ob der gefundene Kontext für eine Antwort\nausreicht.",[53,371,372,375],{},[56,373,374],{},"RAG-Pipeline",": Dateien direkt über die API übergeben, angereicherte\nMetadaten beim Ingest, Retriever mit Metadatenfiltern zur Laufzeit und\nAlarmierung, wenn eine Dagster-Pipeline fehlschlägt.",[53,377,378,381],{},[56,379,380],{},"Login und Mandanten",": die Integration von Keycloak in die Plattform, ein\nUser-Service auf Basis der Keycloak-Daten, Mandanten-Handling beim Login und\nIntegrationstests dafür.",[53,383,384,387],{},[56,385,386],{},"Evaluation und Tracing",": die Infrastruktur, mit der sich Antworten der\nAgenten nachvollziehen und bewerten lassen, zuerst mit Phoenix, später mit\nLangfuse.",[18,389,91],{"id":90},[23,391,392],{},"Der grösste Aufwand einer KI-Plattform steckt nicht in den Agenten, sondern in\nallem darum herum: Login, Mandanten, Releases, Upgrades und Nachvollziehbarkeit.\nGenau diese Arbeit entscheidet, ob ein Unternehmen eine Plattform selbst\nbetreiben kann. Und wer bewährte Open-Source-Projekte kombiniert, statt sie\nnachzubauen, bekommt deren Weiterentwicklung gratis dazu.",{"title":96,"searchDepth":97,"depth":97,"links":394},[395,396,397,398],{"id":20,"depth":100,"text":21},{"id":335,"depth":100,"text":336},{"id":345,"depth":100,"text":346},{"id":90,"depth":100,"text":91},[400,401,402,403,404],"\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fscreen_architecture_1200x750.png","\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fscreen_agent_1200x750.png","\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fscreen_knowledge_1200x750.png","\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fscreen_pipeline_1200x750.png","\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fscreen_models_1200x750.png","Eine selbst gehostete KI-Plattform, die bewährte Open-Source-Bausteine zu einem betriebsbereiten Stack verbindet: LLM-Gateway, RAG, Agenten, Login und Observability. Bei bbv als Dev Lead mitentwickelt und verantwortlich für Deployment und DevOps, heute Open Source.","bbv_ai","work","https:\u002F\u002Fgithub.com\u002Fbbvch-ai\u002Faihub-core","\u002Fimages\u002Fprojects\u002Fswiss-ai-hub\u002Fswiss_ai_hub.png",{},1,"\u002Fprojects\u002Fde\u002Fswiss-ai-hub","Dev Lead, Solution Architect, Deployment und DevOps",{"title":323,"description":405},"projects\u002Fde\u002Fswiss-ai-hub","Souveräne Open-Source-KI-Plattform für Schweizer Unternehmen","Python, FastAPI, NATS JetStream, LlamaIndex, Milvus, LiteLLM, Keycloak, Langfuse, Dagster, Docker","AI Hub","KDRCAg5ZTHBF3TrK_kiZhHpPYqY1X-1res2A0tdyHRU",{"id":4,"title":5,"audience":6,"body":421,"carouselItems":476,"client":6,"companyName":6,"date":6,"description":111,"end_date":6,"eventDate":6,"eventDuration":6,"eventName":6,"extension":112,"highlightWord":6,"icon":6,"images":6,"job":6,"kind":113,"label":6,"launch_date":114,"link":115,"logo":116,"mainTitle":6,"meta":477,"navigation":118,"order":97,"path":119,"podcastId":6,"related":478,"repo":6,"role":122,"seo":479,"series":6,"start_date":124,"stats":6,"status":125,"stem":126,"subtitle":127,"tags":6,"techs":128,"titleHighlight":129,"updates":480,"videoId":6,"views":6,"watchTime":6,"__hash__":136},{"type":8,"value":422,"toc":469},[423,425,427,429,431,433,435,437,439,441,443,459,461,465,467],[11,424],{":height":13,":items":14,":label":15,":width":16},[18,426,21],{"id":20},[23,428,25],{},[18,430,29],{"id":28},[23,432,32],{},[23,434,35],{},[23,436,38],{},[23,438,41],{},[23,440,44],{},[18,442,48],{"id":47},[50,444,445,449,453],{},[53,446,447,59],{},[56,448,58],{},[53,450,451,65],{},[56,452,64],{},[53,454,455,71,457,76],{},[56,456,70],{},[73,458,75],{},[18,460,80],{"id":79},[23,462,83,463,87],{},[56,464,86],{},[18,466,91],{"id":90},[23,468,94],{},{"title":96,"searchDepth":97,"depth":97,"links":470},[471,472,473,474,475],{"id":20,"depth":100,"text":21},{"id":28,"depth":100,"text":29},{"id":47,"depth":100,"text":48},{"id":79,"depth":100,"text":80},{"id":90,"depth":100,"text":91},[106,107,108,109,110],{},[121],{"title":5,"description":111},[481],{"date":132,"title":133,"description":134,"image":135},1793631848403]