Das Integrationskit generieren
syncanix generate schreibt ein Verzeichnis syncanix/ in Ihr Projekt — den Widget-Installer, Ihre Typen, die Registrierungsdateien und die CSP-Anforderung — und bearbeitet nie eine Datei, die Sie geschrieben haben.
syncanix generate schreibt alles, was Syncanix braucht, als Code in ein Verzeichnis Ihres Projekts. Es legt neue Dateien an und ausschließlich neue Dateien: Nichts davon kann etwas ändern, das Sie geschrieben haben — es gibt also keinen Diff von Ihnen zu prüfen und nichts rückgängig zu machen.
npx syncanix generate --key pk_live_…Was Sie bekommen
Ein Verzeichnis, eine Datei je Belang, alles lesbarer Code, der Ihnen gehört:
syncanix/
index.ts the one file you import — installs the widget, applies everything below
widget.ts installs the widget from code (idempotent, with a teardown)
types.d.ts types for window.syncanix, so your editor knows the API
actions.ts functions the agent may run on the page
components.ts UI the agent may render in the chat
data-sources.ts live data the agent may read
page-actions.ts the routes and controls from your last scan
csp.ts the CSP sources the widget needs, as a value to spread
identity.ts your token provider (written only with --idp)Die Barrel-Datei ist der springende Punkt: Sie installiert die Befehlswarteschlange, dann das Widget und wendet dann jede Registrierung im Verzeichnis an — in der Reihenfolge, in der sie funktionieren. Ihre App importiert also einen Pfad und sonst nichts.
import './syncanix';Diese Dateien dürfen Sie bearbeiten
Der Generator merkt sich einen Hash dessen, was er geschrieben hat. Ein erneuter Lauf aktualisiert die Dateien, die Sie nicht angefasst haben, und lässt die angefassten unverändert — er meldet sie, statt sie zu überschreiben. Eigene Aktionen in actions.ts zu ergänzen bringt Sie also beim nächsten Upgrade nicht auf die falsche Seite.
Syncanix mitteilen, wer der Besucher ist
Nennen Sie Ihren Identitätsanbieter, und der Generator schreibt identity.ts dafür. Die Datei nimmt Ihren Token-Getter als Argument entgegen, statt nach einer globalen Variable zu greifen, denn Ihren Auth-Client erreicht nur Ihr eigener Code — die Barrel-Datei ruft sie deshalb bewusst nicht auf, und Sie binden sie dort an, wo dieser Client liegt.
npx syncanix generate --key pk_live_… --idp auth0import { connectSyncanixIdentity } from './syncanix/identity';
connectSyncanixIdentity(() => auth0.getAccessTokenSilently());Die Routen und Bedienelemente stammen aus Ihrem Scan
page-actions.ts sagt dem Agenten, welche Seiten er erreichen kann und welche Bedienelemente er bedienen darf. Führen Sie zuerst einen Scan aus, und der Generator füllt die Datei für Sie aus; ohne Scan schreibt er ein kommentiertes Beispiel, das Sie von Hand ausfüllen.
npx syncanix init
npx syncanix generateOder lassen Sie es die CLI für Sie erledigen
Es gibt zwei Wege, das Widget zu installieren, und welchen Sie wollen, ist eine Tatsache über Ihr Repository und keine Empfehlung, die wir für Sie aussprechen können.
- syncanix integrate
- Findet Ihr Framework und nimmt die Änderungen vor: die Einbettung in Ihr HTML, Ihre Content-Security-Policy, Variablen in .env. Sie geben jede Datei anhand ihres Diffs frei, jedes Überschreiben wird gesichert, es wird entweder alles angewendet oder nichts, und --uninstall stellt den alten Stand wieder her.
- syncanix generate
- Schreibt das Kit und sonst nichts. Greifen Sie dazu, wenn Sie ein Werkzeug, das Ihr Repository bearbeitet, nicht freigeben möchten.
- syncanix integrate --kit
- Beides: die Erkennung, die Freigabe, die Änderungen an CSP und .env und die Deinstallation — aber der Code landet im Kit, und Ihr HTML bleibt unangetastet, weil das Kit das Widget aus dem Code heraus installiert. Sie fügen den einen Import hinzu.
npx syncanix integrate --kit