Ich habe claw-code nach Elixir portiert und dabei die Stärken von OTP und Multi-Node genutzt.
(github.com/jidohyun)Hallo.
In letzter Zeit experimentiere ich damit, claw-code von instructkr / ultraworkers (https://github.com/ultraworkers/claw-code) nach Elixir zu portieren.
Statt es einfach 1:1 zu übertragen,
wollte ich sehen, wie ein Projekt dieser Art mit Agent-/Control-Plane-Charakter aussehen würde, wenn man es wirklich im Elixir-Stil aufbaut.
Dabei wollte ich insbesondere die folgenden Stärken von Elixir / BEAM aktiv nutzen:
- OTP supervision
- long-running process
- daemon-first runtime
- multi-node / distributed BEAM routing
- recovery-oriented control plane
Deshalb lag der Fokus nicht darauf, einfach nur Befehle zu portieren,
sondern stärker auf den folgenden Aspekten:
- supervised session / workflow process
- daemon-aware routing
- cluster ownership tracking
- leichtgewichtige persistence / recovery auf Basis von DETS
- failover / recovery-Tests auf Basis verbundener Nodes
Das Ergebnis habe ich derzeit unter dem Namen Beamwarden zusammengestellt:
https://github.com/jidohyun/beamwarden
Es ist weniger ein fertiges Produkt
als vielmehr ein Projekt, das die Frage experimentell untersucht:
„Wie würde es aussehen, wenn man eine solche Agent-Runtime-/Control-Plane-Struktur auf Basis von OTP und Multi-Node neu aufbaut?“
Falls jemand Interesse hat, würde mich besonders Feedback zu den folgenden Punkten freuen:
- ob die OTP boundary / supervision-Struktur Elixir-typisch wirkt
- ob die Richtung bei multi-node routing / failover sinnvoll ist
- ob es unnötig komplexe Teile gibt
- wie man an ein solches System herangehen würde, wenn man es Elixir-native bauen möchte
Sowohl Feedback als auch Kritik sind willkommen.
3 Kommentare
Als Student scheint er ein „Experiment zum Portieren nach Elixir“ zu machen. Je mehr Versuche man unternimmt, desto besser.
In einer Zeit, in der es von JavaScript/Node oder Python nur so wimmelt, ist es erfrischend, es mit Elixir zu versuchen.
Ich erinnere mich daran, wie tief beeindruckt ich war, als ich vor langer Zeit zum ersten Mal mit Erlang in Berührung kam.
Intellektuelle Neugier ist gut, aber es ist beschämend, geistige Eigentumsrechte einfach zu ignorieren. Wie Kian84 sagt: Ich gebe dir genau 2 Jahre. Ich wollte das gar nicht sehen, aber es ist mein Fehler, dass ich aus Unwissenheit reingeklickt und es gesehen habe. Puh
Ziemlich peinlich, oder ... wenn das auch eine Fähigkeit ist, dann ist es eben eine Fähigkeit ...