discord fällt ja immer mal wieder negativ auf. mal mit datenverlust, dann mit irgendwelche altersprüfungen und im alltag nervt es mit werbung fürs eigene abo (nitro). früher hatte ich immer teamspeak (closed source) oder mumble (minimalistisch) im einsatz. dann kam discord und hat weil es gut war einfach mal alles übernommen. jahrelang war da keine alternative in sicht, für was auch, lief ja bis auf etwas datenverlust. und das war zu dem zeitpunkt nichts besonderes mehr. dann kam im januar/februar 2026 die altersprüfung bei discord. heise.de/news/Discord-fuehrt-eine-Alterspruefung-weltweit-ein heise.de/news/Discord-Gesichtsscan-oder-Ausweispflicht-nur-in-Ausnahmefaellen-noetig heise.de/news/Nach-Nutzerprotesten-Discord-distanziert-sich-von-Partner-zur-Altersueberpruefung und noch was zu nitro
also ging die suche los nach einer alternative. es gab eine handvoll was irgendwie als alternativen funktionieren könnte. hatte ich mir damals aber nicht notiert. ergebnis war https://fluxer.app. selfhosting fähig ist ja immer ein pluspunkt. war damals aber noch sehr kompliziert, aber ich dachte mir: mit mehr verbreitung gibt es irgendwann container-deployment. gibt es mittlerweile. zurück zum projekt. gamingonlinux.com hatte sehr früh eine fluxer-instanz. und ich war mit dabei zum gucken :) grundfunktionen haben alle funktioniert, anfangs noch etwas probleme mit voice/video-calls. rest war erstmal benutzbar.
dann kam irgendwann openclaw ins spiel. da gibt es wirklich viele konnektoren. alles mögliche an messenger. discord war das einfachste. also hab ich das genommen. aber ich hatte schon im hinterkopf dass fluxer, irgendwann inklusive selfhosting, der viel spannendere kandidat dafür ist. hier kann man bisschen openclaw geschicht einfügen. im blog gibt es mehrere beiträge zu. dann ging die suche los. es muss doch etwas geben. gefunden habe ich dieses projekt: https://github.com/hutchisr/openclaw-fluxer-extension
zum testen gut, aber mir war klar dass ich bald ein plugin pflegen muss. was auch spannend war, es war klar das wird vibecoding-slop. für so ein privates plugin aber durchaus ok. mit goose und opencode hatte ich schon bisschen rumprobiert, aber jetzt war es an der zeit mal ein ordentliches setup zu machen. soweit alles vorbereitet und dann ging das projekt los:
2026-08-20 @discordjs/core
ursprüngliche Setup-Route des Projekts dokumentiert — die Basis vor dem großen Umzug (Rebuild von plugin.json-Schema, DM-Pairing (paired), First Launch am lokalen Gateway)
Security-Audit-Runde (Aug 2026)
SSRF-Guard (isSafeAttachmentUrl) für Inbound-Attachment-URLs (Loopback/Private-Network-Reject)
Path-Traversal-Sandbox (loadOutboundMediaFromUrl) für Outbound-Media (nur erlaubte Root-Pfade)
escapeRegExp gegen Regex-Injection bei selfUserId-Matching
2026-08-29: @discordjs → @fluxerjs (nativer SDK-Wechsel) Kompletter SDK-Refaktor: 3 @discordjs/*-Pakete → 1 @fluxerjs/core (Fluxer-eigenes SDK) gateway.ts 440 Zeilen → 290, rest.ts 159 → 21 (nur noch probeBot) Code-Review-Runde P0–P6: Client-Singleton, Memory-Leak-Fix (typing interval), Security-Fixes rausgetragen Security-Audit #2: 4 kritische Befunde, alle behoben; @fluxerjs-Tree 0 CVEs
2026-08-30: Features + Install-Disziplin Phase 1: Prefix-Commands (!ping, !help), useEmbeds, suppressReplyPing, ackReaction Phase 2: Mention-Handling pro Channel (guilds..requireMention, 8 Testfälle) Install-Flow-Hygiene: npm pack + files-Whitelist — von 399 MB Blindkopie auf 5.5 MB sauberes managed npm project Hot-Reload entdeckt: Config-Änderungen starten den Channel automatisch (~5 s), kein Gateway-Restart nötig Setup-Entry-Shape-Fix: defineSetupPluginEntry beendet die “missing register/activate”-Fehler in openclaw doctor
2026-09-04: Erstes Core-Update (2026.6.34 → 2026.6.35) Lernkurve: private npm-Specs via Updater → vorsorgliche Plugin-Disable (Fix: openclaw plugins enable fluxer + Restart) Hinweis-Grube umgangen: der x-opencode-session-Header-Fluss wurde ausgeschlossen — Plugin-Traffic läuft nur gegen api.fluxer.app (kein LLM-Traffic, Sonderzwecke openclaw Core)
2026-09-10: Upgrade @fluxerjs v2.2.0 → v3.0.0 (Breaking-Changes: nur 1 Zeile — content_type → contentType) — Quickwins eingebaut: client.uptime + client.ws.ping im !ping-Command, Domain Wrapper (channel.send) + AttachmentBuilder für den Outbound-Media-Pfad API-Quellen-Routine (MAINTENANCE.md) + scripts/pre-update.sh: SDK-Outdated-Check + sha256-Hash-Drift-Check auf den 3 Schlüsseldokus
2026-09-18: Große OpenClaw-Runde (2026.9.4) — Plugin v0.3.0 Registry-Problem nach User-Migration → frische Installation mit dem neuen Capability-Consent-Gate (—accept-capabilities nötig) Dev-SDK exakt auf Runtime-Version gepinnt (extended-stable-npm-Tag liefert sonst zu wenig) Migration-Punkte aus den Notes abgearbeitet: root-SDK-Import ✅, Media auf resolveOutboundAttachmentFromUrl (statt untypisiertem Subpath), Inbound-Media auf Facts-only (toInboundMediaFacts) Versionsbump auf 0.3.0 + Live-Verifikation (Bild-Post → Pfad + Dateiname erkannt)
2026-09-20: TS-Refactor – v0.3.1 Phase 1–3: Typen, Media-Extraktion, 27→30 Tests) + die Security-Audit- fixes + Update-Vorbereitung auf OpenClaw 2026.9.6 / SDK 3.1.0 (devDep-Bump, compat.pluginApi, package.json-Anpassungen) — erster Deploy nach dem OpenClaw-Update
2026-09-27: Secret-Store – v0.3.2 0.3.2 = Secret-Store-Contract (secret-contract-api.ts, SecretRef-Schema im Manifest) + 50-MiB-Schema-Anhebung — zweiter Deploy, danach SecretRef-Migration ausgeführt
fluxer-api und sdk werden aktiv entwickelt, openclaw genauso. es ist immer etwas vorbereitung notwendig vor einem update, auf beiden seiten. jetzt fühle ich mich wie so ein kleiner entwickler hehe es fehlen noch 2 für mich wichtige punkte um den wechseln von discord zu fluxer zu machen: – mobile-app – slashcommands
die mobile-app für mich, die pwa ist nett, aber kein background-sync und die slashcommands für openclaw, ohne ist es remote kaum zu bedienen. es hätte noch die alternative von !textcommands gegeben, aber nachdem /slashcommand schon in entwicklung ist, übe ich mich einfach etwas in geduld und spare mir die zusätzliche arbeit (und tokens)
kurze info opencode-setup: ponytail-plugin, code-review und security-check-skill, glm-5.3-flash, opencode-web als interface, info austausch mit openclaw über markdown-files
#wiulinuslog #openclaw #fluxer #fluxerplugin #vibecoding #opencode