layerlingAnleitung
Deutsch
Zum Editor

Mit einer KI bauen (MCP)

Wie ein KI-Assistent wie Claude oder Codex in deinem geöffneten Editor Formen anlegt, ändert, gruppiert und Bilder der Ansicht aufnimmt.

layerling bringt einen MCP-Server mit. MCP ist ein Standard, über den ein KI-Assistent Werkzeuge in anderen Programmen benutzen kann. Damit sieht ein KI-Client wie Claude oder Codex einen offenen Editor-Tab und arbeitet darin: Er legt Formen an, ändert Maße, gruppiert, schneidet, rundet Kanten, liest die Szene aus und nimmt Bilder der Ansicht auf. Du beschreibst das Teil, die KI baut es, du siehst zu und greifst jederzeit ein.

Die Brücke zwischen KI-Client und Editor läuft lokal auf deinem Rechner. Bedenke aber: Was die KI liest, also die Szene und die Bilder der Ansicht, geht an den Anbieter deines KI-Clients, so wie jede andere Eingabe dort auch.

Einrichten

  1. Lade layerling von GitHub und starte es im Projektordner mit npm run dev. Node.js muss installiert sein. Unter Windows erledigt das die Schnellstart-Zeile in der README.
  2. Öffne einen Editor-Tab, zum Beispiel http://127.0.0.1:3000/?editor=1. Das kannst du auch der KI überlassen: Ist kein Editor offen, startet das erste Werkzeug, das einen braucht, deinen Browser mit einem Editor und wartet, bis er verbunden ist. Das geht bei einem layerling auf deinem eigenen Rechner; bei einer Kopie auf einem NAS oder Server öffnest du den Editor selbst. Mit LAYERLING_MCP_OPEN_EDITOR=0 am MCP-Server schaltest du es ab.
  3. Verbinde deinen KI-Client mit dem MCP-Server. Er wird vom Client selbst mit node scripts/layerling-mcp-server.mjs gestartet.

Claude Code

Nichts zu installieren: Das Projekt bringt eine .mcp.json mit, die den Server einträgt, und den Skill unter .claude/skills/layerling-mcp-skill. Öffne den layerling-Ordner in Claude Code und bitte zum Beispiel: „Nutze die layerling-MCP-Werkzeuge, liste meine offenen Editoren auf und sieh dir die Szene an.“

Claude Desktop

Claude Desktop liest keine Projektdateien. Trage den Server in seiner eigenen Konfiguration ein. Als Vorlage dient docs/mcp/claude-desktop-config.example.json im Projekt, in der du den Skriptpfad durch den absoluten Pfad auf deinem Rechner ersetzt. Danach Claude Desktop neu starten.

Codex

Kopiere den Skill aus docs/skills/layerling-mcp-skill in deinen Codex-Skill-Ordner, trage den Server anhand von docs/mcp/codex-config.example.toml in deine Codex-Konfiguration ein und starte Codex neu.

Die ausführliche Anleitung für alle drei steht in der README auf GitHub.

Eine Kopie auf NAS oder Server

Eine Kopie, die du selbst betreibst, kann einen KI-Client ihre offenen Editoren übers Netz steuern lassen. Das ist standardmäßig aus, denn wer die Brücke steuern kann, kann die offenen Entwürfe lesen und ändern. Setze auf dem Server LAYERLING_MCP_REMOTE auf true und LAYERLING_MCP_TOKEN auf ein Geheimnis von mindestens 16 Zeichen (beim Docker-Image unter environment: der Compose-Datei; ein Neubau ist nicht nötig). Öffne einen Editor-Tab dieser Kopie und lass ihn offen, und gib dem MCP-Client die Adresse und denselben Schlüssel: LAYERLING_URL=http://nas:3000 und LAYERLING_MCP_TOKEN=<der Schlüssel>.

Nur ein Client mit dem Schlüssel kann die Editoren auflisten oder steuern. Die Editor-Seiten brauchen keinen, zählen aber nur unter einer Adresse oder einem Namen, den nur dein eigenes Netz benutzen kann (eine IP-Adresse, ein Name ohne Punkt oder einer auf .local oder .lan); eine echte Domain hinter einem Reverse-Proxy kommt in LAYERLING_MCP_ALLOWED_HOSTS. Nutze es in einem Netz, dem du vertraust, und HTTPS darüber hinaus. Die Einzelheiten stehen in der README.

Was die KI kann

Die KI arbeitet mit denselben Funktionen wie du, sie läuft über denselben Weg wie deine Bedienung im Editor. Neue Funktionen von layerling bekommen ihre MCP-Aktion gleich mit. Die Werkzeuge:

WerkzeugWas es tut
layerling_list_editorslistet die offenen Editor-Tabs auf
layerling_open_editoröffnet einen neuen Editor-Tab in deinem Standardbrowser und wartet, bis er verbunden ist (nur auf deinem eigenen Rechner)
layerling_read_sceneliest Szene, Auswahl, Einheiten und die genauen Maße aller Objekte
layerling_list_objectslistet alle Objekte mit Maßen, Lage, Drehung und Kennung
layerling_select_objectswählt Objekte aus
layerling_delete_objectslöscht Objekte
layerling_create_shapelegt eine Form an: Quader, Zylinder, Text (auch gebogen), Gewinde, Zahnrad, Skizzenkörper und alle anderen
layerling_import_fileimportiert eine Datei wie das Importfenster, eine farbige OBJ oder 3MF als ein Körper je Farbe, eine 3MF mit mehreren Objekten als ein Körper je Objekt
layerling_add_fontfügt eine eigene Schrift für Text hinzu, aus einer TrueType-, OpenType- oder WOFF-Datei; sie bleibt im Browser, ein Entwurf behält nur die benutzten Buchstaben
layerling_list_fontslistet die mitgelieferten und die eigenen Schriften, mit Id und Name
layerling_import_meshbringt ein Dreiecksnetz in den Entwurf
layerling_update_objectändert Maße, Lage, Farbe, Name, Körper oder Aussparung und alles, was die Form sonst ausmacht, bei einem Text auch die Buchstabenkante
layerling_align_objectsrichtet Objekte aneinander aus
layerling_scale_objectsskaliert Objekte um einen Prozentwert, zusammen oder jedes für sich
layerling_lay_flatlegt ein Objekt mit einer Fläche auf die Platte
layerling_place_on_facesetzt Objekte auf eine Fläche eines anderen, auch schräg, wie die Taste C
layerling_perforate_faceschneidet ein Lochmuster in eine ebene Fläche, die Löcher bleiben als Aussparungen mit dem Körper gruppiert
layerling_mate_faceslegt eine Fläche eines Objekts an die Fläche eines anderen, gegeneinander oder bündig
layerling_open_groupöffnet eine Gruppe, damit ihre Teile einzeln änderbar sind, auch eine Gruppe in einer geöffneten
layerling_close_groupschließt sie wieder („Fertig“) oder bricht ab
layerling_group_objectsgruppiert Objekte
layerling_ungroup_objectslöst Gruppen auf
layerling_boolean_cutschneidet Körper mit Aussparungen
layerling_intersect_objectsbehält nur, was die Objekte gemeinsam haben (Schnittmenge)
layerling_separate_partszerlegt eine Form mit losen Teilen
layerling_split_objectsteilt Körper oder Aussparungen mit einer Ebene in zwei
layerling_list_edgeslistet die echten CAD-Kanten eines Objekts
layerling_apply_edge_treatmentfast oder verrundet ausgewählte Kanten
layerling_hollow_objecthöhlt einen Körper mit gleichmäßiger Wand aus
layerling_array_objectsvervielfältigt in einer Reihe oder auf einem Kreis
layerling_bundle_objectsbündelt Objekte wie Strg+B: sie bewegen sich zusammen, behalten Farbe und Art und gehen einzeln in den Export
layerling_layer_textmacht aus einem Text einen Stapel aus Schichten für den Mehrfarbdruck (Buchstaben, breitere Ränder, Platte ohne Löcher) oder baut einen Stapel neu, mit Loch für den Schlüsselring, Ecken je Schicht und gerundeter oder abgeschrägter Buchstabenkante; mit einer Namensliste ein Schild je Name
layerling_layer_iconmacht aus einem SVG-Symbol (dem Text der Datei oder einem extrudierten Skizzenkörper) ein Symbolschild in Schichten für den Mehrfarbdruck - Symbol, breitere Ränder, Platte ohne Löcher - oder baut eines mit neuer Breite oder neuen Schichten neu; mit einer Anzahl füllt es die Platte mit Kopien
layerling_measure_sectionmisst auf einer Schnittebene zwischen zwei Punkten, die am Umriss einrasten – Wandstärken, Spalte, Passungen
layerling_show_overhangsschaltet die Überhang-Schraffur ein oder aus, setzt den Winkel und nennt je Körper die Fläche, die Stützen bräuchte
layerling_estimate_printschätzt Volumen, Gewicht und Filament für die Auswahl oder den ganzen Entwurf, massiv gerechnet wie im Exportfenster
layerling_add_reference_pointssetzt Bezugspunkte - auf Mitte, Ecken oder Kantenmitten von Objekten oder an genauen Stellen -, an denen Formen einrasten
layerling_list_reference_pointslistet die Bezugspunkte mit Kennung und Lage auf
layerling_remove_reference_pointslöscht Bezugspunkte nach Kennung oder alle
layerling_inspect_errorszeigt die letzte Meldung und den letzten Fehler, dazu die Meldungen und Fehler der Sitzung
layerling_wrap_around_cylinderwickelt einen flach liegenden Körper, etwa ein SVG oder Text, um einen Zylinder, nach außen oder als Gravur nach innen
layerling_simplify_meshverringert die Dreieckszahl eines importierten Netzes, auf einen Anteil in Prozent oder auf eine Anzahl Dreiecke
layerling_save_custom_shapelegt Körper als eigene Form ab, auf dem Server oder im Browser, um sie in andere Entwürfe einzusetzen
layerling_list_custom_shapeslistet die eigenen Formen auf dem Server und im Browser
layerling_insert_custom_shapesetzt eine eigene Form in den offenen Entwurf, wahlweise an eine Stelle x/z
layerling_delete_custom_shapeentfernt eine eigene Form; eingesetzte Körper bleiben
layerling_show_workplaneblendet die Platte mit ihrem Gitter aus und wieder ein, etwa für ein Bild der Unterseite (nur die Ansicht)
layerling_set_section_viewschneidet die Ansicht entlang einer Ebene auf, um ins Innere zu sehen (nur die Ansicht, nichts wird zerteilt)
layerling_clear_historylöscht jeden Rückgängig-Schritt endgültig, wie der Knopf „Verlauf löschen“ im Verlaufsblick; verlangt confirm: true
layerling_set_history_viewschaut auf einen früheren Stand des Projekts zurück, wie die Verlaufsansicht (der echte Entwurf bleibt unberührt; ändernde Werkzeuge warten, bis sie geschlossen ist)
layerling_export_section_svgliefert die Umrisse auf einer Schnittebene als SVG im Maßstab 1:1, aus denselben Körpern wie der Export
layerling_set_workplanelegt die Arbeitsebene auf eine Seite eines Körpers, setzt sie auf die Grundplatte zurück oder blendet sie aus und ein
layerling_capture_imagenimmt ein Bild der Ansicht auf, von vorn, oben, seitlich, schräg von einer Ecke und mehr

Die KI kann sich damit selbst kontrollieren: Sie legt etwas an, macht ein Bild, sieht nach und verbessert.

Ein Beispiel

Du sagst: „Baue mir eine runde Dose mit 60 mm Durchmesser, 40 mm Höhe und 2,5 mm Wand, oben offen, dazu einen flachen Deckel, auf dem ‚Tee‘ im Bogen steht.“ Die KI legt Zylinder an, höhlt einen aus, setzt den gebogenen Text auf den Deckel und nimmt zum Schluss Bilder auf, damit sie sieht, ob es passt.